Monday 8 November 2010

Questions for thinking about simple contradictions

Simple contradictions arise in many models, many times over. A simple contradiction is when something produces something useful, but also something harmful. Everything has pros and cons, so contradictions are everywhere in the world and in your models. If your models don't contain contradictions, you are not thinking hard enough. Extracting contradictions from a model, and thinking through all the possible ways to improve the system is hard work. By adding rules that recognize contradictions anywhere where they appear in a model, and linking these to creative suggestions, can help you to work rigorously and quickly through options for improving any situation.

Here is a set of rules you can use. They are not the only rules possible, but they have been found to be useful. Before are two screen shots, showing the rules working in practice in Southbeach Modeller.

//A useful set of questions to ask about any contradictory situation, for example, A produces useful B but A also produces harmful C
#contradictions.brainstorming

//introduction
produces(&a=*, &b=useful) produces (&a, &c=harmful) "What solutions come to mind if we ask: How can we have the benefits of {&b} without {&c}?"

//right problem?
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Does {&a} really produce {&c}? Are we looking at the right problem? Is {&c} produced by something else?"

// incremental
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Is there a way to intervene and limit the ability of {&a} to produce {&c}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Is there a way to completely prevent {&a} from producing {&c}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Find a way to remove {&c} while it is being produced by {&a}."

//coping
produces(&a=*, &b=useful) produces (&a, &c=harmful) "How much of a problem is {&c}? Can we find a way to cope with {&c}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Can we put off the harmful effects of {&c} for the time being? How will we cope with {&c} in the future?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Could {&c} be converted into something less harmful?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "What can we introduce to counteract the harmful effects of {&c} produced by {&a}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Assuming we cannot remove {&c} or its effects, can we find a positive use for {&c}?"

// re-design
produces(&a=*, &b=useful) produces (&a, &c=harmful) "What does the next generation of {&a} look like?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Can {&a} be modified so that as to produce less {&c}."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Find the part of {&a} that produces {&c} and remove that part without impacting the ability of {&a} to provide {&b}."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Combine {&a} with something else so that the {&c} is no longer a problem."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Combine {&b} with something else so that the {&c} is no longer a problem."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Change the design of {&a} so that it produces no {&c} at all."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Find an alternative to {&a} that does not produce {&c} yet still produces {&b}."

// the system
produces(&a=*, &b=useful) produces (&a, &c=harmful) "In what way could the system be changed so that the production of {&c} by {&a} is insufficient to have harmful effects?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Is {&c} a problem for {&b}. Can we separate {&a} or {&b} from {&c} into different systems?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "If the production of {&c} is unavoidable can we find a way to isolate the {&c} so that it cannot harm the system?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Can we add something to the system that reduces or eliminates {&c}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Can we add something to the system that makes {&b} more useful so that {&c} is peceived as less of a problem"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Add something to the system that mininises the need for {&b} so that less {&a} is needed so that less {&c} is produced."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Do we need {&a} for reasons other than {&b}? If not we can remove {&a} and avoid {&c}."

// next generation of b
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Think about the future. Will we be obtaining {&b} in another way? Will {&a} therefore be less relevant, solving the problem of {&c}?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "How will the demand for {&b} change in the future? Will it still be obtained from {&a} and will {&c} therefore still be a problem?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "What does the next generation of {&b} look like?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Can we reduce the need for {&b}? If so we can reduce use of {&a} and therefore produce less {&c}."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Find an alternative to {&b} that has the benefits of {&b} but is not dependent on {&a}."
produces(&a=*, &b=useful) produces (&a, &c=harmful) "What does the next generation of a system that contains {&b} look like?"
produces(&a=*, &b=useful) produces (&a, &c=harmful) "Do we need {&b}? If not we can remove {&a} and avoid {&c}."

In the screen shot below (Example 1) showing a simple model to illustrate the principle, the user has clicked on the block labelled 'car' and the Modeller has found the contradiction and generated the suggestion list.

In the second screen shot (Example 2) the user has clicked on the block labelled 'economic growth and the tool has found two contradictions and generated the questions for them using the MyCreativity rules above. In each case, the user has set scope 'laser'. If the scope had been widened, clicking in one place on the diagram would have applied the rules recursively across the diagram. Using rules like this, it is easy to find all contradictions in any model. The simplest rule to find all contradictions in a model is:

produces(&a=*, &b=useful) produces (&a, &c=harmful) "{&a} produces useful {&b} and also produces harmful {&c}"

For the model below, it would produce:

1.   [economic growth] produces useful [quality of life] and also produces harmful [pollution]
2.   [economic growth] produces useful [quality of life] and also produces harmful [resource degradation]
3.   [cars] produces useful [travel] and also produces harmful [pollution]



Example 1






















Example 2

No comments: