Ownership is a key aspect of large-scale software development. We examine the relationship between different ownership measures and software failures in two large software projects: Windows Vista and Windows 7. We find that in all cases, measures of ownership such as the number of low-expertise developers, and the proportion of ownership for the top owner have a relationship with both pre-release faults and post-release failures. We also empirically identify reasons that low-expertise developers make changes to components and show that the removal of low-expertise contributions dramatically decreases the performance of contribution based defect prediction. Finally we provide recommendations for source code change policies and utilization of resources such as code inspections based on our results.Abstract, Don’t Touch My Code! Examining the Effects of Ownership on Software Quality
Sound familiar? This seems to vindicate Sovereign Software Development at the level of effect: Sovereign Software Development concerns itself with bringing about the organizational and environmental conditions that will facilitate experts being able to produce without outside interference; this paper attests that the result is higher-quality software.
Software companies, at present, generally operate under a deeply flawed collaboration model: a socialist one. The engineering team owns the codebase in common, with no one having more authority than anyone else in any part of it. When you make changes, anyone on the team, no mater how far removed from the changes you’re making, can criticize and obstruct your changes; even if you’re altering something you created to begin with and know best.
This socialist model is ideal for entryists to sabotage and subvert. Furthermore, it fails to reward those of outstanding merit, who can only get informal recognition at best. There has to be a better option.
A bold engineer has noted these flaws and devised an alternative that mitigates or eliminates them entirely: Sovereign Software Development.
Humor me for a moment, and suppose an industry is like a country. Every country is different; there are different terrains, different food sources, different dangers. The native people who have lived there for many generations know its quirks well and are able to survive by being well-adapted to them.
But life can’t be that simple, can it? Someone’s gotta come along and ruin the party. We’ll call them invaders and subjugators as we flesh this out.
Continue reading Natives, Invaders, and Subjugators