Overview

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!

principles.html#put-people-first

Principle

Only use what you understand

principles.html#only-use-what-you-understand

Principle

Define specific criteria that are tangible to measure complexity.

principles.html#define-specific-criteria-that-are-tangible-to-measure-complexity

Principle

Create a model of your solution.

principles.html#create-a-model-of-your-solution

Principle

Separation of concerns.

principles.html#separation-of-concerns

Principle

Reduce all waste.

principles.html#reduce-all-waste

Principle

Problems should be fixed through simple solutions.

principles.html#problems-should-be-fixed-through-simple-solutions

Principle

Design for change.

principles.html#design-for-change

Principle

Make sure you can manage IT!

principles.html#make-sure-you-can-manage-it

Principle

Privacy by design.

principles.html#privacy-by-design

Principle

Never over engineer.

principles.html#never-over-engineer

In the next sections, all principles are explained in depth. It is RECOMMENDED to read the rationale for every principle stated.