What good software looks like at REA

Alison Rosewarne ยท article ยท 2018-06-12 Reader ๐Ÿ–ฅ๏ธ

Changeability & OptionalityCode QualityModularity & CouplingPlatform EngineeringSociotechnical ArchitectureSoftware Design Fundamentals
What makes software 'good' at REA is not a single abstract ideal but three concrete, criteria-based lenses โ€” dev (changeability), ops (operability), and arch (bounded responsibility) โ€” that the teams who own each system rate themselves against on a recurring basis, so architectural quality becomes an organizationally-supported habit rather than a one-time design decision.

practical ยท mixed โ€” Primarily expository โ€” it documents an existing internal practice โ€” but structured argumentatively: it justifies why three lenses (not one, not many), why quality/security are folded rather than separate, and why the custodianship/devops/microservices trio matters. Ultimately practical: it argues for a way of assessing and driving change in software, not just for understanding it.

Structure

PartRole
Introduction: framing the problem of heterogeneous software needing a shared quality vocabularycontext
The categories overview: dev/ops/arch lenses, three-tier rating scale, and the decision to fold quality/security in rather than call them out separatelycore framework definition
'About REA': company history (Perl to polyglot, garage to hundreds of engineers, ad-hoc servers to cloud) and the three most consequential recent changes (micro-services, devops, application custodianship)causal context / evidence for why the framework takes this shape
Dev / Ops / Arch sections: for each lens, a defining question plus specific bulleted criteria at three tiers of expectationoperational detail โ€” the actual assessable content
Conclusion: framing 'good software' debate as an ongoing craft discipline, plus the periodic review process and its organizational payoffconclusion / call to ongoing practice

Key terms

Propositions

Arguments

Software at REA should be assessed and driven toward change using exactly three named lenses (dev, ops, arch) rather than a single good/bad judgment or a longer list of many narrow categories. strength: medium
Explicit premises:
Implicit premises:
Inferences:
The application custodianship model โ€” distributed authorship via pull requests but centralized architectural accountability in a single owning team โ€” is the right way to govern software quality at REA's scale. strength: medium
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Closes gaps elsewhere

Related documents