software architecture
Paul Clements • Software Architecture in Practice, 4th Edition
enabling incremental development
- If your system requires high performance, then you need to pay attention to managing the time-based behavior of elements, their use of shared resources, and the frequency and volume of their interelement communication.
- If modifiability is important, then you need to pay attention to assigning responsibilities to elements and limiting the
Paul Clements • Software Architecture in Practice, 4th Edition
Rick Kazman • Software Architecture in Practice, 4th Edition
the two earlier points are: 1) a system ability to meet desired or required quality attributes is mostly determined by its architecture 2) the ease of makcing chnages (modifiability) is a quality attrbute

Programming Pearls
Org debt is just as dangerous as tech debt but is talked about much less
Org debt builds up every time a company operates without discipline:
- Inconsistent principles for promotions and comp
- Hiring without a clear scope for the new role
- Trying new operating models but not sticking to them
- Allowing meeting creep
In the short term, it's always easier to just let this stuff happen. But in the long term, org debt will destroy a company. Execution will slow down, people will get frustrated, and the best ones will leave.
If you're considering joining a company, assess org discipline in the same way you'd assess their metrics and team.
Augmented Coding: an Experience Report
Paul Clements • Software Architecture in Practice, 4th Edition
architecture should prescibe constraints on implementation