Wednesday, September 23, 2009

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!


mike said...

Hey congrats on the new posting come out
btw i love your blog although i have just stumbled upon it =)
Love the new pictures you got there! Please come visit my site Chicago Business Directory when you got time.

mike said...

love your blog! Very cool! Please visit my site
herpes symptoms
when you got time.

Nigel Fernandes said...

I agree with most of this post.

The only point I'd like to add on, is that in a rapidly evolving system, with stories layering functionality,
it may make sense to not fix low priority/low severity issues when first encountered.

Possibly because another story along the way will evolve the code in which the bug exists.

At which point the bug can be closed.

Perhaps open communication to the team about the defects/bugs is critical to identifying this scenario.

I support pragmatic bug fixing. There's a thin grey line between that and broken windows.

Anonymous said...

Tooth Decay, tooth decay Symptoms, tooth decay Causes, Treatments, Prevention demineralization dental

Anonymous said...

Baby tooth decay, protect infants children's baby tooth. Children’s oral care tips and guikdes.tooth decay

aiai said...

For a pair of sleek gloves that would look great with your suit, pick up the Ross Gloves Italian Sheepskin Gloves with Cashmere lining. These gloves are perfect for those who live in metropolitan areas
spyder skiwhere the temperatures drop in the winter because these gloves are lined with extra warm and soft cashmere for that added layer of spyderwarmth and insulation. The premium Italian lambskin will mold to your hands in a close fit and the slim lines of this glove are convenient enough to slip into your pockets when not neededspyder jacket.

For a great pair of gloves that will keep up with you on the slopes even spyder ski wearin the harshest of temperatures, pick up the Burton' Gore-Tex Under Gloves for $64.95. The Thermacore insulation on these ski jacketgloves will keep your fingers warm even when the freezing wind and slate beats down on you. spyderThe DryRide Ultrashell combined with the Gore-Tex Insert ensures that nothing will get your fingers wet. spyderThe hidden heater and vent pocket stashes extra warmth on the cold days and dumps spyder jacketsexcess heat in the spring. spyder ski wearIf you are worried about your goggles getting steamed up, these gloves help solve that problem with the soft chamois goggle wipe which will keep your vision clear.

angelyu said...

COMPAQ Presario 2103 Series Laptop Battery
COMPAQ Presario 2104 Series Laptop Battery
COMPAQ Presario 2105 Series Laptop Battery
COMPAQ Presario 2106 Series Laptop Battery
COMPAQ Presario 2107 Series Laptop Battery
COMPAQ Presario 2108 Series Laptop Battery
COMPAQ Presario 2109 Series Laptop Battery
COMPAQ Presario 2110 Series Laptop Battery
COMPAQ Presario 2111 Series Laptop Battery
COMPAQ Presario 2112 Series Laptop Battery

贝贝 said...

The Tax Return Crack-Up<3>
Granted, there are usuallyMicrosoft Office 2010write-ups when presidential contenders make their tax returns available, but the coverage falls far short of the Office 2010
full court press (pardon the pun) that the Clintons have received. What's Microsoft Office 2007different now?Office 2007One possibility is that most upper middle class Democrats, and therefore most Microsoft OfficeOffice 2007 keyeditors and reporters of our nation's big papers as well as Office 2007 downloadtelevision producers, are Obama supporters who think that Hillary should hurry up Office 2007 Professionaland drop out of the race already.Microsoft outlook
Microsoft outlook 2010Whom elite liberals are pulling for really does shape political coverage in ways

Mark Pearson said...

The SBOK guide of will give you a clear understanding of how to run effective daily standup meetings. It also provides you detailed information on Agile Project Management methodologies suchas planning/review/retrospective meeting, and how to take advantages of related tools and so on.

Wright Williams said...

Organizations need to be assured the individuals that manage their projects can integrate methods to achieve sustainability goals and still achieve project specific objectives. Project Managers need credentials that validate their proficiency with these specialized qualities. PMP Certified and scrum certified project managers can learn, apply, and validate mastery of sustainability based project methods to meet these demands.

escortbayan said...

Seçkin escortların bir arada olduğu bayan escort - kadıköy escort - fenerbahçe escort - escort ataşehir - escort kartal - maltepe bayan - escort beylikdüzü - bursa escort - halkalı escort - avcılar escort - Escort Haritası ziyaret ederek, ihtiyacınıza ve bulunduğunuz mekana uygun bir escort düşünebilirsiniz. - travesti - travesti - kadıköy travesti - feneryolu escort - istanbul escort - kadıköy escort - travesti - kadıköy travesti - travesti - Eskort sitelerini reklam amaçlı kullanan escortlar vardır. kadıköy escort, kızıltoprak escort, bayan escortlar, sitesine düzenli olarak yeni escortlar reklam veya ilan vermektedirler. Bu yüzden siz de aradığınız kriterlerde ve yeni fiyatlarla uygun fiyatlarla escort bulabileceksiniz. Eskort (escort bayan) tamamen sizin kontrolünüzde olup saatlik ya da belirli bir süreliğine sizin hizmetinize tabi olan özel bayanlardır. sitesinden siz de aradığınız biçimde, fikirlerinize uygun escort - feneryolu escort - kadıköy escort bayanlar - escort - bayan - bayan escort - escort bayan - bayan escort - - ataşehir escort - kadıköy bayan escort - escortbayanescort - escortbayan - bayan partner - escort hizmetleri.

escortbayan said...

ataşehir escort - escort bayanlar ataşehir - ataşehir escortları - kadikoy escort - kadıköy escort - kızıltoprak escort - ataşehir escort - ataşehir bayan escort - escort ataşehir - bayan ataşehir escort - halkalı escort - beylikdüzü escort - izmir escort - izmir urla escort - güzelbahçe izmir escort - bornova escort - izmir tire escort - izmir escort bayanlar - izmir kızları - escort bayan - travesti - kadıköy travesti - kadıkoy travesti - kadikoy travesti - travesti kadıköy - ataşehir travesti - halkalı travesti - beylikdüzü travesti - beylikdüzü travesti