Changes for page Collective Ownership
Last modified by chrisby on 2024/02/27 16:05
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,15 +1,7 @@ 1 -Code is collectively owned. Any developer of the teamcan change any module at any time.1 +Code is collectively owned. Any developer can change any module at any time. 2 2 3 3 ### Benefits 4 4 5 -* **Improved Team Unity**: Collective ownership eliminates factions and hierarchythrough equal access rights to the code.5 +* **Improved Team Unity**: Eliminates factions and hierarchy. 6 6 * **Reduces Duplication**: Shared logic between different modules in the project through shared access. 7 -* **No Bureaucratic Hurdles**: Not having to ask and wait for permission to apply constructive code changes saves time. In teams where there is no collective ownership, it is not uncommon for reasonable improvements to even be blocked. 8 -* **Module Responsibility**: If may make sense to have people responsible for specific modules, but they should only monitor changes, not block them. 9 -* **For big code bases, collective ownership may go across teams** like in an open source project, but company internal. Other teams create MR's and the team responsible has to approve it. 10 - 11 -### Specialization vs Generalization 12 - 13 -While specialization increases productivity in a specific area, generalization fosters growth in technical knowledge and team support. Aim for a balance between the two. Example: 14 - 15 -* A backend specialist may be responsible for a story that requires both frontend and backend changes. Ideally, the backend specialist will have enough general knowledge to solve the task on his own, but if not, he should be paired with a frontend specialist to solve the problem and expand his frontend knowledge. If the task is still too complex or difficult, the next options might be to reassign the task to another developer or get help from the team, and this decision should be made transparently and collaboratively by the team. 7 +* **Balancing Specialization & Generalization**: While specialization increases productivity, generalization fosters technical growth and team support. Aim for a balance between the two.