Questions tagged [code-ownership]

Code ownership is the concept of who is responsible for the oversight, maintenance, and updates to a particular block of code. Some places have a collective code ownership policy, others require specific people to sign off on changes to a given section of code that they are the expert for.

Code ownership deals with how strong the bond between a developer and a given part of code is. This can range from strong, to week, to collective.

In a strong ownership model, specific developers are responsible for all the changes to a given module and only they are allowed to make changes to that model. Someone else desires changes, they must talk to the owner of that code and have them make the code (or send them a patch to incorporate).

In the weak model, ownership is still assigned to a given developer, but the developer is expected to keep an eye on changes and do code reviews of code in it rather than be responsible for all changes.

The collective model of code ownership is that there is no individual who owns the changes over oversight to any given model and anyone can make changes anywhere. This model is often found in agile shops and part of the extreme programming principles (see Extreme Programming Code Ownership).

Related reading:

20 questions
72
votes
7 answers

How do I take responsibility for my code when colleague makes unnecessary improvements without notice?

One of my teammates is a jack of all trades in our IT shop and I respect his insight. However, sometimes he reviews my code (he's second in command to our team leader, so that's expected) without a heads up. So sometimes he reviews my changes before…
Jesslyn
  • 839
  • 7
  • 9
54
votes
5 answers

How to deal with fear of taking dependencies

The team I'm in creates components that can be used by the company's partners to integrate with our platform. As such, I agree we should take extreme care when introducing (third-party) dependencies. Currently we have no third-party dependencies and…
50
votes
13 answers

*Code owner* system: is it an efficient way?

There is a new developer in our team. An agile methodology is in use at our company. But the developer has another experience: he considers that particular parts of the code must be assigned to particular developers. So if one developer had created…
sergzach
  • 697
  • 5
  • 11
48
votes
13 answers

Is individual code ownership important?

I'm in the midst of an argument with some coworkers over whether team ownership of the entire codebase is better than individual ownership of components of it. I'm a huge proponent of assigning every member of the team a roughly equal share of the…
Jim Puls
  • 707
  • 5
  • 8
40
votes
12 answers

Unwritten rules of rewriting another team member's code

We are practicing collective code ownership. To my understanding this means that any developer can change any line of code to add functionality, to refactor, fix bugs or improve designs. But what about a complete rewriting of code from a developer…
sglahn
  • 511
  • 2
  • 6
  • 6
28
votes
5 answers

Is code ownership a code smell?

This is something I've been thinking about ever since I read this answer in the controversial programming opinions thread: Your job is to put yourself out of work. When you're writing software for your employer, any software that you create is to…
26
votes
12 answers

Emotional attachment to code

As an employee of a company, when you write code do you feel like you have an attachment to it? Do you feel that you have some ownership of the code? Or do you write it completely detached from it without any concern about what happens to it after…
John Shaft
  • 2,527
  • 2
  • 21
  • 30
22
votes
2 answers

Is feature ownership a good practice?

Recently in my company it has been suggested that one developer should focus (and only one) in one feature. That would mean something like setting the developer aside of the normal team routine, releasing it of some other responsibilities (meetings…
mdelolmo
  • 331
  • 2
  • 6
15
votes
11 answers

How to address the concerns of the software architect but still maintain collective code ownership?

The quality of the code in our software is indeed lacking. When you change a line of code in one component it usually breaks code in other components. Our software architect blames this on collective code ownership. He believes that if every…
Eugene
  • 1,943
  • 1
  • 21
  • 35
11
votes
3 answers

Who owns code if project cancelled

The problem: I am working on a freelance marketplace, and I decided to cancel project with one of my clients, because client is impossible to work with with limitless delays and lots of bugs in his backend. I want to give him a partial refund…
user85376
9
votes
3 answers

Is collective code ownership mandatory in Scrum?

Is is an absolute must when following the Scrum methodology to practice collective code ownership, instead of for example weak code ownership?
Dimitri C.
  • 1,336
  • 13
  • 17
9
votes
4 answers

Does Fred Brooks' "Surgical Team" effectively handle the bus factor?

My team of 4 experienced developers works on a large, modular Windows application (approx. 200 KLoC). I have focused on the core codebase since the beginning of the project (3 years ago) and have gradually shifted to a semi-lead developer position,…
Kevin McCormick
  • 4,064
  • 1
  • 18
  • 28
8
votes
6 answers

In Agile development, who owns the software "features" and how to you manage the development?

Some development teams in my company are switching to Agile development practices and their developers' work seem to be diminishing to discuss and program minutia about trivial software features because of two week iteration cycles. And also because…
Kavka
  • 330
  • 2
  • 11
7
votes
3 answers

Code ownership: What should I do when a dev leaves or team splits?

There are multiple ways of tracking code ownership (i.e., collective, team or individual). In case of team or individual ownership, how do you: track ownership? deal with situations when dev leaves or team splits/re-organizes for new projects?
4
votes
6 answers

When is it right to edit the code written by a co-worker?

For which issues is it right to edit the code written by a co-worker? For which issues is it wrong?
Tamara Wijsman
  • 8,259
  • 14
  • 58
  • 94
1
2