The speed vs quality debate is misinformed, as mature organizations know, investment in quality can lead to much quicker software development.
In the face of accelerated software development timelines to meet the growing demand for new features and capabilities, organizations are often forced to decide between quality and speed.
This rather simplistic choice, quality or speed, is one of the ways immature organizations are able to justify the pressure placed on dev teams to deliver a finished product, or as a way to not invest in quality as it would “slow down the development process”.
It turns out that investing in quality output does not harm speed, and mature organizations see quality as an enabler of faster development cycles. Instead of rushing to the finish line, organizations that invest in implementing solutions and automations from the get-go will see a higher return on investment in the long-term, as future projects receive that boost from previous cycles.
“Highly effective software development organizations build their culture around quality,” said software developer Floyd May. “Activities like automation, design improvement, retrospectives, education, transparency, and CQI reshape the relationship between quality and speed.”
Some consider quality to be the end result of a single project, for example, the client’s verdict or the amount of time spent fixing bugs. This is again a simplistic view of the software development cycle, and focused primarily on external factors like how the product performs at launch.
As said before, an organization that implements automation, governance and maintenance of its codebase will be able to develop at a much faster pace than one gunning it for the finish line in every cycle.
Google Cloud’s DevOps Research and Assessment (DORA) team has identified four key metrics that indicate performance in software development, called the Four Keys:
- Deployment Frequency – How often an organization reached production stage in development
- Lead Time for Changes – The time it takes for an organization to reach production
- Change Failure Rate – The percentage of failures during the production stage
- Time to Restore Service – The time it takes for an organization to recover from failure in production stage
Deployment Frequency and Lead Time for Changes measure velocity, while the other two measure stability. By measuring both and improving on them, organizations can achieve better business outcomes, according to DORA, which uses ‘Four Keys’ as guidelines to identify Elite, High, Medium and Low performing teams.
In its research, it found that Elite teams were twice as likely to meet performance goals.
DORA recently open sourced the Four Keys project, allowing organizations of all shapes and sizes to test out the method on their own teams and see the results.