<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.elev8ed.io/blogs/tag/defects/feed" rel="self" type="application/rss+xml"/><title>elev8ed - Elev8ed Stories #defects</title><description>elev8ed - Elev8ed Stories #defects</description><link>https://www.elev8ed.io/blogs/tag/defects</link><lastBuildDate>Mon, 09 Mar 2026 16:57:07 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Escaped Defects]]></title><link>https://www.elev8ed.io/blogs/post/escaped-defects</link><description><![CDATA["Escaped Defects" highlights the need for defect prevention in agile development. Using Test Driven Development (TDD) and strong Definitions of Done (DoD), teams can minimize costly escaped defects. The post encourages tracking defects to improve processes and enhance quality continuously.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_vB_HIyVeSgiZCVNLOrqdCw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_P5xg1Hp8SGqZHbPS-RgdKQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_QrbMu-NxR12RoyCpuwt9nw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_anBFE4RRQ6CyqR8xn-m9ig" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_anBFE4RRQ6CyqR8xn-m9ig"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><div><div style="color:inherit;text-align:left;"><div style="color:inherit;"><div style="color:inherit;"><div><div style="color:inherit;"><div style="font-size:12pt;">I was tempted to inject a typo in this post just for the irony.&nbsp;If you find it, post in the comments. ;-)</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Software development is challenging.&nbsp;In an agile world, baking quality in—defect prevention—is the norm, or at least it should be. Done well, this kind of development can be incredibly rewarding and the feedback loops are almost instantaneous.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">When teams are test driving, the world of software development simply shows up differently. Working, Tested Product is the primary measure of progress and the value of new functionality for changes can be recognized by customers quickly. Automation and quality is central to making that possible, but not everyone has built out Continuous Integration (CI) and Continuous Delivery (CD) such that something built today can also be tested and released to Production on the same day.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Teams that have established Definitions of Done, (DoD) including code quality standards and testing standards and automation throughout enjoy a different existence than the vast majority of teams that I have encountered.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Agile nirvana is rare, at least in my experience.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">For a lot of organizations, development is separate from testing and developers may not sit with or even collaborate with testers. Work moves like a virtual assembly line from one person to the next; one environment to the next. For many organizations, the journey from development to Production (left to right) looks similar to the diagram below.&nbsp;</div></div></div></div></div></div></div></div>
</div><div data-element-id="elm_PHgHDQC6hrtitzgOmWetTw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_PHgHDQC6hrtitzgOmWetTw"] .zpimage-container figure img { width: 800px ; height: 409.50px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_PHgHDQC6hrtitzgOmWetTw"] .zpimage-container figure img { width:500px ; height:255.94px ; } } @media (max-width: 767px) { [data-element-id="elm_PHgHDQC6hrtitzgOmWetTw"] .zpimage-container figure img { width:500px ; height:255.94px ; } } [data-element-id="elm_PHgHDQC6hrtitzgOmWetTw"].zpelem-image { border-radius:1px; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-size-large zpimage-tablet-fallback-large zpimage-mobile-fallback-large hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Generic%20Dev%20-%20Test%20Environments.jpg" width="500" height="255.94" loading="lazy" size="large" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_pU66puF-E7Ac7cIHVPLX5Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_pU66puF-E7Ac7cIHVPLX5Q"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><div style="color:inherit;text-align:left;"><div style="color:inherit;"><div style="color:inherit;"><div style="color:inherit;"><div style="font-size:12pt;"><div style="color:inherit;"><div style="font-size:12pt;">With multiple stages of testing through multiple environments--an assembly line approach to testing--an issue can arise in any one of them. In fact, when software is not test driven, finding issues in these environments can be considered the norm.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">When things go wrong though, issues can cause organizations real discomfort. Escaped defects are a pain and it is critical to ferret them out before they get to Production. For some organizations an “Escaped Defect” is an issue that is found in Production, but I believe that sets the bar too low.&nbsp;In my book, an escaped defect is any issue that is discovered after the development team is done with it. That means a separate defect is logged for anything found after it leaves the “Development Environments” depicted on the left in Green in the diagram above.</div></div></div></div></div></div></div></div>
</div><div data-element-id="elm_Omvqj5mMYjcRsWR94H1-Qg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_Omvqj5mMYjcRsWR94H1-Qg"] .zpimage-container figure img { width: 800px ; height: 580.03px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_Omvqj5mMYjcRsWR94H1-Qg"] .zpimage-container figure img { width:500px ; height:362.52px ; } } @media (max-width: 767px) { [data-element-id="elm_Omvqj5mMYjcRsWR94H1-Qg"] .zpimage-container figure img { width:500px ; height:362.52px ; } } [data-element-id="elm_Omvqj5mMYjcRsWR94H1-Qg"].zpelem-image { border-radius:1px; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-size-large zpimage-tablet-fallback-large zpimage-mobile-fallback-large hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Defect%20Resolution%20Cost%20over%20Time.jpg" width="500" height="362.52" loading="lazy" size="large" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_wwr1ENoSuU_R3FinErfN4A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_wwr1ENoSuU_R3FinErfN4A"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><div style="color:inherit;text-align:left;"><div style="color:inherit;"><div style="color:inherit;"><div style="color:inherit;"><div style="font-size:12pt;"><div style="color:inherit;"><div style="font-size:12pt;"><span style="color:inherit;">Escaped defects are a critical quality metric. The cost of addressing a defect increases significantly the later it is found. Remediation and then retesting are all incremental costs that basically double the cost of solution delivery. For every escaped defect, the organization is basically paying for the defect that was originally created and then paying again when it is remediated. Basically, at least twice the cost for any value that involves a defect.</span><br></div></div></div></div></div></div></div></div>
</div><div data-element-id="elm_PVfuyKwHh4ULHaER7ySIdw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_PVfuyKwHh4ULHaER7ySIdw"] .zpimage-container figure img { width: 800px ; height: 572.61px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_PVfuyKwHh4ULHaER7ySIdw"] .zpimage-container figure img { width:500px ; height:357.88px ; } } @media (max-width: 767px) { [data-element-id="elm_PVfuyKwHh4ULHaER7ySIdw"] .zpimage-container figure img { width:500px ; height:357.88px ; } } [data-element-id="elm_PVfuyKwHh4ULHaER7ySIdw"].zpelem-image { border-radius:1px; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-size-large zpimage-tablet-fallback-large zpimage-mobile-fallback-large hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/Escaped%20Defect%20Resolution%20Costs.jpg" width="500" height="357.88" loading="lazy" size="large" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_a9oFw6nUwn0UzBDyRMxMnw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_a9oFw6nUwn0UzBDyRMxMnw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><div style="color:inherit;text-align:left;"><div style="color:inherit;"><div style="color:inherit;"><div style="color:inherit;"><div style="font-size:12pt;"><div style="color:inherit;"><div style="font-size:12pt;"><div style="color:inherit;"><div style="font-size:12pt;">In my view, those cost increase in a non-linear way.&nbsp;The later a defect is found, the more backflow it produces for remediation. The cost of backflow means that not just the functional code has to be rebuilt, but the test code associated with it as well. Each phase of testing may have separate test code that is affected by the changed functionality. The cost can increase exponentially depending on the extent of the defect.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">The solution of course is to never produce a defect. If only the real world were that simple. Learning to test drive and evolving a DoD can help a team continually raise the quality bar and move closer to defect prevention rather than a sole reliance on defect detection. As the team learns, the DoD can change to reflect the new capabilities. Any team that is just learning TDD should not start with a quality standard of 80% automated test code coverage. It is just not realistic, and automated test code coverage may not be the most critical metric to track. Whatever metric you choose, start where you are and then increase the standard as the team develops the capability to meet it.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">There are three key take-aways I want you to get from this:</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;"><ol><li>Traditional defect detection is an expensive way to ensure quality. Defect prevention is the ultimate goal. Just think if we could only have had today’s forward-looking radar on the bow of the Titanic.</li><li>Start as early as you can with Software Craftsmanship and adoption of Test Driven Development. Agile organizations are continually working toward bulletproof quality, full stack test automation, CI &amp; CD, and the sooner you can get started the better.</li><li>The goal is to not just “do Agile”, but to “be agile” and escaped defects can be used as a barometer for progress towards that agility. As the number of them goes down, agility goes up.</li></ol></div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">The road to agility can sometimes be long and winding. The quality of your code and your products is central to making it successfully. Declare war on your escaped defects! Track the amount of backflow you are experiencing by designating every issue that is uncovered after a team has declared a story done as an escaped defect. Live in the pain of the imperfection and use defects as a forcing function to raise the bar on quality.&nbsp;Hemming and hawing about when a defect should be logged only muddies the waters. If a team said it was done and then more work gets uncovered later, declare it a defect and learn what needs to change in your process, skillset, tooling or whatever in order to prevent similar defects in the future.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Did you find the typo? I may not have had the heart to add it.</div><div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Happy Journeying.</div><div><br></div></div></div></div></div></div></div></div></div></div>
</div><div data-element-id="elm_LB4l3tUeQSalVnZtVvjSwg" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md " href="javascript:;" target="_blank"><span class="zpbutton-content">Get Started Now</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 04 Apr 2024 17:07:00 -0400</pubDate></item></channel></rss>