Fixed #44, citing Stack Overflow gender differences.

This commit is contained in:
Andy J. Ko 2019-04-02 13:52:43 -07:00 committed by GitHub
parent f3fe6aead1
commit 8b1d5b2e7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,7 +38,15 @@
<p>Communication isn't just about transmitting information; it's also about relationships and identity. For example, the dominant culture of many software engineering work environments&mdash;and even the <em>perceived</em> culture&mdash;is one that can deter many people from even pursuing careers in computer science. Modern work environments are still dominated by men, who speak loudly, out of turn, and disrespectfully, with <a href="https://www.susanjfowler.com/blog/2017/2/19/reflecting-on-one-very-strange-year-at-uber">some even bordering on sexual harassment</a>. Similarly, software developers often have to work with people in other domains such as artists, content developers, data scientists, design researchers, designers, electrical engineers, mechanical engineers, product planners, program managers, and service engineers. One study found that developers' cross-disciplinary collaborations with people in these other domains required open-mindedness about the input of others, proactively informing everyone about code-related constraints, and ultimately seeing the broader picture of how pieces from different disciplines fit together; when developers didn't do these things, collaborations failed, and therefore projects failed (<a href="#li">Li et al. 2017</a>). These are not the conditions for trusting, effective communication.</p>
<p>When communication is effective, it still takes time. One of the key strategies for reducing the amount of communication necessary is <em>knowledge sharing</em> tools, which broadly refers to any information system that stores facts that developers would normally have to retrieve from a person. By storing them in a database and making them easy to search, teams can avoid interruptions. The most common knowledge sharing tools in software teams are issue trackers, which are often at the center of communication not only between developers, but also with every other part of a software organization (<a href="#bertram">Bertram et al. 2010</a>). Community portals, such as GitHub pages or Slack teams, can also be effective ways of sharing documents and archiving decisions (<a href="#treudestory1">Treude & Storey 2011</a>). Perhaps the most popular knowledge sharing tool in software engineering today is <a href="https://stackoverflow.com">Stack Overflow</a>, which archives facts about programming language and API usage.</p>
<p>
When communication is effective, it still takes time.
One of the key strategies for reducing the amount of communication necessary is <em>knowledge sharing</em> tools, which broadly refers to any information system that stores facts that developers would normally have to retrieve from a person.
By storing them in a database and making them easy to search, teams can avoid interruptions.
The most common knowledge sharing tools in software teams are issue trackers, which are often at the center of communication not only between developers, but also with every other part of a software organization (<a href="#bertram">Bertram et al. 2010</a>).
Community portals, such as GitHub pages or Slack teams, can also be effective ways of sharing documents and archiving decisions (<a href="#treudestory1">Treude & Storey 2011</a>).
Perhaps the most popular knowledge sharing tool in software engineering today is <a href="https://stackoverflow.com">Stack Overflow</a>, which archives facts about programming language and API usage.
Such sites, while they can be great resources, have the same problems as many media, such as gender bias that prevent contributions from women from being rewarded as highly as contributions from men (<a href="#may">May et al. 2019</a>).
</p>
<p>Because all of this knowledge is so critical to progress, when developers leave an organization and haven't archived their knowledge somewhere, it can be quite disruptive to progress. Organizations often have single points of failure, in which a single developer may be critical to a team's ability to maintain and enhance a software product (<a href="#rigby">Rigby et al. 2016</a>). When newcomers join a team and lack the right knowledge, they introduce defects (<a href="#foucault">Foucault et al. 2015</a>). Some companies try to mitigate this by rotating developers between projects, &ldquo;cross-training&rdquo; them to ensure that the necessary knowledge to maintain a project is distributed across multiple engineers.</p>
@ -61,6 +69,7 @@
<p id="ko">Andrew J. Ko, Robert DeLine, and Gina Venolia. 2007. <a href="http://dx.doi.org/10.1109/ICSE.2007.45" target="_blank">Information Needs in Collocated Software Development Teams</a>. In Proceedings of the 29th international conference on Software Engineering (ICSE '07). IEEE Computer Society, Washington, DC, USA, 344-353.</p>
<p id="li">Li, P. L., Ko, A. J., & Begel, A. (2017, May). <a href="http://dl.acm.org/citation.cfm?id=3100319">Cross-disciplinary perspectives on collaborations with software engineers</a>. In Proceedings of the 10th International Workshop on Cooperative and Human Aspects of Software Engineering (pp. 2-8).</p>
<p id="mark">Mark, G., Gudith, D., & Klocke, U. (2008, April). <a href="http://dl.acm.org/citation.cfm?id=1357072" target="_blank">The cost of interrupted work: more speed and stress</a>. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems (pp. 107-110).</p>
<p id="may">May, A., Wachs, J., & Hannák, A. (2019). <a href="https://link.springer.com/article/10.1007/s10664-019-09685-x">Gender differences in participation and reward on Stack Overflow</a>. Empirical Software Engineering, 1-23.</p>
<p>Audris Mockus. 2010. <a href="http://doi.acm.org/10.1145/1882291.1882311" target="_blank">Organizational volatility and its effects on software defects</a>. In Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering (FSE '10). ACM, New York, NY, USA, 117-126.</p>
<p id="mockusherbsleb">Audris Mockus and James D. Herbsleb. 2002. <a href="http://dx.doi.org/10.1145/581339.581401" target="_blank">Expertise browser: a quantitative approach to identifying expertise</a>. In Proceedings of the 24th International Conference on Software Engineering (ICSE '02). ACM, New York, NY, USA, 503-512.</p>
<p id="perlow">Perlow, L. A. (1999). <a href="http://journals.sagepub.com/doi/abs/10.2307/2667031" target="_blank">The time famine: Toward a sociology of work time</a>. Administrative science quarterly, 44(1), 57-81.</p>