What to do when one fix creates 7 new defects
This is probably one of the most stressful scenarios.
Major software release is due at the end of the quarter. The team is still fixing many defects and discovering that every new change is creating many new – previously undetected – problems. It’s a difficult situation, one that I had to deal with recently while working with my client’s software engineering organization.
Step 1: prioritize all defects and determine which ones are likely to be experienced by customers of the new release. Some defects are very rare and occur under certain conditions. Deal with these later.
Step 2: delay the next release to create time for several important tasks:
a) Perform a deep-dive audit of technical architecture. What is the ‘separation of concerns’? In products where ‘separation of concerns’ is too close at the component level, it’s a very common occurrence to create multiple defects.
b) Examine regression testing strategy. How much of the code can be automatically exercised by a suite of regression tests? What’s the percentage: 40% or 80%? How many critical functions are covered by regression tests? How many critical customer scenarios (common & frequent functional paths) are also covered by regression tests?
c) Look for refactoring targets and accommodate refactoring activites in the next series of releases. It’s very hard to stop and build a new architecture of a commercial software product while delaying customer facing functionality. “On the go” refactoring is a way of life in a highly competitive market.
Recent Comments