I begun writing my thesis, which means I’m finally at the last stretch of my PhD; if all goes well I will be submitting the thesis to my committee in May. I thought I should share the current version of my abstract here –but please note that it can still change quite a bit. I’d love to get your thoughts on it:
A Theory of Shared Understanding for Software Organizations
Although we have known since the early days of our field that effective team coordination and communication are essential to the success of software projects, research in the area has been traditionally scarce, fragmented, and lacking in theoretical foundations. In recent years, however, there have been more efforts to advance our understanding of the problem and they are increasingly sophisticated, coalescing around a few theoretical stances, assumptions, and constructs.
According to a promising but still underdeveloped paradigm, software teams face a constant struggle to share and negotiate an understanding about their status, information, goals, and plans. This thesis articulates a theory based on this paradigm, explores it in depth, and argues that an emphasis on the development of shared understanding is more than a convenient way to characterize team dynamics: it addresses the fundamental elements of our coordination and communication problems and it revisits our processes, practices, and tools with a fresh and useful perspective. The resulting theory presents processes and documentation as poor substitutes for simpler, cheaper, and more informal but less scalable coordination and communication mechanisms; it values practices and tools to the extent that they foster common ground and group cohesion; and it challenges the desirability of organizational growth, since the ability to maintain a shared understanding and cohesion in an organization decreases as the organization itself grows.
The theory is developed and supported with empirical evidence collected from five case studies of a wide variety of software organizations. The thesis links this theory to other current research efforts and shows that the Shared Understanding theory complements and enhances them by providing a more solid theoretical foundation and by reclaiming the relevance of rich and informal interactions in software development teams.