No Escape from Measuring Escapes – Using Quality Gates to Deliver World Class Software

There is a lot going on when developing software, writing requirements, design, architecture, code, tests, integrating it all, testing again, deploying, shipping and handling customer feedback.

This flow involves many people, many professions and many tools. It is sometimes called the Software Factory. Let’s use this metaphor to describe how software creation should be controlled. Read on!

When does a Code Review Escape mean?

Whenever a unit of work leaves a station in the factory, it is examined for its quality and completeness, only then it is transferred to a downstream station for further processing.

When a downstream station detects an issue with the unit of work it received, we call it an escape. It escaped the quality control and completeness check of the previous station.

We can fix the unit of work itself, but that is almost meaningless. What’s important to fix is the quality control and completeness tests of the station from which this defective unit of work escaped. Doing that guarantees the factory gets better over time and produces higher yield.

Putting this to the practical world of software craftsmanship. If you’re not measuring Requirement escape ratios, Design escape ratios and Code review escape ratios, your factory will keep producing sub-par software

Many teams will perform root cause analysis for defects and will fix the defects that were found, that is a good start but completely insufficient. Assume you found a problematic requirement that was implemented. Obviously, you fix the requirement. Does this make your requirement process better? Obviously, no!

An issue with a requirement found in testing is an escape from the requirement station. We need to elevate our thinking to the pattern level. What process did we follow before this unit of work (in this case the aforementioned requirement) left the station? What was wrong with our quality control and completeness check that allowed this requirement to be passed on as a finished unit of work?

The requirement escape must lead to a fix in the factory machinery (process) itself which is the only way to ensure improvement. 

The number of escapes (or ratio) needs to be measured for each station and needs to be tracked over time. That allows you to monitor whether your machinery fixes are actually working.

Assume someone proposes that in order to fix the requirement machinery, you need to double the time invested in requirement reviews. You have no way of telling whether this is a good idea or not. What you can do is try it out, change your process and measure the requirement escapes of the next iteration. If they’ve gone down significantly, keep this change. If there’s no change or the number of escapes has grown, revert this process change and try another.

The Bottom Line

To summarize, each thing you do as part of the software development lifecycle, needs to be measured for escapes and you need to know its yield. Every defect must be treated as an indication of a pattern that needs to be modified

Following that, you’ll be shipping world class software in no-time! Good luck

knowledge hub

Related articles

Woman working on a laptop, writing code | BetterSoftware

How Philosophy helps you make good use of AI in your Software Development Lifecycle

Data analytics is the driving force behind successful digital transformation efforts. Businesses can no longer rely on intuition alone; they must harness the power of data to make informed decisions, optimize operations, and enhance customer experiences. From predictive analytics that anticipates future trends to prescriptive insights that guide decision-making, leveraging data effectively is the key to gaining a competitive edge. This article explores the crucial role of data analytics in digital transformation and outlines strategies to unlock its full potential.

Learn more
Stakeholders' Alignment for a Smooth Software Implementation | BetterSoftware

Focus on What Matters – Software Transformations that Actually Improve Business Performance

Data analytics is the driving force behind successful digital transformation efforts. Businesses can no longer rely on intuition alone; they must harness the power of data to make informed decisions, optimize operations, and enhance customer experiences. From predictive analytics that anticipates future trends to prescriptive insights that guide decision-making, leveraging data effectively is the key to gaining a competitive edge. This article explores the crucial role of data analytics in digital transformation and outlines strategies to unlock its full potential.

Learn more
Process mining for digital transformation | BetterSoftware

Why your investment in AI is not showing ROI – The Answer: Improvement is not Progress

Data analytics is the driving force behind successful digital transformation efforts. Businesses can no longer rely on intuition alone; they must harness the power of data to make informed decisions, optimize operations, and enhance customer experiences. From predictive analytics that anticipates future trends to prescriptive insights that guide decision-making, leveraging data effectively is the key to gaining a competitive edge. This article explores the crucial role of data analytics in digital transformation and outlines strategies to unlock its full potential.

Learn more

Claim your free initial team
effectiveness scan

Let’s determine the best and most efficient path to software excellence together.

Align on the scope on a brief 20-minute call.

Your benefits:
What happens next?
1

We schedule a call at your convenience

2

We hold a discovery meeting

3

We run a complimentary proof of concept

Request Your Free Scan

Partner with us for software excellence success

No Escape from Measuring Escapes – Using Quality Gates to Deliver World Class Software