Wednesday, May 08, 2002

Agile Software Development: Wicked Problems

Mary Poppendieck has an interesting article, Wicked Problems, in Software Development magazine, May 2002. She notes that SCRUM is an excellent adaptive project-management approach for wicked software development projects. In fact, Degrace and Hulet's book, Wicked Problems, Righteous Solutions, Prentice Hall, 1990, was one of the inspirations for the invention of the SCRUM software development process.

An enlightening aspect of this article is documenting who coined the phrase, "wicked problems," i.e. Rittel, H and Webber M. Dilemmas in a General Theory of Planning. Policy Sciences, Vol. 4. Elsevier, 1973. A wicked problem has these characteristics:

1. Wicked problems have no definitive formulation. Each attempt at creating a solution changes your understanding of the problem.
2. Wicked problems have no stopping rule. Stakeholders, political realities, or resource issues change the end game.
3. Solutions to wicked problems are not true-or-false, but good-or-bad. No definitive formulation and no stopping rule means the only success is when the stakeholders "feel good enough."
4. There is no immediate or ultimate test of a solution to a wicked problem. Any solution generates a wave of unpredictable consequences.
5. Every implemented solution to a wicked problem has consequences. Unanticipated side effects are the norm.
6. Wicked problems don't have a well-described set of potential solutions. Stakeholders have different views of what is acceptable.
7. Each wicked problem is essentially unique. The art of not knowing too early what solution to apply is critical. Decision making must often be delayed until the last possible moment to allow for changing requirements and technologies to assure success.
8. Each wicked problem can be considered a symptom of another problem. Changing constraints and interlocking issues are embedded in a social context.
9. The causes of a wicked problem can be explained in numerous ways. Stakeholders have varying views on what the problem is, who or what is causing it, and how to resolve it.
10. The planner (designer) has no right to be wrong. Scientists formulate hypotheses which may be tested and found wrong. Designers are not allowed to be wrong. They must get it right the first time.

I've been a VP of Engineering or CTO of nine companies. The goal for me at every company was to solve a wicked problem. That's why SCRUM was invented and why it has been used extensively in the last five companies.


Blogger Damon Carr said...

I was so happy to see another person sharing my views on Wickedness and Agile. To me I cannot see how they could be separated...

I posted this on the new Google site on the topic and if you feel it's adding value I'd love your review as a well know industry expert.

Kind Regards,
Damon Wilder Carr

7:14 PM  

Post a Comment

<< Home