Software quality vs speed of delivery

Are you stuck between a rock and a hard place?

Much has been written about the importance of software to the modern business. The watch-word is ‘digital’ and that translates to a need for compelling applications and services to help the organization compete and maintain operational efficiency. In the digital world, everything needs to be done fast and nothing is ever ‘finished’, at least in the traditional sense of the word.

Against this background, stakeholders don’t like waiting for new applications, features and enhancements. Delivery teams are therefore tempted, sometimes even pressurised, to prioritise speed over everything else. Something then has to give, and the danger is that software quality is the casualty of moving ever more quickly to keep up with escalating demands.

Of course, the irony is that cutting corners, e.g. by encouraging developers to rush and/or by reducing the level of testing, means the whole delivery pipeline actually slows down. A greater number of defects leads to an increase in the level of unplanned work, and an inescapable truth comes back to bite – it’s always more costly, time-consuming and disruptive to fix a problem than to prevent one.

If you feel your delivery team is spinning its wheels in this way – constantly revving at high speed but struggling to deliver actual working solutions quickly and sustainably enough – then you are not alone. You would also be in good company if you were maintaining a manageable pace, but getting flak from the business for taking the time you need to maintain quality.

The good news is that it needn’t be like this.

A recent global survey of 923 senior development and QA staff provided some insights into some of the things you can do to drive increased speed of delivery without sacrificing quality. While participants in the study were generally at the more advanced end of the spectrum, we still had a good mix between those who were relaxed about meeting both speed and quality expectations, and others that were uneasy about their ability to keep stakeholders and users happy.

When we dug more deeply into the data, we were able to get a feel for the kinds of things that set the two groups apart. A good example is the way in which our relaxed group tended to be more up to speed on some of the latest ideas and approaches.

The focus on continuous delivery makes absolute sense: a more iterative approach tends to enhance speed, quality and efficiency across the board. And while we haven’t shown it here, our relaxed group were much more likely to be implementing continuous delivery in practice.

And the same is true of the emerging concept of continuous testing, which was defined in the study as: “The embedding of testing as a fundamental and ongoing aspect of every activity throughout the software delivery cycle”. In many respects, this builds upon core continuous delivery concepts, but in practical terms, it’s hard to do without the right tooling and automation in place. And here’s where we found some other big differences between our two groups.

Notice in particular the emphasis our relaxed group puts on the efficient and effective modelling of business requirements. If you can drive testing activity from the outset, automating as much as possible throughout the whole life-cycle (including resource provisioning and test data management), then you are not only moving quickly, but you have the right checks and balances embedded in everything you do through to releasing a build.

And with the right policy-driven automation in place, it’s much easier to ‘shift-left’ testing activity and spread the load between teams. Those who are more relaxed about meeting stakeholder expectations have moved on from relying solely on quality teams to deal with testing activity. Modern tools allow developers to participate in the quality process too, without them being distracted or slowed down from what they care about the most, i.e. delivering incremental functionality and value to users, customers, and so on.

Apart from relieving the stress on IT teams, continuous testing has a whole range of other benefits that we don’t have space to go into here. If you’re interested in learning more about the future of testing in a fast-moving continuous delivery environment, we would encourage you to download the full report from the research study. Click here to get your copy.

 

Blog by Dale Vile, CEO & Distinguished Analyst, Freeform Dynamics Ltd

This blog was written by an external contributor. Any views held herein are not representative of CA Technologies, and are intended for informational purposes only.


New voices, thoughts and insights. This CA Technologies blog post features content written by an…

Comments

rewrite

Insights from the app driven world
Subscribe Now >
RECOMMENDED
The Sociology of Software >How (Not) to Lie with Data Visualization >DevOps and Cloud Computing: Exploiting the Synergy for Business Advantage >