Thursday, December 21, 2006

The Hidden Cost of Delaying Bug Fixes

I recently completed Certified Scrum Master training with Mishkin Berteig. One of the many interesting tidbits that came up over the course of the weekend was Mishkin's preference for treating every bug as the team's #1 priority as soon as it is discovered. (This is similar to the stop-the-line mentality of lean development.) I found this interesting, because it goes against the Scrum practice of putting decisions about what the team should work on in the hands of the Product Owner.

I also disagree with giving the Product Owner total control of what to work on, because I believe developers are in a better position to appreciate the real impact of bugs on the product, and it's best to put decisions in the hands of the people best able to understand the consequences. If the development team thinks a bug needs to be fixed pronto, it should be fixed pronto.

Unfortunately, even amongst development teams, there is not always consensus about the real cost of letting bugs linger. Many developers don't mind living with bugs while they continue to pump out new features, figuring they will get back to them "later". In the hopes of changing this situation, I'd like to talk about a hidden cost of leaving bugs in the code.

The Hidden Cost

Of course, there is the standard argument that the later a bug is fixed, the more expensive it is to fix. I'm going to assume that everyone has heard that argument before, and more-or-less agrees with it. I want to talk about something a little more insidious. When you fix a bug not only affects the cost of fixing it, but also the way you fix it.

As development work continues in the presence of a known bug, new dependencies on the code where the bug lives are likely to be added. Sometimes these dependencies will be on bug itself. Often, this happens without the developers realizing it. In general, as a piece of code acquires dependencies, it becomes riskier to change. I think this is even more true of bug-ridden code.

So, the longer you wait before fixing the bug, the more risk is introduced in fixing it. When the risk of fixing a bug increases, the reaction of most developers is to stick with the potential fix that appears least risky (even if there is a 'better' alternative).

A Brief Aside

Okay, I've used a dangerous word: 'better'. Anytime someone uses evaluative words like 'good', 'bad', 'better', or 'worse' without qualifying them with a context, I get suspicious. So here's my context:

Kent Beck makes a distinction between code quality and code health in this talk. I think this is an important distinction to make. Code quality relates to the number of bugs in your code, and how well it does what it's supposed to do. Code health refers to your code's ability to react to change. It relates to how well-factored your code it. You can just call it maintainability if you want.

The reason this distinction is important is that its possible to improve code quality without improving code health. In fact, it's quite easy to improve code quality while reducing code health. Since code health is extremely desirable, I would assert that a fix that improves code quality and code health is better than one that improves code quality but reduces code health.

Back to Our Regularly Scheduled Program

Now we're getting down to the point. When you put off a bug fix, you are going to feel pressure to go with the (perceived) less risky solution later (the quick hack that fixes the bug but reduces code health). And lets face it, most of us are not good with dealing with pressure. If we were, we would probably insist on fixing the bug now rather than later in the first place.

So not only are you going to take longer to fix the bug later, you're going to take on technical debt, and all the pain and suffering (and reduced velocity) that technical debt entails.

29 comments:

Anonymous said...

Well written. Agree with your
thoughts.

Hey, do you have any pointers
to industry standards on how
much the cost of fixing a bug increases as we delay the fix ?

For example, to fix a bug in the
requirements stage, it takes
5 units, during functional spec.
it takes 15 units, and so on..

Unknown said...

Common rule of thumb (for waterfall) is exponential for each stage, so if a bug costs your group $1 to fix during the specification phase:
$10 in Design phase
$100 in working code
$1,000 in released software

Like all common rules of thumb, multiple qualifiers apply, and exceptions abound.

Kimota94 aka Matt aka AgileMan said...

Good post!

I think there are additional costs involved with letting bugs linger, as well, that go beyond what might be obvious. For example, any time spent reviewing old bug reports (to see if any should now be dealt with) or comparing new reports to old ones (to determine if the new one is simply a duplicate of an old one) represents time wasted. (I wrote about this at length in my 2nd Real-Life Adventures of AgileMan book because at one of my jobs that sort of thing became a huge drain on resources.) There are other examples, as well, all of which add up to quite a shocking price tag compared to the relatively low cost of just fixing the bug when it's found!

Anonymous said...

Howdy,

I keep coming to this website[url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips].[/url]You have really contiributed very good info here on-agile.blogspot.com. Frankly speaking we really do not pay attention towards our health. Here is a fact for you. Recent Scientific Research points that almost 90% of all United States grownups are either fat or overweight[url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips].[/url] Therefore if you're one of these individuals, you're not alone. In fact, most of us need to lose a few pounds once in a while to get sexy and perfect six pack abs. Now next question is how you can achive quick weight loss? [url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips]Quick weight loss[/url] is really not as tough as you think. You need to improve some of you daily habbits to achive weight loss in short span of time.

