D-Cubed: Defect Driven Design

I'm intrigued by the possibilities of Defect Driven Design. Now, I realise that it may not be entirely serious, but there's something in there that makes me stop and think.

The thing that appeals most is the concept that there is no difference between a story and a bug report. This helps provide an answer to the perennial question of how to factor in and prioritise bugs to the development plan. You don't need to think of them as being bits of functionality that weren't written right the first time, you just treat them as new stories and add them into the main story list (or its moral equivalent, the Giant Gantt Chart of Doom, if you're using MS Project).

As a developer, it can sometimes be a little embarrassing to have your dirty laundry aired in public ("you see that stain? That's where you cut-and-pasted some code and introduced a nasty little bug. And that mark over there? The lumpy one. That's where you didn't test the corner-cases for that algorithm") but in terms of focussing developer effort, treating all bugs as stories gives the business more visibility into the whole mysterious world of software development. It also means that those iterations where a lot of effort is spent fixing bugs appear not as dips in productivity but as the final iteration before productivity bounced up again. Bugs stop being this hidden stuff that's been swept under the carpet until you can't walk across the room safely and start being something that can be acknowledged and dealt with using normal project management tools.

You can almost see this sort of thing happening now in the traditional cost of change curve that gets drawn for a waterfall project. There's typically a label underneath it which reads "a change here costs $1, the same change here costs $10 and the same change here costs $1000". You'll notice that anything that gets picked up in the testing phase implicitly costs the same as introducing a new requirement at this stage.

Do I seriously believe that it's responsible to write software using D-Cubed? I think not, but I wonder if we can't take the concept of "bug as story" and apply it successfully to our work.


Simon Stewart on Wednesday, 14 June, 2006

Posted in: /tech

You may comment...



Added by Luis Artola on Thursday, 15 June, 2006

Do you know if there is somewhere to learn more about defect driven design? I know nothing except the concept. I´d like to know more about its artifacts, proccesses, etc.

any books, url´s or any kind of stuff?

thanks

Categories