One of the best things about Google is that you can go looking for information about one thing, find something tangentially related, and end up learning (or relearning) something interesting. In my case I wanted to know what the academic world thinks of the programming model embedded in Java - but found myself wandering off in search of the implications of wickedness in systems design problems.
The starting point for that was a page by Vicki L. Almstrum titled Notes on the notion of wicked problems; apparently part of computer sciences course on software engineering at the University of Texas.
Here's a key paragraph and a list:
The concept of wicked problems in design was originally proposed by H. J. Rittel and M. M. Webber (1984) in the context of social planning. Rittel and Webber suggested that the following rules define the form of a wicked problem:
- There is no definitive formulation of a wicked problem.
- Wicked problems have no stopping rule.
- Solutions to wicked problems are not true-or-false, but good-or-bad.
- There is no immediate and no ultimate test of a solution to a wicked problem.
- Every solution to a wicked problem is a "one-shot operation"; because there is no opportunity to learn by trial-and-error, every attempt counts significantly.
- Wicked problems do not have an enumerable (or an exhaustively describable) set of potential solutions, nor is there a well-described set of permissible operations that may be incorporated into the plan.
- Every wicked problem is essentially unique.
- Every wicked problem can be considered to be a symptom of another problem.
- The existence of a discrepancy in representing a wicked problem can be explained in numerous ways. The choice of explanation determines the nature of the problem's resolution.
- The planner (designer) has no right to be wrong.
"No right to be wrong," now that's wicked.