This
post explains Tame Problems, Wicked Problems and how these two are different.
It also talks about why (the steps used in) the waterfall model of software
development is in-effective in solving Wicked Problems and suggests a generic
approach that could be used to solve wicked problems. 
0-0-0-0
The
problems that scientist and engineers are usually focused on are known as Tame
Problems. An example can be solving an equation in mathematics or analyzing the
structure of an unknown compound in chemistry or solving a chess puzzle. For
each, the objective is very clear and it is also clear whether the problem is
solved or not. 
The
problems in natural sciences are definable and may have a solution that can be
found with sufficient effort (based on complexity of the problem).The kind of
problems in the public domain , for e.g. public transportation, education,
public health and policy decisions are inherently different from the problems
that scientists deal with. For the problems in the public domain, what is to be
solved is not clearly defined and whether a solution is reached or not is
difficult to ascertain. Problems with such characteristics are called Wicked Problems. 
Following
table contrasts Wicked Problems and Tame Problems. 
| 
Wicked
  Problems and Tame Problems  | ||
| 
Characteristics
   | 
Tame
  Problem  | 
Wicked
  Problem  | 
| 
Problem Formulation  | 
This
  can be exhaustively formulated so that it can be written on a piece of paper
  and shared it with a person who will then solve it. You can ask a knowledgeable person to solve a quadratic equation and not expect any further queries | 
Exhaustive
  formulation of a problem is not possible since the solution chosen defines
  the problem.  For e.g, you cannot tell a person to develop a software solution to a retail banking system without expecting any further queries. The interactions are important for proper formulation of the problem. | 
| 
Stopping Rule  | 
For
  a tame problem, for e.g. chess problem or a Maths problem, once the
  combination of moves or steps are found, the problem is solved and that is
  the end  | 
For
  a wicked problem, there is no such stopping rule.  For e.g. when developing a software product, there is no way for us to know when the problem is solved | 
| 
Testing the Solution  | 
Given
  a solution to a tame problem, it can be tested and we can conclude the
  solution as correct or wrong. It is easy to check if a quadratic equation is
  solved correctly or not  | 
For
  wicked problems, correct or wrong is not applicable.  | 
| 
List of permissible operators  | 
There
  is an exhaustive list of permissible operations for a tame problem. for e.g
  chess rules or steps involved in solving a quadratic equation  | 
For
  a wicked problem, there is no way a enumerable list of permissible operations
  can be found, as these depend on the person solving the problem  | 
| 
Problem as a discrepancy – aka the
  difference between the current state and desired state  | 
With
  tame problems, there is a single explanation for discrepancy  | 
With
  wicked problems, there are many explanations for the same discrepancy and we
  don’t know which one is the best. For e.g., the need for a new software solution can be attributed to changing customer needs or market conditions or an existing software that can no longer be enhanced | 
| 
Scope of a problem  | 
It
  is very easy to define the scope of a tame problem  | 
With
  wicked problems, it is very difficult to establish the scope of a problem  | 
| 
Testing the solution  | 
With
  tame problems, it is easy to test the solution  | 
With
  wicked problems, there is no immediate or ultimate test of a solution  | 
| 
Number of attempts  | 
There
  can be repeated attempts for a tame problem.  | 
A
  wicked problem is a one-shot operation. Each attempt matters and is
  consequential. You can't build a software, get people to use it and then
  change it without any consequences.  | 
| 
Uniqueness  | 
Tame
  problems are not unique. Lessons learnt from solving a problem can be carried
  over to solving another problem. e.g. quadratic equation or chess problems  | 
Every
  wicked problem is essentially unique. Lessons learnt from the solution to
  problem can’t be implemented as such for another solution  | 
| 
Right to make a mistake  | 
The Tame problem solver may be wrong and this doesn't mean any major consequences
   | 
The
  wicked problem solver has no right to be wrong, he is responsible for his
  acts and the consequences  | 
0-0-0-0
The Traditional Model of Software development a.k.a
Waterfall model was derived out of the systems approach to
problem solving. Systems approach is defined as attacking problems in a
rational, straightforward, systematic way, characterized by a number of
attitudes which the person in charge of solution or the Project manager should
have. The person should be rational, objective and scientific in attacking his
problems. 
Waterfall
Model involves following a certain sequence or steps or phases for attacking a
project. 
#1 Understand the problem
#2 Gather information to understand the context of the problem
#3 Analyze the information
#4 Generate solutions
#5 Assess the solutions and choose the best one
#6 Implement the chosen solution
#7 Test
#8 Modify the solution, if necessary, and learn for the next time
The
above mentioned approach was successful has been found to be successful, long
as the steps could be followed in a sequence. for e.g. where the problem
definition is not clear, it is not possible to apply this approach to solve a
problem. 
Limitations and short comings of the approach: 
- This type of
     approach has been found to work in the context of a strong autocratic
     decision structure ( for eg. Military domain) but not in problems with
     respect to corporates and communities 
