Skip to main content

Regression Risk

Risk that the functionality you provide changes for the worse, over time.

Part Of

Reduced By Practices

Attendant To Practices

  • Coding: Changes in code can introduce new bugs and regressions.
  • Refactoring: Done carelessly, refactoring can introduce new issues into the codebase

Regression Risk

Delivering new features can delight your customers, but breaking existing ones will annoy them!

Regression Risk is the risk of breaking existing features in your software when you add new ones. As with other feature risks, the eventual result is the same: customers don't have the features they expect.

Regression Risks increase as your code-base gains Complexity. That's because it becomes impossible to keep a complete Internal Model of the whole thing in your head, and also your software gains "corner cases" or "edge conditions" which don't get tested very often.

As shown in the above diagram, you can address Regression Risk with specification (defining clearly what the expected behaviour is) and testing (both manual and automated), but this takes time and will add extra complexity to your project (either in the form of code for automated tests, written specifications or a more elaborate process for releases).

Regression Risk is something we'll come back to in Operational Risk.