Articles tagged software-architecture
-
Domain-Driven, Data-Oriented Design (DDDOD)
Bill Kennedy’s Go-centric take on DDD focusing on data flow, validation, and layered boundaries.
-
Package Oriented Design
Bill Kennedy’s approach to Go package design: purpose-driven packages, clear boundaries, and modular structure.
-
TDD Effects on Quality and Productivity
Summary of Bissi et al.'s systematic review on Test-Driven Development impacts.
-
Software Aging
Summary of David Parnas’s 1994 essay on software aging, causes, and preventive practices.
-
Modularization Criteria — Parnas 1972
Summary of David Parnas’s criteria for decomposing systems into modules (KWIC case study).
-
No Silver Bullet — Essence & Accidents
Summary of Frederick Brooks Jr.’s 1986 essay on inherent vs accidental complexity in software engineering.
-
Conway’s Law — origins, literature, and team design
Summary of Melvin Conway’s original essay, subsequent research, and practical implications for structuring engineering teams.
-
Design by Contract (DbC)
Summary of Bertrand Meyer’s Design by Contract principles for robust software.
-
Shape Up: Stop Running in Circles and Ship Work that Matters
Notes and practice guide merging book takeaways and course review on Shape Up by Ryan Singer, connected with The Mythical Man-Month, Design by Contract, Programming with Abstract Data Types, and Domain-Driven Design.
-
Design Patterns
Notes and presentation outline about design patterns, their intent, trade-offs, and related connections.
-
Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-Driven Design (DDD) is a software design approach that focuses on modeling complex systems based on the real-world domains or concepts they represent.
-
ADR — Architecture Decision Records
How to use Architecture Decision Records (ADRs) to document important architectural choices, their context, and trade-offs.