In: Computer Science
Please read through the lecture notes on Wicket problem
Wicked Problems: Characteristics
Conklin offered a set of six defining characteristics:
1. You don’t understand the problem until you have developed a solution.
2. Wicked problems have no stopping rule.
3. Solutions to wicked problems are not right or wrong.
4. Every wicked problem is essentially unique and novel.
5. Every solution to a wicked problem is a ‘one shot operation.’
6. Wicked problems have no given alternative solutions.
Explain an example of a wicked problem and justifications why it can be considered a wicked problem and how it satisfies each of the above characteristics.
Please read through the lecture notes on Wicket problem
Wicked Problems: Characteristics
Conklin offered a set of six defining characteristics:
1. You don’t understand the problem until you have developed a solution.
2. Wicked problems have no stopping rule.
3. Solutions to wicked problems are not right or wrong.
4. Every wicked problem is essentially unique and novel.
5. Every solution to a wicked problem is a ‘one shot operation.’
6. Wicked problems have no given alternative solutions.
Explain an example of a wicked problem and justifications why it can be considered a wicked problem and how it satisfies each of the above characteristics.
Ans.) An example of a wicked problem maybe developing a word processing program. We may find the requirements to develop this program quite simple and straight forward. fFor example inserting text, formatting text, emphasising on text or handling pragraphs, but these requirements maybe only sufficient for the individual or the developer.
Now we can relate this wicked problem to each of the above charactersictics as to how it is classified into a wicked problem.
1) A wicked problem is not understood until after the creation of the solution.: Until we finally build and release the word processor, we realise that what we thought as sufficient for the program may not be sufficient for everybody out there. Example, users may want to save the document on cloud storage, they might want to spell check what they have written etc.
2) Wicked problems have no stopping rule.: Developing a solution to a word processing software can be understood as an ever evolving process. There is no solution that is absolutely correct and can be called as the ultimate and final solution. Example we can see that since decades, microsoft word is receiving updates and some features are updated every now and then.
3) Solutions to wicked problems are not right or wrong.: A solution that may be right for us may not be right for another individual. Example a user may find automatic spell check or auto correct as annoying but it may be super useful for another person. There can be better solutions or iteratively better approaches to solve the problem. Some times we might have to compromise on whatever we get.
4) Every wicked problem is essentially novel and unique.: We might find that a problem is strikingly similar to another problem. Example developing similar kinds of software for two clients but again, until we have developed and delivered a version of the software to a client, we don't exactly get to understand the problem and its requirements in a better way.
5) Every solution is a one shot operation.: Temporary fixes are a part of software development life cycle. A solid version update might permanently fix the problem in hand. But every now and then we see security patches rolling out for a device software or any computer platform for that matter.
6) Wicked problems have no given alternative solutions. If at all we would have had an alternative solution for a problem, it wouldn't be unique and wicked as we are talking about. We have a finite set of solutions. Whatever we do is our own creativity in solving wicked problems. There may be hundreds of word processing software but depends on what software is most impactful and most widely accepted by users.
Wicked problems in sofware development / design are common. We can only iteratively improve upon it but never satisfy 100% of our users or build a perfect design or implementation for a wicked problem statement.
A thumbs up would be appreciated. :)