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.

32 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..

Scott 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 Anh 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.

Dean said...

greetings to all.
I would first like to thank the writers of this blog by sharing information, a few years ago I read a book called guanacaste costa rica in this book deal with questions like this one.

niz said...

Hello .. firstly I would like to send greetings to all readers. After this, I recognize the content so interesting about this article. For me personally I liked all the information. I would like to know of cases like this more often. In my personal experience I might mention a book called Generic Viagra in this book that I mentioned have very interesting topics, and also you have much to do with the main theme of this article.

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.

Michael Herrmann 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...

Hi all
I'm Mary, 21 years old :)
I am looking for good man. If he exists...
I'm love sport and... Hope you understand

[img]http://loveepicentre.com/uploades/photos/30375.jpg[/img]

www.blogger.com is very interesting forum for me, so I think we have the same hobbies
So lets chat...
My e-mail is marypopovaks@gmail.com, Skype *
Send me your foto!

__
Added later:

This photography is corrupted, sorry!

Oh, and all my photos here:
http://loveepicentre.com/user/Popova

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...

maxsea software http://buyoem.co.uk/product-36605/IllusionMage-3D-Animation-2011-Full metrahit 28s update software download [url=http://buyoem.co.uk/product-36215/IMagic-Hotel-Reservation-4-3]yaesu ft-8800 programming software[/url] boolean algebra software
[url=http://buyoem.co.uk/fr/category-6/Logiciel-de-serveur]Logiciel de serveur - Cheap Legal OEM Software, Software Sale, Download OEM[/url] orl software
[url=http://buyoem.co.uk/product-36006/PrimaSoft-Car-Sales-Catalog-Deluxe-3-7][img]http://buyoem.co.uk/image/5.gif[/img][/url]

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://www.chanelsoutlets.co.uk]chanel bags[/url]
[url=http://www.chanelsoutlets.co.uk]chanel bag[/url]
[url=http://www.chanelsoutlets.co.uk]chanel bags outlet[/url]
[url=http://www.chanelsoutlets.co.uk]chanel handbags[/url]
[url=http://www.chanelsoutlets.co.uk]chanel bags uk[/url]
[url=http://www.chanelsoutlets.co.uk]chanel handbags uk[/url]
[url=http://www.chanelsoutlets.co.uk]chanel outlet[/url]
[url=http://www.chanelsoutlets.co.uk]chanel outlet uk[/url]
[url=http://www.chanelsoutlets.co.uk]chanel online[/url]
[url=http://www.chanelsoutlets.co.uk]cheap chanel bags[/url]
[url=http://www.chanelsoutlets.co.uk]http://www.chanelsoutlets.co.uk[/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...


Crossbeam is held back Korean! Horse of two battle emperor all misses Piao Zhouyong to score a goal surely
In Korea, fan is right the attention of armour is spent on the west be inferior to Ying Chao apparently, KBS TV station almost every rounds want game of Ying Chao of direct seeding much field. Nevertheless tonight the match of battle emperor horse, sure meeting allows countless Korea fan all night not Mian, although be local time before dawn at 3 o'clock bully, but the attention that this a bit cannot hold back fan contrast to surpass, the reason has only, piao Zhouyong. In field of tower of Er of a place of strategic importance, the aggression firepower a bit of home team is assuming emperor horse, be in regrettablly only face an in a way of one foot respect to be deficient in. Although score is 1-2, but the hope that Saierda also exists to break even score. The 81st minute, piao Zhouyong's reserve comes on stage, this also is Saierda last pieces of card that to break even score plays. Although time of this second reserve game is only 13 minutes, far compare bout of league matches head 34 minutes when get to be gotten less much. But after coming on stage 8 minutes, piao Zhouyong broke even with respect to nearly score. The 88th minute, wrong way of the field before Pulaniji is inclined 45 degrees in passing, the road in Piao Zhouyong outflanks high capriole, head condole shoots middle cross beam. And be in the 91st minute, piao Zhouyong receives Pulaniji to fill in continuously again, right leg of forbidden zone left costal region is pushed shoot will be blocked go out by emperor horse door. Although enter the court time is not much, the bipod of Danpiao Zhou Yong hits the door to have menace quite, do not know Saierda advocate handsome regret to did not change Korea forward some earlier. With respect to the plain Zhouyongben 28 years old sports season is Saierda to come on the stage 20 times in all this year, hit into 3 balls, its Chinese and Western comes on the stage 16 times in armour league matches, hit into 2 balls, he is the first is in on the west the Korea player of the burst open the door in armour league matches. On league matches half Cheng is when Bainawu and emperor horse engage in a battle, piao Zhouyong always ever also had had finally in the match the head that has menace extremely attacks the door, but regretful is be blocked this however in the shoot that very close nearly on the west magical attack, piao Zhouyong can sigh with emotion only the reaction of emperor horse header too too rapid. Standing before door of nocturnal emperor horse now is not card on the west, the distance becomes Piao Zhouyong on the west the [url=http://nikeshoesonsale.manifo.com/]nike air max 90[/url] player of the first Korea of player of horse of emperor of armour history breach has a few centimeters only, regrettablly crossbeam too too merciless. (Sohu sports bright if send far) more sports news

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

Calyin Dyol said...

Nice Post Love Reading Its


apcalis

Generic Viagra

Ethan Smith said...

Buy & sell new and used iPhones.
Wide selection of new and used iPhones for sale.
More at where to sell used iphone

Anonymous said...

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