Knowledgebase

Software Architecture: Everything That Matters, Briefly Print

  • softwareengineering, software, troubleshooting, guide, howto, solution, zillionkinghost, hosting
  • 0

The summary.

ARCHITECTURE IS THE DECISIONS THAT ARE EXPENSIVE TO CHANGE

Which is what distinguishes it from design, and quality attributes drive it more than features do.

MOST SYSTEMS SHOULD START AS A WELL-STRUCTURED MONOLITH

It is simpler in every respect, and boundaries can be extracted later if genuinely needed.

Distributing a system that did not need it adds network calls, partial failure and operational complexity for nothing.

DRAW BOUNDARIES WHERE THINGS CHANGE TOGETHER

Parts that change together belong together. Test each with: can you describe what it does in one sentence, without using "and"?

Boundaries that are not enforced are eroded.

KEEP BUSINESS RULES INDEPENDENT OF FRAMEWORKS

Infrastructure is what changes; business rules are what is worth preserving.

USE ONE VOCABULARY, SHARED WITH THE BUSINESS

Translation between business and technical terms is where misunderstanding lives. And the same word means different things in different parts of a business.

RECORD DECISIONS, ALTERNATIVES AND CONSEQUENCES

They are questioned for years and the reasoning is forgotten within months.

CHANGE ARCHITECTURE INCREMENTALLY, NEVER BY REWRITE

Feature parity takes far longer than expected, and fixed defects return.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot