The technology sector has always relied on hiring more people to grow. But earlier this year, Microsoft chairman and CEO Satya Nadella encouraged organisations to “do more with less”. It wasn’t long before the company announced thousands of layoffs.
Recessions have a way of focusing the mind on what you already have. For technology leaders trying to make budgets work, that’s a shift in mindset away from how to grow headcount towards how to grow the capacity of their people.
At the heart of this question is productivity. That’s never been an easy thing to measure when it comes to development teams. There are horror stories about companies rating performance using disproven metrics such as lines of code produced by each team member, introducing bug fix incentives (leading some developers to introduce and solve their own bugs to get paid), and investing in surveillance tools that monitor employee activity. ‘Productivity paranoia’ is not a new phenomenon.
Developer productivity is complex and nuanced. But a framework by Nicole Forsgren and her team at Microsoft Research takes a more holistic, human-centric approach to the issue. SPACE aims to capture the most important dimensions of developer productivity to help leaders better understand how their people and teams work. It’s framed around five pillars: satisfaction and wellbeing, performance, activity, communication and collaboration, efficiency and flow.
Here’s five actionable steps that use those principles to create growth:
1. Ask people how satisfied they are
The first metric of SPACE focuses on creating a healthy, team-oriented culture, and takes developer wellbeing into consideration. Software development has been found to be hypersensitive to developer’s mental state because it’s complex, attentive work. Yet burnout rates in the sector are at an all-time high following an unprecedented few years. Leaders need to take stock of how their teams are feeling, whether they have the tools and resources they need to get their work done, what’s annoying or getting in their way, and the level of workplace stress they feel under. You should then have a list of issues you can start to fix.
2. Shift your mindset to outcome, rather than output
Leaders should use measures around quality (reliability, absence of bugs and ongoing service health), alongside impact (customer satisfaction adoption and retention, cost reduction) to evaluate performance. Rather than counting lines of code, for example, they should check whether the code was written reliably and did what it was supposed to do. This shift in focus can benefit minority members of the team – research has found that women, for example, are more likely to be called on to do ‘thankless tasks’ that are not evaluated in the same way as revenue-generating projects. You may notice there are people playing a pivotal role in your team that can be supported to inspire more impact.
3. Quantify developer activity with caution
Much of software development is intangible. Coding has been likened to art, whereby there are many different ways to achieve the same outcome. Quantifiable metrics such as cycle time, number of bug fixes, and code reviews are not an accurate measure of productivity by themselves. But when used with caution, these numbers can form part of the bigger picture. That might include assessments around design and coding (volume of design documents and specs, work items, pull requests, code reviews); continuous integration and deployment (count of build, test, deployment/release, and infrastructure utilisation); and operational activity (count or volume of incidents and distribution based on their severity, on-call participation and incident mitigation).
4. Consider how the team works together
Effective teams rely on high transparency and awareness of team member activities and activity priorities. Diversity and inclusion is also important – diverse teams across all sectors perform better because they can brainstorm more effectively. Consider the discoverability of documentation and expertise within your team. How quickly is work assimilated, what’s the quality of the reviews like, and how long is spent onboarding new members of the team? Research suggests two-thirds of developers spend more than 30 minutes a day searching for answers or solutions, and one in four spend more than an hour each day. Make it easy for people to find what they’re looking for and productivity automatically goes up.
5. Track how often developers are being interrupted
Working in flow is the holy grail for creative people. But the ability to progress work with minimal interruptions depends on how well operations are coordinated inside and outside the team. GitHub’s latest survey found going from two to three meetings per day lowers the chances of developers making meaningful progress from 74% to 14%. Developers who average just one meeting per day have a 99% chance of doing high quality work. Leaders might want to consider scheduling any meetings at the start or end of the day, or assigning a set number of ‘no interruption’ days per week.
The tech sector is likely to face a turbulent few years because of the economic situation. But it is possible for scale-ups to be ahead of the curve by taking a more human-centric approach to productivity, and investing in their people. By identifying the gaps and obstacles that exist within a team, you can then take targeted action to upskill and empower those in your workforce. That’s beneficial for retention and fuels growth. Companies need good people that feel empowered to do their best work. Scale-ups that get that right will be unstoppable.
5 technologies to help SMEs remain agile amid economic crisis