TRIZ – Inventive Theory of Problem Solving
The idea behind TRIZ is that there exists a universal series of principles for problem solving (read invention) and that these principles can be codified into a set of steps that can apply to any problem. It was developed by a Russian named Altshuller, who headed the Russian patent office in the 1940s and 50s. He examined over 2 million patents and classified the problem solving he found among the various entries. He drew three principles from his investigation:
1. Problems and solutions were repeated across industries and sciences.
2. Patterns of technical evolution were repeated across industries and sciences.
3. Innovations used scientific effects outside the field where they were developed.
Everything that performs a function is a technical system. A piece of chalk, and a blackboard alone do not comprise a system, but if we combine chalk, a board, and an applied force, then we have a system – albeit it a simple one. Other examples of systems include Transportation consisting of cars, roads, maps, drivers, and service stations, or Cars consisting of power train, brakes, heating, steering, and electrical.
There are different levels of innovation. Altshuller found some patents more inventive than others and proposed five levels of innovation:
1. A simple improvement on a technical system.
2. An invention that includes the resolution of a technical contradiction.
3. An invention containing a resolution of a physical contradiction.
4. A new technology is developed containing a breakthrough solution.
5. Discovery of new phenomena.
TRIZ introduces the concept of Ideality. The Law of Ideality states that any technical system, throughout its lifetime, tends to become more reliable, simple, and effective – more ideal. Highly complex systems are further away from their ideality than simple systems.
When improving the design of a system, contradictions appear. Improving the system in one area causes the system to deteriorate in another area. For example, increasing the power of an engine may increase the weight of the engine.
Based on his review of patents, Altshuller found that technical systems developed in certain ways. From this observation he drew up a list of 8 development patterns:
1. Life cycle
3. Multiplication cycle
4. Transition from macro to micro level
6. Scaling up or down
7. Uneven development of parts
8. Replacement of human
Altshuller created a list of 40 principles or techniques for eliminating contradictions. As one improves one facet of a system, it contradicts or comes in conflict with another facet. The 40 principles gives the innovator a list of techniques for resolving the contradiction. For example, Periodic Action is one principle. An example of its use is in watering a lawn. A continuous spray of water can damage the lawn, while a pulsating action can deliver water without damage.
Finally, TRIZ puts forth a methodology for innovation called ARIZ (Algorithm to solve an inventive problem). It’s the central analytical tool and provides detailed steps for solving a problem. There are nine steps:
1. Analysis of the problem – simple statement of the problem.
2. Analysis of the problem’s model – focus on the area of conflict
3. Formulation of the Ideal Final Result (IFR) – physical conflict is resolved.
4. Utilization of outside substances and field resources – resolves unclear problems.
5. Utilization of informational data bank – applies “Standards” to solve it
6. Change or reformulate the problem – if a problem is still not found, return to step #1 and look at the problem in a different way.
7. Analysis of the method that removed the Physical Contradiction – check the quality of the solution if one is found.
8. Utilization of found solution – analyze the effects of the new system.
9. Analysis of steps that lead to the solution – checkpoint to compare the solution with other ARIZ solutions.
Most of the example cases apply to hardware systems but how does it apply to software systems? Quite well as a matter of fact, it works quite well. Each of the 40 principles has a software analog. This article provides a more complete list of software analogs. For example, prior action is analogous to pre-compiling, and periodic action is analogous to scheduling algorithms.
There are many examples of how to apply these techniques. This case study gives one the flavor of how this approach works.
For detailed examples of each of these concepts check out this link.
If you are working with TRIZ, I would like to hear from you. Please email me at firstname.lastname@example.org.
Hall T. Martin