Code Ownership
Every part of the codebase should have someone who cares for it: knows how it works, reviews changes to it, and keeps it healthy. But it must not become private territory that only they can touch. Good ownership means clear stewardship plus shared access. The system has caretakers, but no single points of failure.
There is a balance to strike. With no ownership, code decays. Nobody maintains it, quality slips, and changes are not reviewed by anyone who understands the area. With ownership that is too rigid, you get bottlenecks and the risk that only one person can change or even understand something. The aim is shared ownership with clear stewards. Everyone can contribute anywhere, and each area has people responsible for its health.
This connects Ownership & Accountability (owning outcomes), Collaboration & Teamwork (spreading knowledge), and Code Review (stewards review changes to their area).
Steward without gatekeeping
- DoMake ownership explicit. Each significant area has named stewards (for example via CODEOWNERS) responsible for its health and for reviewing changes to it.
- DoKeep ownership shared. Anyone can contribute to any area, with the stewards reviewing. This is shared ownership, not private territory (see Code Review).
- DoSpread knowledge on purpose, so no area depends on one person. Pair, document, and rotate (see Collaboration & Teamwork, Documentation as Code).
- DoAs a steward, keep your area healthy: tests, docs, dependencies, and tech-debt paydown, not just working (see Technical Debt).
- AvoidHoarding knowledge or making yourself the only person who can touch something. Being the only one who understands it is a risk, not job security.
Own orphans and edges
- DoClaim or assign ownership of unowned code rather than letting it decay. Orphaned areas are where quality and security quietly slip (see Ownership & Accountability).
- DoLeave code you touch a little better than you found it, even outside "your" area.
- ConsiderReviewing ownership from time to time as people and priorities change, so it stays current.
- AvoidUsing "not my code" as a reason to ignore a problem you have spotted. Flag it or fix it.
Self-review checklist
- AskDoes this area have a clear steward — and is that reflected (e.g. CODEOWNERS) so changes get the right review?
- AskCould more than one person understand and change it, or does it depend on one person?
- AskAm I gatekeeping anything that should be shared?
- AskIs there orphaned code here that needs an owner?