All playbooks
Playbook · Design and build · 6 steps
Starting a new system
Greenfield, guided by Fowler, Brooks, Beck, and Nygard.
“We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change.”
- 1Architecture Is About the Important StuffWhich decisions will be hardest to change? Focus there first.Architecture is the set of decisions that are hard to change, whatever those turn out to be.Open
- 2Monolith FirstDo we know the boundaries well enough to split, or should we start modular?Start with a well-structured monolith; split into services only once the boundaries and the need are proven.Open
- 3Conceptual IntegrityWhat small set of ideas will every part of the design follow?A system should reflect one coherent set of design ideas, even at the cost of some features.Open
- 4Information HidingWhich decisions are most volatile, and where will each be hidden?Decompose systems around the decisions most likely to change, and hide each behind an interface.Open
- 5Architecture Decision RecordsRecord the why for each one-way-door decision as you make it.Capture the why behind significant decisions in short, immutable records future teams can read.Open
- 6Sacrificial ArchitectureHow long should this version live, and what would replace it?Design knowing you may throw the system away, and treat that as a sign of success.Open