Code Review
Where architectural rules are enforced by people rather than by tools.
5 to work through
-
beginner Multiple choice
A team reviews small changes carefully and approves large ones within minutes. Why does defect detection collapse as a change grows, and which single intervention recovers the most of it?
2 min answer -
intermediate
A 40-engineer platform organisation requires two approvals on every pull request. Median time from ready-for-review to merge is 26 hours. A staff engineer proposes one approval plus mandatory post-merge review for low-risk changes. What is gained, what is paid, and when does the bill arrive?
2 min answer -
intermediate
A platform's code review process is slow and catches few defects. What should change?
2 min answer -
intermediate
A team's code review process is slow and catches few real problems. What should change?
1 min answer -
intermediate
Code review latency in your team averages one day. What do you change and what do you measure?
2 min answer
2 terms in this topic
Code Review
Peer inspection before merge — valuable for knowledge sharing and design feedback, and reliably harmful when it becomes a latency bottleneck.
metricReview Latency
The time between a change being ready for review and the review happening, which is usually the largest component of lead time.
Neighbouring topics
Software Architecture
General material on the engineering underneath an architecture.
SOLID
Five design principles, two of which scale beyond the class.
Domain-Driven Design
Ubiquitous language, bounded contexts and context mapping.
Bounded Contexts
Where one model ends and another begins, and why forcing one fails.
Clean Architecture
Concentric layers with dependencies pointing only inwards.
Hexagonal Architecture
Ports defined by the domain, adapters supplied by infrastructure.
Microservices
Independent deployability, and the distributed problems it buys.
Modular Monolith
Enforced internal boundaries without a network between them.
Service Boundaries
Drawing lines along change patterns rather than technical layers.
Design Patterns
Reusable solutions at code level, and when they become ceremony.
Refactoring
Changing structure without changing behaviour, in verified steps.
Technical Debt
Deliberate, tracked and repaid — as distinct from mess.
Testing Strategies
The pyramid, and the contract tests distributed systems add to it.
Contract Tests
Capturing what consumers actually use, not what the API documents.
CI/CD
Continuous integration and delivery, and the architecture that caps them.
Release Strategies
Blue-green, canary, shadow and progressive delivery.
Feature Flags
Decoupling deploy from release, with an expiry date.
Trunk-Based Development
Short-lived branches, and unmerged work as inventory.
DORA Metrics
Throughput and stability moving together rather than trading off.