📝§ Software Architecture
- What is Architecture?
- § Decisions—decisions are inherent part of software architecture
- Architecture as financial options—how to sell architecture to management
- § Architect role
- Software Modeling—modeling and documenting architecture
- Functional requirements do not drive architecture—non-functional requirements do.
- Constraints as guide rails
- Design Stamina Hypothesis—how spending more time on architecture can make project speed up at later stages.
- Brooks’s law—adding people at late stages makes project later
- Conway’s law—architecture reflects communication structure of organization
- Theory Building View of programming
- Architecture Decision Record
- Not every system needs an architecture
- Presumptive architecture
Resources
Backlinks
- 📝 Ask for objections, not agreement
- 📖 Just Enough Software Architecture
- 📝 Organizational context as architectural constraint
- 📝 § Architect role
- 📝 Architect as guard of conceptual integrity
- 📝 Involve the team into design
- 📝 Architects live in a glass house
- 📝 Not every system needs an architecture
- 📝 How to apply architectural knowledge to programming language design?
- 📝 Architecture as what’s most important
- 📝 Architecturally-significant requirements
- 📝 Architecture as a set of important decisions
- 📝 Architecture is a special case of Software Design
- 📝 § Software Design
- 📝 As a software architect, describe the theory you built
- 📝 Bounded rationality
- 📝 Separate storage and query layers
- 📝 Design Stamina Hypothesis
- 📝 Functional requirements do not drive architecture
- 📝 § Software Development
- 📝 § Programming