- It expects
     the Project Manager to be Rational, understand the problem as a whole and
     anticipate the consequences of the decisions he/she makes. Recent research
     has show that human beings are not as rational as it was thought out to
     be. This has spawned a whole new field related to behavioral studies. 
- This
     approach fails where understanding the problem as a whole and anticipating
     the consequence of decisions is not possible 
- This
     approach fails when the steps can’t be followed in a sequence. for e.g. when the requirements for a project change rapidly or that development has to be speeded up, waterfall falls short.
This is not to say that Waterfall is wrong or should not be used. Waterfall works well when what has to be built is very clear and there is very little change.
Newer Approaches 
The
various contradictions that are inherent in the definition of a wicked problem
makes the waterfall model in effective. for e.g. first step in the approach,
'understand the problem' is not possible for wicked problems as explained in #1
and #2 in the table above. Moreover, generation of solution(s) is not a single
step for wicked problems. With wicked problems, the solution definition goes on
all the time, till we say the problem is solved. Hence people were forced to
explore other approaches to problem solving. 
The
successful approaches to wicked-problem solving have been found to centre around
the following principles 
Principles of the newer approaches to wicked Problem
Solving
- The
     knowledge needed to solve a problem is concentrated in many heads and not
     in a few. 
- The people
     who have the best expertise and most knowledgeable are those who are
     likely to be affected by the solution 
- For
     potential solutions, it is better to check with those who are affected by
     the solution and not the experts 
- Nobody wants
     a solution forced on them. People who are the ultimate beneficiaries of
     the solution want to be actively involved in the planning process 
- Planning is
     a political process 
- Some of the
     steps/decisions needed to develop a solution need not necessarily be
     scientific 
- The choices
     for a solution or a step depends on who make the decision and the final
     solution depends on the judge 
- Communicating
     the basis of judgments is crucial for a successful solution, since
     decisions arrived at are more intuitive and less scientific 
- The
     planner/designer plays the role of a facilitator and not that of an
     expert/one who offers solutions to problems faced 
Please note that agile approach to solving
enterprise class problems involve some or all of the above principles.
0-0-0-0
Approaching Wicked Projects While the
definition of a wicked problem rules out a way to solve the problem like how a
series of steps can be made out to solve a tame problem like a quadratic
equation, past knowledge in successfully managing and delivering on wicked
projects have taught us the following
- Recognize that a project is a wicked project: In doing
     so, this ensures that the right methodology is adopted. Not doing so is
     the equivalent of treating a patient with disease X for disease Y 
- See if the project can be Tamed: See if the project can be
     broken down into smaller pieces having well defined boundaries with the
     help of stake holders. This ensures that the typical risk associated with
     a Wicked Project is brought down to a great extent 
- Use Adaptive Software Processes: Wicked problems are resolved
     through discussion, consensus, iterations, and accepting change as a
     normal part of the process. Here the key is to ensure that continual
     adaptation of processes to ensure completion of work at hand is a way of
     life. Any of the Agile software development approaches like Adaptive
     Software Development, ASD (Highsmith, 2000); Crystal Methods (Cockburn,
     2002); Dynamic Systems Development Method, DSDM (Stapleton, 2003);
     Feature-Driven Development, FDD (Palmer and Felsing, 2002); Scrum (Schwaber
     and Beedle, 2001); and Extreme Programming, XP (Beck, 2000) can be used to
     solve wicked problems/projects. 
Note:
Out of the above, Scrum Methodology has gained lot of popularity and is widely
used 
Take away for the Reader 
On problem categorization 
- Any problem
     that is difficult or impossible to solve because of incomplete,
     contradictory, and changing requirements that are often difficult to
     recognize, can be termed Wicked 
- The term
     "wicked" is used to denote resistance to resolution, rather than
     evil 
- Choosing the
     right approach to solve a problem is key to the solution. 
- Careful
     perusal of the definition of Wicked Problem rules out the possibility of a
     generalized solution existing for wicked problems. 
On approaches chosen 
- Planning
     should be considered an iterative process and not an one time activity 
- The role of
     a Project Manager is that of a facilitator and not that of an expert 
- The
     approaches mentioned above, provides us with enough arguments to
     understand the limitations of waterfall model, when to use it and more
     importantly, when not to use it 
- This along
     with the concept of wicked vs tame problems give a very clear indication
     of the shortcoming of the traditional way of software development 
Suggested Reading 
Rittel,
Horst and Webber Melvin. "Dilemmas in a General Theory of Planning"
Policy Sciences, 1973: 155-169.
DeGrace, P., and L. H. Stahl. Wicked Problems, Righteous Solutions. Prentice Hall, Yourdon Press, 1990
DeGrace, P., and L. H. Stahl. Wicked Problems, Righteous Solutions. Prentice Hall, Yourdon Press, 1990
 
No comments:
Post a Comment