Respect the elder bugs

Billy (below) is a known old bug. Old enough that it got a name and is well known to the development team.


Bugs, or defects in your software, are not to be treated as pets! Make sure you close bugs fast. Do not get used to bugs.

Agile software development (as typically is the case in the software industry) does create bugs. In fact I came across new Agilists that were surprised because Agile development practices also create bugs; in fact, I have seen more bugs (I am not talking about defects in production) in Agile development than in more traditional development.

But what I expect from a well-working Agile team is that:

  1. The number of bugs in production is low
  2. Bugs are closed very fast

Test Early and Often

Agile development practices such as continuous integration, test driven development, and automation facilitate the quick detection and elimination of bugs. Your customer tests (test validating the customer requirements) will detect any addition or change that breaks an existing test. Your developer tests (tests validating the design of your application) will detect anything that breaks the expected design and behavior of the application.

Disclaimer: for smaller teams, this will be as simple as identify and fix the recognized problem. But for very large teams, it might get a little more elaborated, and a bug is created to track the issue (at times, the issue itself is that there was no automated test).

Scaling Agile

Scaling Agile has a few nuances to it. And bug management and resolution is amongst the development practices that require special attention for a large Agile team. From my experience on a large Agile program, I second the importance to classify bugs by priority and severity.

Elisabeth Hendrickson wrote a very good article about it: Arguing Apples and Oranges.

But even with good bug classification and management, I noticed a few old (pet) bugs living in my large Agile program.

Consider the program had an average rate of 100 new bugs per week. Don’t be alarmed, it is a huge program. Imagine 100 developers continuously integrating code for 200 user stories per week. And an average rate of closing 100 bugs per week.

The depicted scenario can be of a very healthy Agile program. For instance, a small period of regression ensures the production readiness for the system. As Regression I mean the period allocated to stabilizing–fixing the bugs– the next releasable artifact; not adding new features.

But how is this sample program creating old pet bugs?

Low priority, low severity bugs. These are the bugs that can live a long life.

If the reasoning for deciding the order to attack the bugs only considers severity and priority, you might be creating pet bugs. I did recognize a few elder pet bugs (for this reason) in my large agile program.

My recommendation is to adjust your bug triage formula. You should consider severity, priority, and the age of the bug.

I am sorry Billy (my old pet bug). Even though you were low priority and low severity, it is being embarrassing to have your small –almost inoffensive—existence in the system. I am sorry, but you have to go!

Paulo Caroli

Paulo Caroli is an author, speaker, and consultant specializing in agile transformations, Lean Inception, and OKRs. With over 30 years of experience—including nearly a decade in Silicon Valley and 18 years at ThoughtWorks—he has helped organizations transition from project to product and from strategy to execution. Creator of the Lean Inception methodology and author of bestselling books like Lean Inception and Team OKR, Paulo is dedicated to empowering teams to align, validate, and deliver real business value.
Assumption Mapping Activity

Assumption Mapping Activity

Assumption mapping is a powerful activity that equips teams to evaluate their assumptions based on their significance and supporting evidence. By following a structured process, teams can clarify their assumptions, enabling well-informed decisions, mitigating risks, and bolstering the likelihood of success in their endeavors.

read more
Design Ahead: Harmonizing Design and Development Timelines for Optimal Results

Design Ahead: Harmonizing Design and Development Timelines for Optimal Results

This article explores the strategic integration of the Design Ahead approach and dual track development methodologies in the realm of software development. By delving into the nuances of design, concurrent workflows, and seamless collaboration, it offers insights into orchestrating a harmonious symphony between design and implementation. From refining user experiences to developing new features, this exploration illuminates the path for organizations seeking to excel in the ever-evolving landscape of software delivery.

read more
Working Backwards – Press Release Template

Working Backwards – Press Release Template

This comprehensive Press Release template provides a structured framework for implementing the innovative Working Backwards approach, a strategy favored by industry leaders like Amazon. By starting with the end customer experience and working backward, this method offers a clear pathway for product development and planning. The template’s sections guide teams in articulating the product/initiative/solution’s significance, key features, and benefits.  Whether for remote collaboration or in-person workshops, this tool equips teams with a collaborative framework to craft impactful press releases.

read more

Pin It on Pinterest