About me: I am blogger of [url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips]Quick weight loss tips[/url]. I am also health trainer who can help you lose weight quickly. If you do not want to go under painful training program than you may also try [url=http://www.weightrapidloss.com/acai-berry-for-quick-weight-loss]Acai Berry[/url] or [url=http://www.weightrapidloss.com/colon-cleanse-for-weight-loss]Colon Cleansing[/url] for effortless weight loss.

acl surgrery recovery said...

It relates to how well-factored your code it. You can just call it maintainability if you want.

Chuan Li said...

Depending on what is meant by "bug", NPE, edge case, design flaw, pure technical debt. And how much responsibility the buggy code takes. It is certainly meaningful in some cases to postpone the bug fix after the initial rapid constructing phase.

eco travel agency costa rica said...

hello friend amazing and very interesting blog about The Hidden Cost of Delaying Bug Fixes I really would like to have any update about, thanks for sharing this information

Anonymous said...

Well me personally if I really want to write something, if I seen some movies which are around the same genre and make me come up with a story line, I write. I have written for example (Blessings of Mars) Written that for a contest in which you could win some fake points for a medal on a forum.

I lost but did [URL=http://resume-blog.org/newbodybuildingsupplements/],[/URL] some votes, anyway thanks to that event I wrote that great story, I also have written some other stories like a WWI story and WWII story I think, I could be wrong [URL=http://touring.in.th/besttipsonhowtogetpregnant1/] that [/URL] I wrote both about WWII and WWI.

buy generic viagra said...

I like to read such kind of articles.nice blog.Keep posting.

Anonymous said...

Hi,

thanks for the interesting post - I just wrote a similar one that also gives a graph of how the costs of a bug evolve throughout the various stages: http://www.konstrukktor.com/1/post/2011/09/the-costs-of-a-bug.html It does also cover the risks associated with fixing a bug, however it does not include software engineers going for the least risky solution when fixing a bug. Interesting thought...

Take care!

Custom Folders said...

Well me individually if I really want to create something, if I seen some films which are around the same category and create me come up with a tale, I create.Custom Pocket Folders

pay per head shop said...

Thanks a lot for the posted review, it's really interesting to read

Anonymous said...

The New York Jets are one other viable wild-card option (excluding the Broncos, Raiders, Titans and Texans, who could feasibly have a wild-card berth if they miss out on their division)9 And the best place to find deals in on the internetSuch a t-shirt boasts the ability plus flexibleness that will fight wasting your heavy clothing, that is generally regarding extra club sets this kind of online game to produce your modify in clothing pattern once they need to allow for more sponsors for giving support and with an aim of conversion of reputation into help All our products are free shipping
The different amounts are generally adornments, group Ben Roethlisberger Jersey objectives together with Reebok logo design tend to be stitched having a stitched upon gear Although, before acquiring knowledge of such basics an individual will need to develop an arrangement The whole of the United States carries great supplies of the cheap jerseys because of the incessant requests and orders for them These graduates often make a quick and ill informed decision and then regret for the lost time and money That would mean one of the teams we've already mentionedCheap NFL Jersey are in high demand and can be marketed easily for sporting events many of which are held during the year in many countries
How to get Andre Johnson in NFL Blitz 2012? Open question:How to get Andre Johnson in NFL Blitz 2012? about Gaming, iPhone Game, Imangi Studios Game, iOS Game, post your answers to question: How to get Andre Johnson in NFL Blitz 2012? and help author: Harriet! Thanks to all users to create this page I like the feeling of sporting the jersey and I pleased with my group it does not matter it wins or is beaten by other groups You can also vote to choose the best answer for Nike pas cher Air Force Types on Sale For any Limited Period Only in Discount-shoe-shop -- Ukraine S to encourage other people You can research on the internet sites by place and dates to see your choices That can be dangerous Despite good on-field performances, he struggled with injuries before being traded to the Cardinals in 1976com member, they will give you another 20% sign up bonus for being a new member

[url=http://www.officialtexansfanstore.com/bradie-james-jersey-cheap]Bradie James Jersey[/url]
[url=http://www.nikebroncosjersey.com/nike-peyton-manning-womens-jersey]Peyton Manning Nike Jersey[/url]
[url=http://www.redskinsnflprostore.com/london-fletcher-jersey-elite-c-6_44.html]redskins london fletcher jersey[/url]

Anonymous said...

Greate pieces. Keep posting such kind of info on your page.

Im really impressed by your blog.
Hello there, You have done a fantastic job. I will
definitely digg it and for my part recommend to my friends.
I'm sure they will be benefited from this website.
My weblog ... does african mango really work

Anonymous said...

Aw, this was an extremely nice post. Spending some time and actual effort to generate a great article… but what can I say… I put things off a lot
and never manage to get anything done.
Feel free to visit my web-site : personalized nfl jerseys

Anonymous said...

c free ebook http://audiobookscollection.co.uk/Mac-OS-X-10-3-Server-Panther-Visual-QuickPro-Guide/p112663/ the sony ebook store [url=http://audiobookscollection.co.uk/fr/index.php?route=product/product/review&product_id=13566&page=2]ebook free lit pc pocket[/url] ebook leola and the honey bears

Anonymous said...

[url=http://withoutprescription.co.uk/products/hard-on-oral-jelly.htm][img]http://onlinemedistore.com/5.jpg[/img][/url]
giant eafle pharmacy http://withoutprescription.co.uk/products/abana.htm nevada board of pharmacy [url=http://withoutprescription.co.uk/products/tadalis.htm]cvs pharmacy college kansas[/url]
hospital pharmacy dispensing laws for detoxification http://withoutprescription.co.uk/products/neurontin.htm pharmacy technician medication errors [url=http://withoutprescription.co.uk/products/xplode--stamina--energy-and-sex-enhancer-.htm]xplode stamina energy and sex enhancer [/url]
printable pharmacy coupons http://withoutprescription.co.uk/products/relafen.htm sterling pharmacy [url=http://withoutprescription.co.uk/products/vantin.htm]pharmacy technician salary range[/url]
g e pharmacy edmonton http://withoutprescription.co.uk/products/kamagra.htm bakersfield el tejon pharmacy [url=http://withoutprescription.co.uk/products/viagra-professional.htm]viagra professional[/url]

Anonymous said...

great points altogether, you just gained a new reader.
What may you suggest in regards to your publish that you made some days in the past?
Any certain?

My weblog ... pradasale-shop.com

Anonymous said...

Excellent post! We are linking to this particularly great
content on our site. Keep up the great writing.

Here is my blog - ブランドコピー販売

Anonymous said...

Superb website you have here but I was curious if you knew of any discussion boards that cover the same topics talked about in
this article? I'd really like to be a part of group where I can get feed-back from other knowledgeable people that share the same interest. If you have any recommendations, please let me know. Thanks a lot!

my webpage: 激安ロレックスコピー

Anonymous said...

[url=http://certifiedpharmacy.co.uk/products/zaditor.htm][img]http://onlinemedistore.com/7.jpg[/img][/url]
university of virginia health system pharmacy http://certifiedpharmacy.co.uk/products/paxil.htm pharmacy computer times magazine [url=http://certifiedpharmacy.co.uk/products/augmentin.htm]ron freed pharmacy[/url]
river pharmacy llc http://certifiedpharmacy.co.uk/products/coreg.htm advancement in pharmacy [url=http://certifiedpharmacy.co.uk/products/allopurinol.htm]allopurinol[/url]
pharmacy schools in illinois http://certifiedpharmacy.co.uk/catalogue/s.htm new york pharmacy directory [url=http://certifiedpharmacy.co.uk/catalogue/c.htm]pharmacy directory[/url]
pharmacy counterdetailers pennsylvania http://certifiedpharmacy.co.uk/products/clozaril.htm giant eagle pharmacy four dollar drug list [url=http://certifiedpharmacy.co.uk/products/dostinex.htm]dostinex[/url]

Anonymous said...

[url=http://englandpharmacy.co.uk/products/diclofenac.htm][img]http://onlinemedistore.com/1.jpg[/img][/url]
when is national pharmacy week http://englandpharmacy.co.uk/cart.htm rite aid salem nh pharmacy brooks [url=http://englandpharmacy.co.uk/categories/erection-packs.htm]fda guidelines pharmacy[/url]
list of pharmacy colleges in dallas texas http://englandpharmacy.co.uk/categories/anti-fungus.htm clinical pharmacy tasks [url=http://englandpharmacy.co.uk/products/avodart.htm]avodart[/url]
some pictures in pharmacy http://englandpharmacy.co.uk/products/rhinocort.htm florida pharmacy association [url=http://englandpharmacy.co.uk/products/nolvadex.htm]walgreens pharmacy dade city florida[/url]
maple leaf pharmacy http://englandpharmacy.co.uk/categories/general-health.htm medication consult faster local pharmacy service fully receive [url=http://englandpharmacy.co.uk/products/methotrexate.htm]methotrexate[/url]

Anonymous said...

dating minors http://loveepicentre.com/map/ online dating services canada
world best adult dating site [url=http://loveepicentre.com/faq/]dating anderson in[/url] dating scam in nigeria
are terrence and rocsi dating [url=http://loveepicentre.com]dating another girl she met[/url] new york and tailor made dating [url=http://loveepicentre.com/user/dmw6456/]dmw6456[/url] marcia and big rig dating

Unknown said...
This comment has been removed by the author.
Anonymous said...

smokeless cigarettes, ecigs, buy electronic cigarette, ecig forum, electronic cigarette, smokeless cigarettes

Unknown said...
This comment has been removed by the author.
anand said...

nice
Software Testing Training in Chennai | Certification | Online Courses



Software Testing Training in Chennai | Certification | Online Training Course | Software Testing Training in Bangalore | Certification | Online Training Course | Software Testing Training in Hyderabad | Certification | Online Training Course | Software Testing Training in Coimbatore | Certification | Online Training Course | Software Testing Training in Online | Certification | Online Training Course

sathya said...


Good Post! Thank you so much for sharing this pretty post.
Selenium Training in Chennai | Certification | Online Courses

selenium training in chennai

selenium training in chennai

selenium online training in chennai

selenium training in bangalore

selenium training in hyderabad

selenium training in coimbatore

selenium online training

سما الحرمين said...

شركة عزل اسطح بالاحساء
شركة عزل اسطح بالقطيف
شركة عزل اسطح بالجبيل
شركة عزل اسطح بالدمام