Paid Subscribers Only: Quality vs speed in software development: insights for CEOs
We’ve long thought software dev a trade-off of quality vs speed. This has been said in many ways, e.g. ‘good, fast, cheap: pick any two’. On shallow inspection, it seems sensible. Reality differs.
Hi everyone,
Thank you for reading Great CTOs Focus on Outcomes. I publish weekly and have an archive of almost 150 posts, each packed with valuable insights on various topics relevant to CTOs and the issues they face, distilled from my career experience.
I strive to make each post a helpful resource on the topic it focuses on so that when a CTO has a need, they can reference an atomic nugget of insight. To this end, I regularly revisit and refine posts, ensuring you always receive the best and most up-to-date information with the most clarity.
Thank you for supporting Great CTO. This post is republished here conveniently with all the other Great CTO posts. The version here has had further edits for clarity, and, as with all my posts, I revisit them from time to time for further improvement.
This post was originally published on the HYPR blog. Feel free to share this link with people who may benefit from this post. Or consider providing them with all our great content:
We’ve long considered software development a trade-off of quality vs. speed. This has been said in many ways, e.g., ‘good, fast, cheap: pick any two’. On shallow inspection, it seems sensible. Reality differs.
Producing higher-quality items takes more time. We aim to satisfy our customers more quickly, so reducing quality is seen as a way to deliver faster. It's tempting for all of us to translate how we manage our personal task list and apply it to how software is created. We can fall into the trap of thinking it’s similar to how we tick items off our personal to-do list. Such an assumption is understandable; we look for patterns elsewhere to understand what is in front of us. Sometimes, depending on how far we are away from the work in question, our assumptions based on the wrong metaphor may lead us far astray from the right approach to achieving the desired result.
We often underestimate that most of the time our personal tasks have minimal consequences and dependencies compared to decisions made in software development. Due to this misjudgment, we might tempt ourselves to view software development in the same light: software quality is merely about prioritising the correct set of tasks and managing them to completion.
Worse still, when we attempt to ‘scale up’ the mentality of managing a personal to-do list as a software product development strategy method, we create an artificial separation between quality aspects and the necessity for that quality. The urge to manage, categorise, and organise quality-related tasks into manageable units, such as projects, sprints, backlogs, and other containers we can prioritise, adds friction to resolving issues and making the necessary investments that uphold good quality. The number of times I’ve heard Executives call for ‘proper project management’ as an anathema for software quality is innumerable. And there’s been an inverse relationship between these calls and resulting software quality even when the project management has been at its most proper!
The difference is that software development results from numerous choices each developer makes every hour, every day. This has less to do with how we manage the shopping list and more similarity to other aspects of our lives—such as managing our health—a more complex interaction of exercise, diet, illnesses, environment, and many other factors contribute to our overall health. Our health is a function of a combination of factors, some outside our control and others within our control, best influenced by our habits, behaviours and what we prioritise.
We can begin to observe the effects of choices in simple versus complex scenarios. In the straightforward case, the trade-off is evident, and the consequences are immediate. In contrast, the consequences of decisions in the more complicated example are delayed and reliant on various factors. Poor decisions accumulate, leading to unhealthy habits, weight gain, or lack of fitness.
This post guides CEOs and other senior leaders of software-producing organisations. It explores the dynamics associated with creating and maintaining the appropriate level of software quality in an easy-to-digest, accessible format. Identify practical actions Executives can take to help support better software quality.
Keep reading with a 7-day free trial
Subscribe to Great CTO - Dedicated to helping CTOs thrive. to keep reading this post and get 7 days of free access to the full post archives.