The Zero (0) Complexity Business IT Design principles

Architecture and design principles for preventing unnecessary complexity in business IT systems, focusing on simplicity, human needs, and maintainability.

  1. Put People first!

    Technology should serve human needs, not the other way around. Design decisions must prioritise the people who will use and maintain the system.

  2. Only use what you understand.

    Avoid adopting technologies or patterns you cannot fully explain. Understanding enables better decisions and easier troubleshooting.

  3. Define specific criteria that are tangible to measure complexity.

    Establish clear, measurable indicators for complexity so you can objectively assess whether a solution is becoming too complicated.

  4. Create a model of your solution

    Visualise and document your architecture before building. Models help identify problems early and communicate intent clearly.

  5. Separation of concerns

    Keep different responsibilities in distinct parts of the system. This makes components easier to understand, test, and modify independently.

  6. Reduce all waste.

    Eliminate unnecessary features, code, and processes. Every element should serve a clear purpose or be removed.

  7. Problems should be fixed through simple solutions.

    Resist the urge to add complexity when solving problems. The simplest solution that works is usually the best one.

  8. Design for change.

    Build systems that can adapt to new requirements. Assume that needs will evolve and plan for modification from the start.

  9. Make sure you can manage IT!

    Only implement what your team can realistically operate and maintain. Unmanageable systems become liabilities.

  10. Privacy by design.

    Build privacy protections into the architecture from the beginning, rather than adding them as an afterthought.

  11. Never over engineer

    Build what you need now, not what you might need later. Speculation about future requirements often leads to wasted effort.