Photo by Lala Azizli on Unsplash

Long Read


Software Makers & Society

by Nuno Simaria,
Chief Technologist at Slow Growth
04 Mar 2022


10 mins reading time

The last decades saw young, technology-enabled companies beat huge, traditional enterprises across all market sectors1. We saw these companies create whole new business categories2 out of (apparent) thin air. The phenomenon was so remarkable, a whole new category for how fast companies can grow was created: hypergrowth3.

Long-standing enterprises, capable of adapting, rushed to embrace technology to inject growth into an otherwise stagnant, potentially doomed, trajectory4. Today, all companies are, or have become, ‘tech’ companies.

Success now belongs to those most efficient and effective in leveraging technology, in particular software, to generate value. So we hire dozens, hundreds, thousands of software developers, designers, product owners, data scientists and other newly minted job names – software makers – in the hopes it will get us there.


§


As software makers, our understanding of how to build great software is flawed at best. We hang on to old ways of working. Being creatures of habits, we try to do it the same way we would if we were to build something like a house or a bridge. We call it ‘waterfall project management’ and quickly fall out of love with it.

Now, enlightened, we put effort into rituals and ceremonies, hoping that its repetition and excellence of execution will convince the masters of software delivery to provide for a bug-free, stable release. We call it ‘agile’ and feel pretty good about ourselves.

And then, we take a radical and opinionated approach and obsess about that one methodology as the holy grail of reliable and predictable software development.

The sad reality is, that to this day, and despite all of its kingmaker potential, we, like the organisations we work for, are confused about how to properly and confidently leverage technology for value creation.

If, until now, we have done a good job of developing our crafts – the same cannot be said about how well we have understood the link between the output of our craftsmanship and the end value we generate for customers, companies, community and society. Somehow, despite the evidence around us, it is not clear how to replicate the conditions that are core to the high-performing delivery of software.

What high performance looks like

We’ve been doing this for a while now. Long enough for some of the best5 and6 brightest7 of8 us9 to reflect on their experiences and publish their learnings.

Still, the discovery work is ongoing and will be so for a long time. We keep developing our understanding of how to best operate technology-enabled organisations to predictably and sustainably drive hypergrowth.

So it may be worth for a moment to pause and profile the high performing tech organisation of today, as described by current research and literature – and grossly generalising, for the sake of briefness – and observe what learnings emerge.

› A generative culture

Research10 has gone far into making tangible those aspects of company culture that are shared by high-performing organisations.

Often these companies operate in small, cross-functional teams with end-to-end ownership, highly autonomous in their daily operations, but also highly aligned to shared and understood business goals. The generative type of organisational culture as outlined by Westrum11 provides a broad but actionable description of the types of corporate culture we should be striving for.

› High impact

Yearly revenue is a valuable metric for shareholders to keep track of. However, Software Makers, this isn’t an actionable metric and does nothing to inform our autonomous decision making required for high performance. Tracking impact can be as easy as tracking company revenue but that will seldomly fit a modern organisation’s needs.

High performing organisations are obsessively disciplined about their metrics, usually choosing a specific one – a ‘North Star Metric’12 – to track overall business performance. Teams then break this metric down to its smallest components in detailed KPI trees13 to understand the contribution of product changes to the company’s bottom line or customer satisfaction. Detailed metrics are tracked in real-time and used to shape and improve products. The goal is to remove subjectivity from decision making and objectively increase the value of the product for customers.

High performers also put great effort into sustaining a steep learning curve for every aspect of its business, making sure to generate the highest number of actionable learnings in the least amount of time. Among other techniques, tracking (customers, employees and operations), experimentation (A/B testing, smoke tests, personalisation) and data-mining play a huge role.

To sustain long-term growth momentum, they leverage these accelerated learnings as competitive moat to expand into new or adjacent businesses, eventually beating all competitors.

› High efficiency

Traditional efficiency metrics aren’t appropriate for high-performing tech organisations. A typical cost-efficient approach is inadequate because true value creation in technology development requires generous up-front investments.

As a community of practice, it took us a while to identify an appropriate model but experience and research keeps pointing to what has become known as “DORA” metrics14 as being strong indicators of high efficiency in software development contexts.

These metrics are far from providing an in-depth look into organisational efficiency but they offer actionable insights and can be easily complemented with further data. The most valuable thing about them is that they are a valid measurement scale that we can use to compare experiences across organisations. This allows us to narrow down what good work looks like and if best practices are, indeed, best.

