In short, Tragedy of Commons refers to over usage of property or resource that is not owned by any individual. E.g., software code that is in a common repository, and anyone can modify it and utilize it. Why this happens is that each appropriator (user of common resource) wants to maximize their gain or short term advantage and starts overusing/misusing the shared resource, which leads to depletion or erosion of the commonly used resource. In the software domain, the source code becomes unmaintainable since each individual is making short cuts that suit only his short term goals.
The traditional solution to avoid TC is to have a government/management to appoint controllers or managers to the property to prevent miss-usage by individuals. This leads to many problems, e.g., how well the outside controller can observe the usage and how fair his judgments are. If his judgments are less than 75% accurate, then the best option for appropriators is to try overuse the resource according to Elinor Ostrom’s analysis using game theory. Another solution is to split the common supply, so individuals own it. In software, a common solution is to assign individual source code parts for individuals or small teams, which leads to problems that are presented in this video.
Common Belief is that the TC is unavoidable. Still, the work of Nobel Prize winner Elinor Ostrom showed in her study, that much more beneficial and sustainable way governing the commons is using self-management than outside controllers. The critical difference with self-managing compared to the external controller is that the group self defines rules and monitors that the rules are followed. In her study, she showed how many groups have governed the commons using commonly agreed rules over centuries successfully.
In the product development organization, what are the commons that can be governed using self-management?
This is hopefully first post in series of posts digging deeper in how common resources can be managed using self-managing teams and groups.
Ran is an experienced software professional who has worked since 1995 in professional software development field. Currently, Ran is working as a consultant and trainer in process improvement field helping large multinational organizations to move from sequential product development to more agile ways of working. The primary focus has been on how to move big products (over 100 people) to use Large-Scale Scrum (LeSS) and Lean. This work includes giving wide range of trainings, workshops, team coaching and management consulting.