Productive and happy teams are good for business. Development Teams are one of the most expensive investments for most businesses and it makes sense to ensure that this investment is effective. However, developer productivity is difficult to understand, let alone manage. The traditional productivity metrics in software development ignore the complex and nuanced nature of this topic, resulting in gross and unhelpful simplifications. Needless to say, measures such as lines of code, and story points are fraught with issues.
The work undertaken by The DevOps Research and Assessment (DORA) organisation has been at the forefront of creating a more nuanced understanding of developer productivity metrics. More recent work on the SPACE framework has further progressed this understanding.
A lot has been said about the 4 Key metrics from DORA, popularised by the excellent Accelerate book and discussed in a number of articles by Codurance thought-leaders. We will focus on SPACE for a more refined view of productivity metrics in software development.
SPACE is a framework proposed in a paper by Nicole Forsgren at GitHub, Margaret-Anne Storey at the University of Victoria plus Chandra Maddila, Thomas Zimmermann, Brian Houck and Jenna Butler at Microsoft Research. You can read the full paper (here)
SPACE is an acronym that stands for Satisfaction and well-being, Performance, Activity, Communication and collaboration, and Efficiency and flow. Each component of SPACE is crucial for a comprehensive view of productivity and it is important to look at them as a whole.
This aspect focuses on the happiness, job satisfaction, and overall well-being of developers. It's based on the understanding that a satisfied and mentally healthy developer is more productive. Surveys and feedback are commonly used to assess this metric. Common Satisfaction and Well-being metrics include:
Performance is about the effectiveness and outcomes of development work. This includes the quality of the code, the functionality of the software, and how well it meets user needs. The Change fail rate, Time to restore service, and aspects of Deployment Frequency (i.e. deployments resulting in new features) from DORA fall under this category. A more comprehensive list includes:
This metric looks at the volume and type of activity performed by developers. Activity metrics help in understanding work patterns and identifying bottlenecks. Deployment Frequency from DORA, when purely tracking deployments would fall into this category. Other metrics include:
This part assesses how well team members communicate and work together. It includes metrics related to collaboration tools, frequency and quality of communication, and the effectiveness of team meetings. Good communication and collaboration are vital for a productive team environment. The following may be used to assess this area:
Efficiency relates to how effectively resources are used to achieve goals, while flow refers to the state of being deeply engaged and fully focused on work without interruptions. This part of SPACE measures things like time spent on different tasks, the ease of entering a state of flow, and how well the work environment supports efficient and uninterrupted work.
Collecting and analysing these productivity metrics in software development can offer invaluable insights into the productivity and health of a development team. It's important to note that the relevance and applicability of these metrics may vary depending on the organisation's size, structure, and nature of work. Moreover, a balanced approach is needed to ensure that metrics are used to support and improve developer experience, not just for performance tracking.
Book our Software Quality Assessment to measure your own organisation’s performance using empirical data.