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.
Thursday, December 21, 2006
Subscribe to:
Post Comments (Atom)
29 comments:
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..
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.
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!
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.
It relates to how well-factored your code it. You can just call it maintainability if you want.
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.
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
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.
I like to read such kind of articles.nice blog.Keep posting.
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!
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
Thanks a lot for the posted review, it's really interesting to read
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]
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
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
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
[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]
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
Excellent post! We are linking to this particularly great
content on our site. Keep up the great writing.
Here is my blog - ブランドコピー販売
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: 激安ロレックスコピー
[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]
[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]
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
smokeless cigarettes, ecigs, buy electronic cigarette, ecig forum, electronic cigarette, smokeless cigarettes
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
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
شركة عزل اسطح بالاحساء
شركة عزل اسطح بالقطيف
شركة عزل اسطح بالجبيل
شركة عزل اسطح بالدمام
Post a Comment