Developed by Microsoft and GitHub and embraced by Xpirit, the new SPACE framework provides guidance to an industry challenge: measuring developer productivity. Why is a greater understanding of what affects software developers’ productivity levels needed? Marcel de Vries, CTO of Xpirit, elaborates on the framework’s usability and shares his view on productivity.
Short on time? Download this article as PDF.
Simply put, productivity indicates how efficiently you produce, usually measured by output. But is it that simple? In software development, this way of thinking has many pitfalls. For a long time, it been easy to measure productivity correctly. Does the number of tickets, lines of code, or deployments per day provide a good indication of how productive an individual is? Marcel doesn’t think so: “If you look at how much code was written, that simply reflects how busy someone was, but it says nothing about the usefulness and quality of what was delivered. If someone solves a problem in ten lines instead of twenty, that can be considered as a more efficient solution, but is that really the case? And more importantly, you get what you measure. When people know they are measured by the number of deployments, they will deploy more often, but what do they deploy and does it solve the business need?”
Developer productivity is an elusive concept. You cannot think in terms of numbers. The only things you know, without diving in deep, are if the software solves the problem it’s supposed to, and the time it took to get from idea to solution.
The importance of gaining insight
The reason that developer productivity is receiving more attention is twofold. On the one hand, the demand for software is greater than the supply. On the other hand, strict compliance and security requirements negatively impact productivity. To overcome these challenges, organizations require insight into the factors that affect productivity. Marcel adds: “The industry needs to change too. Instead of seeing software developers as an extra set of hands, I would like organizations to realize what we can contribute to the envisioning of business solutions. However, we also have a part in that. Developers often portray themselves as nerds who can’t communicate. An image that doesn’t fit the industry’s current state and does our profession a disservice. We also need to change the stereotype. If you, as a developer, struggle to communicate, it’s up to you to learn.”
Taking a holistic approach
We cannot measure productivity with one single metric. The SPACE framework takes a much-needed holistic approach by using five factors: satisfaction, performance, activity, communication, and efficiency. Marcel elaborates: “Unlike DORA, which focuses on organizational indicators that show the success of DevOps, SPACE enables us to look at productivity from multiple dimensions that in relationship to each other can help us decode the actual productivity factors in your business context.”
The first factor that SPACE addresses is satisfaction. Marcel elaborates: “Delivering software is a creative profession that requires a particular mindset. People must feel good about themselves, both in business and in life, to deliver. That’s why, at Xpirit, we operate ‘people first.’ We pay attention to each others’ wellbeing, learn from each other, voice our appreciation, and make sure we all feel safe in a group.”
The second factor is performance. Instead of using this as a standalone metric, SPACE relates it to the other factors to produce a balanced outcome. Marcel: “The risk of measuring performance is that by measuring, you are already influencing productivity, which brings us back to the importance of making people feel safe. Additionally, you need to understand what you are measuring and if this is all-encompassing.”
SPACE also focuses on communications and collaboration. According to Marcel, leadership has a significant role to play in this: “Leaders need to stimulate concepts like pair programming, mob programming and start to create stable teams that get work done. We also need to move away from a traditional project-based approach where you create a temporary organization that the moment it becomes productive is destroyed since the project is ended.” On communication, Marcel laughingly says: “When software developers are asked to improve communication, our default is to build a new app or platform. That is unfortunately inherent to our profession, but of course not what we need.”
Finding your flow
The pandemic helped us see the benefits of working online, such as more equality and less travel. But, it also introduced us to a new downside. The threshold to disturb someone while working lowered, making it more challenging to stay in your flow. Marcel believes we have to learn to switch off and go into focus mode. “It’s ok not to answer your phone because you are busy writing code and stay in your flow! It is commonly known that task switching is the killer of productivity. To get back in your flow can take up to hours!”
When asked how to get into your flow, Marcel jokingly answers: “According to the Ballmer peak, a blood alcohol concentration between 0.129 and 0.138 % confers superhuman programming ability.” He continues: “Being in the flow is different for everyone. From listening to music while coding, isolating yourself completely, or finding inspiration in an article. It’s a unique state of mind in which your thoughts become code. You forget about eating, drinking, and time. All that matters is writing amazing code. If this only happens once every month, overall productivity might be considered low. Nonetheless, the quality of work you produce in your flow is unmatchable.”
Xpirit and the SPACE framework
For a concluding reflection on productivity, Marcel cites his experience: “In our everyday work with customers, we come across many silos, which is not surprising, since operational excellence dictates dividing your business into departments. But, by doing that, you create delays in the process because you interrupt the flow. You can overcome that with Agile and DevOps. If you look at the measurements in the SPACE framework you can see that those ways of work can contribute significantly to higher productivity. The SPACE framework gives us an even better understanding of what factors increase or decrease productivity in your business. We use the framework to measure productivity, create dashboards and generate insights. We then observe your way of working, identify the indicators that influence productivity, and take an active, targeted approach to improve.”
We’ll elaborate on the SPACE framework in a series of blogposts, each covering one of the five dimensions during the coming weeks.
SPACE is the acronym for Satisfaction & well-being, Performance, Activity, Communication and collaboration, and Efficiency and flow. Each of these dimensions is key to understanding and measuring productivity, according to the researchers. For each of them, the framework suggests a number of distinct metrics that apply to different levels, including individual-, team- or group-, and system-level. Interestingly, SPACE does not advocate for using all of the metrics at once, rather to carefully select a reduced set of metrics that span across all three levels and capture different productivity dimensions. The full article outlining the SPACE framework has been published here.