An institutional analysis of software teams
Modern software is constructed by teams of software developers. The central question that this paper addresses is what policies should be enacted for structuring software teams to enhance cooperative as opposed to self-serving behavior? The contribution of this paper is in viewing software teams as being subject to a set of well-understood collective action problems: there are individual incentives to receive the joint rewards for a team-developed software project without contributing a fair share to its development. In this paper, an institutional analysis perspective is used in presenting a set of theoretical principles and an analytical framework recently developed in game theory, political economy, experimental economics, and natural resource governance for the understanding and resolution of these collective action problems. The principles and analysis framework are applied to an empirical case study of software teamwork within an academic setting. This case study shows, first, how to apply the analytic framework on an actual collective action situation. Second, it demonstrates how the theoretical understandings can be used as a basis to account for outcomes within this setting. And third, it provides an example of a particular institutional arrangement that elicits high levels of cooperation and low levels of free riding within a real-world setting. Understanding the importance of institutions for shaping individual and social behavior within software development teams makes these institutions more amenable to intentional human design.
cooperation collective action problem teamwork free riding software management social dilemma