TRIZ is an engineering concept created a long time ago in Russia. It proposes that there are 39 main features to any system, and that these can sometimes be conflicting, like for example speed and reliability in a Formula 1 car. The TRIZ matrix puts these features on the axes of a matrix, and list principles that can me applied to mitigate these apparent conflicts.
I have translated these Principles and Features into a Software systems analog to attempt to use the TRIZ matrix as a Software architecture tool.
The 40 Principles are listed here: triz-but-those-russians-are-clever/
The Features of a System are:
- Weight of moving object – Average Size of Message
- Weight of stationary object – Total size of Data Repository
- Length of moving object – Number of Fields per Message
- Length of stationary object – Number of Databases comprising System Data Repository
- Area of moving object – Size of Metadata contained in a Message
- Area of stationary object – Number of Tables Comprising Total system data repository
- Volume of moving object – Size of Message/Data Payload
- Volume of stationary object – Size of Code
- Speed – Speed
- Force (Intensity) – Guaranteed / Not.
- Stress or pressure – System Load
- Shape – Memory Constraints
- Stability of the object’s composition – Stability of Code Base
- Strength – Robustness
- Duration of action of moving object – Per Message/Transaction Processing Time
- Duration of action by stationary object – Overhead Processing Time
- Temperature – Speed of User Interaction
- Illumination intensity – Usability
- Use of energy by moving object – IO Intensiveness
- Use of energy by stationary object – Processor Intensiveness
- Power – Ability to do work
- Loss of Energy – Reduced Processing Capability
- Loss of substance – Lack of Message Integrity / Messages Lost
- Loss of Information – Loss of information
- Loss of Time – Loss of Time
- Quantity of substance/the matter – Size of Database
- Reliability – Reliability
- Measurement accuracy – Data Accuracy
- Manufacturing precision – Data Precision
- Object-affected harmful factors – Side effects on Code
- Object-generated harmful factors – Side Effects on Data
- Ease of manufacture – Ease of Coding
- Ease of operation – Ease of support
- Ease of repair – Ease of Troubleshooting
- Adaptability or versatility – Flexibility
- Device complexity – System Complexity
- Difficulty of detecting and measuring – Difficulty of Instrumenting or Monitoring
- Extent of automation – Extent of automation
- Productivity – Productivity
