Darrell Norton's Blog [MVP]

Sponsors

The Lounge

Wicked Cool Jobs

News

  • Darrell Norton pic

    MVP logo

    View Darrell Norton's profile on LinkedIn

    Currently Reading:

    weewar.com

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Avoiding the mistakes of the past

In chapter 9 of Extreme Programming Explained: Embrace Change 2nd ed., Kent Beck writes about the corollary practice of root cause analysis:

“The goal is not just that this one defect won't ever recur, but that the team will never make the same kind of mistake again.”

Ummm, isn’t that what the prescriptive methodologies try to do by adding more process? Let’s not make the same mistake again. :)


Posted Tue, Feb 22 2005 8:15 AM by Darrell Norton
Filed under:

[Advertisement]

Comments

Dale Emery wrote re: Avoiding the mistakes of the past
on Tue, Feb 22 2005 2:53 PM
I see an important difference between Kent's admonition and prescriptive methodologies. Prescriptive methodologies deliver predetermined ways to avoid certain kinds of problems. The prescriptions (when they solve any problems at all) often solve problems that you don't have, and neglect problems you do have.

Kent's suggestion seems to me to be more about learning how to prevent future occurrences of the kinds of problems that are necessarily relevant to your work. And in particular, it guides us to correct process problems.

If prescriptive methodologies prescribed that we learn how to correct process problems, then we'd quickly learn how to adjust the prescriptions to our own needs.

Dale
Adrian Howard wrote re: Avoiding the mistakes of the past
on Wed, Feb 23 2005 2:43 AM
<blockquote>Ummm, isn’t that what the prescriptive methodologies try to do by adding more process?</blockquote>

<p>True - but adding top-down high-ceremony lotsa-documentation process isn't the only way of solving the problem. "Individuals and interactions over processes and tools" and all that :-)</p>
Darrell wrote re: Avoiding the mistakes of the past
on Wed, Feb 23 2005 7:05 AM
Dale - I agree that the spirit of what Kent is saying (actually the manner in which you view anything about software methodologies) is more toward the agile view, but you have to take into account who Kent is when he says this. That's the problem. Later on, this could be misconstrued in a manner similar to the traditional methodologies. I would suggest making sure that whatever we say is always agile regardless of who said it, but in the exact context of the writing. The paragraphs around this don't let you know that you should not implement additional processes to make sure you don't make this same type of mistake again.
Darrell wrote re: Avoiding the mistakes of the past
on Wed, Feb 23 2005 7:08 AM
Adrian - I agree with you. I disagree with the quote in that it says "make sure you don't EVER make the same mistake again." The only way to absolutely make sure you NEVER make the SAME mistake again, is to add some small task to check for that error. You combine a bunch of these small tasks and you get a really large, process-oriented approach to making sure you don't make mistakes. You end up spending more time avoiding mistakes than the time it would take to correct a single mistake.

I know that's not what Kent really meant, but like I said in response to Dale, if you don't know who Kent is and what he believes etc., then this quote could send you down the wrong path.
Victor Szalvay wrote re: Avoiding the mistakes of the past
on Fri, Feb 25 2005 10:04 AM
Darrel,
I see Kent's statement as entirely consistent with Agile. Sounds to me like he's saying that we should learn from our past mistakes empirically, rather than prescribing defined processes up-front to prevent them from happening in the first place. To me, this is Scrum 101 "Inspect and Adapt".
Darrell wrote re: Avoiding the mistakes of the past
on Fri, Feb 25 2005 10:26 AM
Victor - but making sure to never make the same mistake again can only be done by adding a task in the process. And adding too many tasks to the process is how traditional processes became so "heavy" to begin with.
Devlicio.us