Customer Space Problem|
Software (System) Solution|
Nature in Theory and Practice
|A||Well-defined||Goals and requirements known in advance, solution fully specifiable||
• Plan-driven software engineering and management|
• KEYS: Time-to-market economically with optimal solutions
Except ill-defined boundary conditions|
Example 1: Calculation of interest in banking software (mathematically defined, ill-defined boundary conditions such as number of needed calculations per second or accuracy as number of digits in output.
Example 2: Implementation of a new law, e.g. in banking.
|• Optimize for development risk. Example: Implement first most crucial parts of the law (ones with most penalties). Implement less risky parts later, closer to deadline in order to avoid or minimize the risk of paying penalties.|
|B||Ill-defined||Success criteria and requirements uncertain, multiple possible solutions.||
• Agile software development (accommodating uncertainty and change iteratively)|
• KEYS: Stepwise shaping following customer feedback to converge for a mutually satisfactory solution
|Example: developing new type of application||
• User-experience driven;|
• Example: Measure user retention and service usage and develop or pivot accordingly.
|C||Wicked||Problem changes over the life-cycle influenced by the software solution interacting with the users and the system environment.||
• Evolutionary software development with continuous experimentation and feedback|
• KEYS: Continuous value definition and assessment (assumptions), core asset development and management, platforms and ecosystems integration (co-creation)
|Example: New product development, e.g., new fitness device platform enabling customized software updates||• Surveying users and the ways they use the product and insert new software|