@drpicox
HOMEBLOGTESTINGTEACHING

No Onwership

There is a concept called "ownership" on code. It states that given a repository, package, or class, there is one owner responsible for updating and maintaining it.

This concept is wrong. The individual ownership, an individual or a group, is contrary to Agile principles. Agile assumes the collective ownership. No one owns the code; it belongs to the whole team involved in the project. Any member can alter or improve any module at any time.

The "ownership" is expensive.

All owners are busy; they have they own blacklog to develop. Frequently happens that to implement one new feature in one module, it requires a change in another module of a different owner. The problem is that the other owner is busy. Then the feature stalls until someone is able to update the other module. This problem produces lots of overheads, delays, and the detriment of the cost/opportunity radio.

But the question is, why?

Why people stick to ownerships when it is expensie and Agile discourages it?

The problem is insecurity. No one wants another developer messing with his code and breaking functionalities. No one wants to touch an unknown module and risk to break features. A kind of agreement appears in which both parts conform to follow individual ownership.

There is a solution. The solution is Testing. If we create a set of tests coherent, complete, and sound, the insecurity disappears. It not possible anymore to introduce bugs silently; it is not possible to break things. If someone adds a new feature to the code that I usually contribute, there is no problem; I will not break that feature. These kinds of tests are the ones that appear from TDD and BDD.

It is not a surprise that Testing is the solution to the Ownership problem. Agile was born assuming technical excellence and excellent Testing.

So from now on, remember, there is no ownership, just collective ownership. And it requires good Testing. The kind of Testing that also reduces the cost of your project in the long term. It is a win-win scenario.

See [Testing]

Copyright © 2022 David Rodenas
G · T · M π