#Design
31 articles
The Abstraction Trap in Architecture Design
Why sharing domain logic can quietly turn into architectural debt, while technical concerns can safely be shared — with nuance around authorization and PII-sensitive logging.
Differentiating Architecture Strategy, Tactics, and Design
Differentiate architecture strategy, tactics, and design using 5W1H framework to clarify why, what, how, when, where, and who decisions.
Good Architecture Strategy, Bad Architecture Strategy
Exploring the differences between effective and ineffective architecture strategies.
Why and When to Write an Architecture Strategy
Develop architecture strategies to eliminate ad-hoc technology decisions and establish technology standards across teams.
Key Points to Consider When Writing an ADR
Master ADR writing by focusing on atomic decisions, documenting trade-offs, team discussions, and technical writing principles for architecture.
Difference Between Requirements and Constraints
Distinguish requirements from constraints in software design using ISO 29148 definitions for effective architecture trade-offs.
Balancing Coupling in Software Design: Principles of Modularity for Sustainable Growth
Balancing Coupling in Software Design: Principles of Modularity for Sustainable Growth
Clean Code Cookbook: A Recipe Collection for Improving Code Design and Quality
Clean Code Cookbook: A Recipe Collection for Improving Code Design and Quality
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
Practical Techniques for Building System Architecture
Practical Techniques for Building System Architecture
About Architecture, Architects, and Architecting
Understand architecture as essential system structure, architect responsibilities, and architecting activities for building aligned systems.
Cohesion and Coupling
Understand cohesion and coupling as software design metrics. Learn the 7 levels of cohesion (coincidental to functional) and 6 levels of coupling (content to data) with practical examples.
Considering the Shelf Life of Design
Consider design shelf life across business, organization, product, and technical perspectives. Balance constraints and trade-offs.
Structure of My System Specification Document
Learn to structure system specification documents with sections for architecture, data models, APIs, and sequence diagrams for design clarity.
Considering Architecture Strategy
Understand architecture strategy as systematic policy for building and evolving systems, covering vision, principles, and scalability planning.
Architect's Textbook: Building Software Architecture that Creates Value
Architect's Textbook: Building Software Architecture that Creates Value
Tidy First? ―Experiential Software Design for Individuals
Tidy First? ―Experiential Software Design for Individuals
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
freee Technical Book: Multi-Product Development at freee
freee Technical Book: Multi-Product Development at freee
Reliability Patterns
Learn cloud reliability patterns from AWS, Azure, and GCP. Covers Circuit Breaker, Bulkhead, Ambassador, Retry, Queue-Based Load Leveling, BFF, and other fault-tolerance design patterns.