The role of the Software Maker

We now know enough to put aside some, if not a lot, of the practices we still find ourselves falling into every day. As technologists, we remain attracted to academic discussions that live far from the levers we should be pushing and pulling.

We pit best practices against each other and lose ourselves in academic arguments, while clear, trackable, actionable points of feedback for our practices remain ignored.

› Within our organisations

We now know better, so we can do better. With a new understanding of the rough requirements for high performance, mastering our craft and becoming a key contributor to technology organisations remains an ambitious, but now attainable, goal.

To achieve a culture conducive to high performance, we must take the lead in implementing it across the whole organisation, by careful and empathetic onboarding of non-practitioners. Technologists can no longer set themselves aside and demand from their employer to manufacture a productive culture out of the blue, especially when it’s working habits lie so far from traditional managerial practices. It falls on us, Software Makers, to put that culture in place.

To drive impact, i.e. value added to the customer, we can focus on those tasks that will more likely contribute to moving the company’s performance metrics in the right direction. For that, it is important that we understand how technical work is connected to its end impact and vice-versa. A focus point still hard to find in technical discussions today.

And to remain efficient, organisations should keep changes as small as possible, deploy them fast and reliably, keep quality issues to a manageable baseline and fix issues early. This is the essence behind the DORA metrics. It is up to each one to discover its optimal way to achieve this.

› Within the technologist community

We can now go back to our community and have an enlightened discussion about true paths to high performance. We can comfortably set aside futile discussions like ‘Remote vs. Office’, ‘TDD vs. BDD’, ‘Monoliths vs. Micro-services’ or ‘Scrum vs. Kanban’, and focus on discovering together what truly drives high performance.

With the humility of being proven wrong, it’s time to analyse our practices and tools in great detail – and high scepticism – to understand if and how they are actual contributors to high performance.

For example, can state with confidence that it is as important to break down sizeable work into many small deliverables15 as it is to understand software design patterns16.

› Within society

Technology drives company effectiveness. That is to say, the impact companies have in society is mostly driven by how they leverage technology. Which puts us, Software Makers, as executive agents of company impact, whether positive or detrimental to society, the species and the planet.

We can no longer sit proud of our technical achievements and – under the ‘I was just working on my tickets’ absolution – decouple them from their negative impact on those around us.

Ours are the hands shaping the future with our brains fully in command. Ours is the responsibility of ensuring our backlogs are as value adding for our companies as they are for society as a whole.

The extent to which technology drives company effectiveness is so well understood that shareholders compensate us – technologists – disproportionately better compared to our non-techie colleagues. The reason: Our technology-taming skills add to their companies a disproportionate amount of value compared to other skills.

And so, it is also ours the responsibility of welcoming and mentoring others into successful careers as technologists. Millions of people around the world are looking for a financial lifeline and it is disheartening to learn about how few of us donate our time to teach their skills to others.

We cry for diversity and representation in our field but are not putting in the field work to make it happen17. Our talent pipelines are depleted, while millions look for a job.

We now know better, so we must do better.

The path forward

If there is one thing we software makers do well is to get together and solve problems. The coming decades are filled with challenges. Climate change, goods shortages and mass migration are major hurdles that can only possibly be overcome together as a species.

We need to look beyond the screen into the real impact that our technology has in society. We get to decide on what backlogs we work. We decide if the hypergrowth we enable blindly chases maximisation of profits or funds truly sustainable business models where impact is tracked across company, customers, communities and society.

Notes

  1. Like when Netflix crushed Blockbuster

  2. For instance, when Amazon launched AWS

  3. Term coined in Managing Hypergrowth

  4. Like Disney did when they launched Disney+

  5. Nicole Forsgren et al in Accelerate – The Science of Lean Software and DevOps

  6. David Farley in Continuous Delivery

  7. Azeem Azhar in The Exponential Age

  8. Matthew Skelton and Manuel Pais in Team Topologies

  9. And so many others! 

  10. Accelerate – The Science of Lean Software and DevOps is a good starting point. 

  11. Google has more to say about it here

  12. Mixpanel article on the North Star Metric. 

  13. About KPI trees

  14. About DORA metrics

  15. Arguably the least popular topic on your local meet-up and rarely taught on Computer Science courses. 

  16. Arguably the most popular topic on your local meet-up; highly academic. 

  17. If you do want to put in the field work, and live in Berlin, ReDI - School of Digital Integration is a great place to start. 


𑗕