Welcome to EMC Consulting Blogs Sign in | Join | Help

Mit creme

Musings on Agile development, Java and other, unrelated aspects of life

Testing in Agile - Part Three

Minimising the Bug Debt - A question of size

I think most people would agree that on a real world development project of any scale, bugs will exist. Apply all the best practices in the world in the shape of unit testing and automated functional testing but there will be bugs.

Minimising the size of the debt that is allowed to accrue is essential to staying within a single iteration of release. A useful way to achieve this is to keep everything else small. It is already widely accepted that quality is improved if the functional tasks themselves are broken down into small discrete items. A very small functional requirement with a few defined acceptance criteria is far easier to get right than a large complicated requirement with 10s of acceptance criteria.

Extending this philosophy, keeping the sprints themselves smaller is also advantageous. I will personally never run a project with sprints longer than three weeks again and wherever possible I will aim for two weeks.

The obvious advantage of smaller sprints is that less code can be developed in any one sprint and consequently fewer bugs can arise in the first place. Of course, this is offset by the fact that you have less time to find and resolve those bugs and if you’re still writing bad code then it probably won’t help! Another benefit though should help and that is that a shorter sprint encourages the team (development and business) to break larger functional tasks down into smaller ones and, as mentioned earlier, this is an acknowledged way of improving quality.

Other advantages of smaller sprints are more frequent opportunities for retrospectives and, consequently, opportunities to modify anything that’s not working, more frequent releases to the customer and a greater number of total sprints in which to react to changes from these releases.

In summary then, just as KISS (Keep It Simple, Stupid) has become an acronym for development and code design, it seems it could be employed to mean “Keep It Small, Stupid” too!

This post is the last of those that I had pre-written in another form and was to be the last of my blog posts on the testing in Agile subject. These things are never fixed though and a comment on a previous post has triggered another area of thought. So, probably after Christmas now, I will post something on the topic of 'Functional testing vs. unit testing - the right tool in the right place'.

Have a nice break all.

Published 21 December 2006 11:26 by Gavyn.Dowst
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

David Hoehn said:

Hello.

That is an interesting blog post. I feel that we need to learn to accept the fact that most "bugs" are simply misinterpretation if features. If we truly managed to implement all of the accepted engineering practices, be it TDD, continuous integration, style checking, code checking, pair programming and so on then systematical mistakes should tend toward 0%.

Most mistakes introduced by human error are issues that will be caught by safe guards from a machine. Typos would be a very good example.

I will try to further expand on the whole Agile/QA idea as I continue my work at Conchango, I would be more than happy to further discuss this with you. I take it you are part of the Agile Community mailing list?

-d  

January 22, 2007 14:51
 

Howard van Rooijen's Blog said:

Last November I attended the 2006 Scrum Gathering in Minneapolis along with fellow Conchangoens Colin

February 15, 2007 12:14
 

Rachel Muse said:

Gavyn, I think you must be Rebecca's brother, since I understood pricisely none of your blog postings. And there was the interest in F1 mentioned, which also makes it likely that you are Becky's brother.

Anyway. I'm Rachel and I used to share a flat with Becky back in Sothampton, many many years ago.

I'm currently living and working in Florida and got in touch with a mutual friend of Becky's and mine only last week, after 15 years of being out of touch. I got in touch with her (Liz Beken who you might remember) because last I heard she was in Miami and I'm now working 2 hours north of there. She is now in Califorina so I wont be bumping into her anytime soon. It was so great to hear Liz's news that I thought I try to get in touch with the rest of the crowd from uni days. So the point of this ramble is that I wonder if you would put me back in touch with Becky? I haven't seen her for over ten years. I hope everything is ok with you and your folks. I'm at rachelmuse@hotmail.com.

Take care. Rachel

April 21, 2007 03:34
 

Howard van Rooijen's Blog said:

Last November I attended the 2006 Scrum Gathering in Minneapolis along with fellow Conchangoens Colin

September 28, 2009 21:31
 

Print Stickers said:

I'm currently existing and operating in California and got touching a good companion of Becky's and my own only the other day, after 15 years of being out of touching. I got touching her (Liz Beken who you might remember) because last I observed she was in Las vegas and I'm now operating 2 time south of there.<a href="url">keyword</a>

January 25, 2012 08:52

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Gavyn.Dowst

One time Java developer, some time Java architect, part time geek and full time human.
Powered by Community Server (Personal Edition), by Telligent Systems