Lack of ownership

Ownership is a key tenet of a healthy code base and relies on individuals having a stake in the health of their code. Ownership here doesn't mean that a piece of code belongs to an individual and nobody else can work on it. Instead, it means that a piece of code is fostered by an individual or a group of people, with its ongoing health and reliability a key priority.

A lack of ownership can lead to the key tenets of clean code suffering in the following ways:

  • Reliability: The code's correctness and stability can atrophy over time as new changes are made that unknowingly create fragility. The code's ongoing stability is not monitored or cared for.
  • Efficiency: The code is not measured or observed directly by anyone, with an underlying assumption that it just works. Over time, its efficiency may wane.
  • Maintainability: Having many non-owners making swift and ill-considered changes can result in a non-cohesive architecture that makes ongoing maintenance more difficult in the long run.
  • Usability: The documentation and general usability of the code will not be thought about or monitored by anyone, leading to its atrophy and, eventually, a piece of software that is complicated and burdensome to use.

Properly applied ownership can fundamentally change the otherwise burgeoning atrophy of the preceding tenets:

  • Reliability: The code's correctness and ongoing stability will be cared for and monitored
  • Efficiency: The code will be measured and assessed for efficiency on an ongoing basis
  • Maintainability: The code will retain a singular vision for its architecture and syntax
  • Usability: Documentation will be constantly updated and the code's usability will be an ongoing concern

Fundamentally, ownership is about an individual or a team that has a level of ongoing concern for the code. For this to occur, a level of ego or pride is necessary. An individual or team must have some kind of stake in the ongoing health of the code. It is often the organizational or managerial culture that leads to a healthy or unhealthy level of ownership, and so, again, it is vital to properly communicate and advocate processes and dynamics that will allow us, the programmers, to ensure our code's cleanliness and health.

There are also more severe and unimagined results of a lack of ownership. Due to the lack of pride and feeling of guardianship over our work, burnout becomes more likely as programmers aren't able to actualize their need to feel a sense of pride and self-worth regarding their work. Due to no ownership, team members may not be able to foster a high level of understanding in any one area, meaning that the general knowledge of the team or organization suffers, with everyone only understanding the code base in a very shallow or cursory way.

Beware of too much ego in ownership! Ego is a delicate trait. There is always the risk of too much ownership, which can result in a stubborn and defensive culture where insiders don't let outsiders make changes, and where strong and self-centered opinions run rife. Beware of this. Remember the key tenets of usability and maintainability. These will guide you toward kindness and openness toward those who would wish to use your code or make changes to it.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.131.13.194