Added citation to waste.

This commit is contained in:
Andy Ko 2017-06-13 17:33:14 -07:00
parent 31c5ecb5cf
commit 91842dd0f1

View file

@ -40,6 +40,22 @@
<p>Aside from individual and team factors, productivity is also influenced by the particular features of a project's code and how the project is managed (<a href="#vosburgh">Vosburgh et al. 1984</a>, <a href="#demarco">DeMarco & Lister 1985</a>). In fact, these might actually be the <em>biggest</em> factors in determining developer productivity. This means that even a developer that is highly productive individually cannot rescue a team that is poorly structured working on poorly architected code. This might be why highly productive developers are so difficult to recruit to poorly managed teams.</p>
<p>A different way to think about productivity is to consider it from a "waste" perspective, in which waste is defined as any activity that does not contribute to a product's value to users or customers. Sedano et al. investigated this view across two years and eight software development projects in a software development consultancy (<a href="#sedano">Sedano et al. 2017</a>), contributing a taxonomy of waste:</p>
<ul>
<li><strong>Building the wrong feature or product</strong>. The cost of building a feature or product that does not address user or business needs.</li>
<li><strong>Mismanaging the backlog</strong>. The cost of duplicating work, expediting lower value user features, or delaying nec- essary bug fixes.</li>
<li><strong>Rework</strong>. The cost of altering delivered work that should have been done correctly but was not.</li>
<li><strong>Unnecessarily complex solutions</strong>. The cost of creating a more complicated solution than necessary, a missed opportu- nity to simplify features, user interface, or code.</li>
<li><strong>Extraneous cognitive load</strong>. The costs of unneeded expenditure of mental energy, such as poorly written code, context switching, confusing APIs, or technical debt. </li>
<li><strong>Psychological distress</strong>. The costs of burdening the team with unhelpful stress arising from low morale, pace, or interpersonal conflict.</li>
<li><strong>Waiting/multitasking</strong>. The cost of idle time, often hidden by multi-tasking, due to slow tests, missing information, or context switching.</li>
<li><strong>Knowledge loss</strong>. The cost of re-acquiring information that the team once knew.</li>
<li><strong>Ineffective communication</strong>. The cost of incomplete, incorrect, mislead- ing, inefficient, or absent communication.</li>
</ul>
<p>One could imagine using these concepts to refine processes and practices in a team, helping both developers and managers be more aware of sources of waste that harm productivity.</p>
<center class="lead"><a href="quality.html">Next chapter: Quality</a></center>
<h2>Further reading</h2>
@ -61,6 +77,7 @@
<p id="mamykina">Mamykina, L., Manoim, B., Mittal, M., Hripcsak, G., & Hartmann, B. (2011, May). <a href="http://dl.acm.org/citation.cfm?id=1979366" target="_blank">Design lessons from the fastest q&a site in the west</a>. In Proceedings of the SIGCHI conference on Human factors in computing systems (pp. 2857-2866).</p>
<p id="meneely">Andrew Meneely, Pete Rotella, and Laurie Williams. 2011. <a href="http://dx.doi.org/10.1145/2025113.2025128" target="_blank">Does adding manpower also affect quality? An empirical, longitudinal analysis</a>. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering (ESEC/FSE '11). ACM, New York, NY, USA, 81-90.</p>
<p id="meyer">Andr&eacute N. Meyer, Thomas Fritz, Gail C. Murphy, and Thomas Zimmermann. 2014. <a href="http://dx.doi.org/10.1145/2635868.2635892" target="_blank">Software developers' perceptions of productivity</a>. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014). ACM, New York, NY, USA, 19-29.</p>
<p id="sedano">Sedano, T., Ralph, P., & Péraire, C. (2017, May). <a href="http://dl.acm.org/citation.cfm?id=3097385">Software development waste</a>. In Proceedings of the 39th International Conference on Software Engineering (pp. 130-140). IEEE Press.</p>
<p id="singer">Leif Singer, Fernando Figueira Filho, and Margaret-Anne Storey. 2014. <a href="http://dx.doi.org/10.1145/2568225.2568305" target="_blank">Software engineering at the speed of light: how developers stay current using twitter</a>. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). ACM, New York, NY, USA, 211-221.</p>
<p id="stylos">Jeffrey Stylos and Brad A. Myers. 2008. <a href="http://dx.doi.org/10.1145/1453101.1453117">The implications of method placement on API learnability</a>. In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering (SIGSOFT '08/FSE-16). ACM, New York, NY, USA, 105-112.</p>
<p id="vosburgh">J. Vosburgh, B. Curtis, R. Wolverton, B. Albert, H. Malec, S. Hoben, and Y. Liu. 1984. <a href="http://dl.acm.org/citation.cfm?id=801963" target="_blank">Productivity factors and programming environments</a>. In Proceedings of the 7th international conference on Software engineering (ICSE '84). IEEE Press, Piscataway, NJ, USA, 143-152.</p>