Code Ownership

We need a collective and clear code ownership

The What

Code ownership is NOT one person who owns a codebase. Instead, it refers to how we collaborate on a shared codebase.

The How

Prerequisites

  • The team owns the codebase

  • The team works in an agile way

  • The team embraces risk and learns from failure

  • The team doesnโ€™t have a heavy and prescriptive process

Create a supportive environment

  • Recognise the assistance of other team members in achieving their goals

  • Recognise the contributions to improve Dev Experience, even though it isn't visible

  • Recognise the patience to tackle tech debt

  • An appropriate level of autonomy

Narrow the ownership when appropriate

  • In many cases, splitting ownership is not ideal, but it can help you tackle small, maintenance & repeated tasks. e.g.,

  • Upgrade dependencies

  • Approve PRs generated by Renovate

  • Bake the duties in the development workflow

  • Keep track of who owns what in a shared document

โœ… Exceptions

  • It only works on the known challenge with a certain solution

๐Ÿ”ด Red Flags

  • Donโ€™t go too far down the track

  • Code ownership may demotivate the team

๐Ÿ“œ Tips

  • Recognise desirable behaviours, e.g., refactoring, patching, improving dev experience, tidying up, improving CI/CD pipelines, etc

  • It's quite OK for product managers or stakeholders to be outcome-driven

  • The tech lead should recognise the contributions made on the journey to their goal

๐Ÿ•ณ๏ธ Pitfalls

  • Simply establishing clear ownership will not help you build a high-performing team

Last updated