Handling Bugs and Maintenance in Agile

One question that comes up often when teams are exploring the transition to Agile is how they are going to handle bugs or maintenance issues.  This blog will outline three scenarios that have worked for teams.

1. Building time into the Sprint

Image Source: http://www.asrintl.com/?page_id=310

Image Source: http://www.asrintl.com/?page_id=310

Perhaps the most common way that teams deal with unpredictable bugs and maintenance issues is to reserve some time for them within the Sprint.  For example, the team can handle 40 story points per sprint, but they only commit to 35 points, so they will have some time available for the unplanned bugs that need immediate action.  In some sprints, the bugs may account for more than the allotted 5 points and in other sprints, they may be less but on the whole, the team learns their rhythm and builds in enough reserves to handle whatever may come up.

2. Assign a team resource to maintenance

This may sound counter-intuitive but one of our teams found great success with this method.  They are a team of five developers and two QA resources.  One of the developers does not take tasks during sprint planning so he is not technically part of the sprint.  He participates in all of the meetings and in team activities and brainstorming, but his role is to work all of the unplanned activities that arise during the Sprint, thus allowing his team to stay 100% focused on their sprint commitments.  It is a bit unconventional but the team found a solution that works for them and allows them to deliver real business value for the company.

3. Split into two teams

If you have a large team, another option is to actually split into two teams, one to handle the new development or enhancements and one to handle the bugs and maintenance.  If the enhancement team uses Scrum, it is likely that the Bugs and Maintenance team will probably fare better with Kanban since their workflow is far less predictable.  Roman Pichler recommends this approach in his blog Succeeding with Innovation and Maintenance.  We have a team, actually two, that chose this option and it works really well for them.  The one concern that we have not addressed yet is rotating team members between the two teams so that everyone has the opportunity to grow and contribute.  Even still, this proved to be an ideal solution for a complex system.

There are always challenges with an Agile implementation and some of the more risk-adverse will look for reasons why they cannot proceed.  Do not let the question of how to handle bugs or maintenance be one of those reasons.  Agile is flexible enough and teams are smart enough to find creative ways to solve the problems of the business.  Whatever method your team tries, be it one of these or another innovative solution, Agile can bring positive change to your organization.


2 Responses to Handling Bugs and Maintenance in Agile

  1. John Peltier says:

    Good post, Kristin! Our teams are pull-based (scrumban) so there isn’t an iteration commitment to speak of, but we do see our velocity impacted. Sometimes heavily.

    We’ve considered the separate separate team approach (#2) but haven’t pulled the trigger quite yet. We expect having one engineer from each team pull off to work on a bug team each sprint, would allow the rest of the members of each team to keep moving at close to full speed. Has anyone else tried it?

Leave a Reply

Your email address will not be published. Required fields are marked *