Software Engineering

[Article] The SPACE of Developer Productivity: There's more to it than you think. (2021), Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, Jenna Butler, in Communications of the ACM, Vol. 64, No. 8, June 2021.

The article identifies the following myths with regards to software developers' productivity: Productivity is all about developer activity, Productivity is only about individual performance, One productivity metric can tell us everything, Productivity measures are useful only for managers, Productivity is only about engineering systems and developer tools.

The article proposes SPACE, a framework for understanding developer productivity: Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow. Example metrics for each element of this framework are given, at the levels of the individual, the team, and the system.

As the article states, the most important takeaway from exposing these myths is that productivity cannot be reduced to a single dimension (or metric). Also, the framework and the example metric could be used as great starting points for investigating productivity, for example, in retrospectives.

[Book] Refactoring: Improving the Design of Existing Code (2. Auflage, 2018), Martin Fowler.

[Article] Continuous Software Engineering: A Roadmap and Agenda (2015), Brian Fitzgerald, Klaas-Jan Stol, in Journal of Systems and Software, July 2015.

[Book] Explore It! Reduce Risk and Increase Confidence with Exploratory Testing (2013), Elisabeth Hendrickson.

[Book] Software Architecture in Practice, 3rd Edition (2012), Len Bass, Paul Clements, Rick Kazman.

[Book] Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives (2011), Nick Rozanski, Eoin Woods. See also the book's website Software Systems Architecture.

[Book] Making Software: What Really Works, and Why We Believe It (2010), Andy Oram, Greg Wilson.

[Book] Clean Code: A Handbook of Agile Software Craftsmanship (2008), Robert C. Martin.

[Book] Software Creativity 2.0 (2006), Robert L. Glass.

[Book] Working Effectively with Legacy Code (2004), Michael C. Feathers.

[Book] Domain-Driven Design: Tackling Complexity in the Heart of Software (2003), Evans Eric.

[Book] Facts and Fallacies of Software Engineering (2002), Robert L. Glass.

[Book] Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition (1995), Frederick Brooks Jr.