Overview#
Complex business IT solutions often fail and have a short lifespan. Over time, many complex solutions are deemed disasters—not only in terms of financial costs but also in other critical aspects.
Software for complex business IT problems becomes convoluted when simple principles for avoiding complexity are not followed.
This section provides an overview of the core nocomplexity principles that SHOULD be applied when designing systems.
Hint
Short on time and not a fan of lengthy reading? Simply applying the principles outlined here is a good start. Discuss them. Rethink them. And if you disagree, remember: this is an open publication, and your input is always welcome!
Summary of the Øcomplexity architecture & design principles:
Principle
Put People first!
Principle
Only use what you understand
Principle
Define specific criteria that are tangible to measure complexity.
Principle
Create a model of your solution.
Principle
Separation of concerns.
Principle
Reduce all waste.
Principle
Problems should be fixed through simple solutions.
Principle
Design for change.
Principle
Make sure you can manage IT!
Principle
Privacy by design.
Principle
Never over engineer.
In the next sections, all principles are explained in depth. It is RECOMMENDED to read the rationale for every principle stated.