ebook img

Collaboration via Aligned Autonomy for Commercial Software Teams by Eirini Kalliamvakou B.Sc ... PDF

278 Pages·2017·5.93 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Collaboration via Aligned Autonomy for Commercial Software Teams by Eirini Kalliamvakou B.Sc ...

Collaboration via Aligned Autonomy for Commercial Software Teams by Eirini Kalliamvakou B.Sc., National Kapodestrian University of Athens, 2001 M.Sc., Athens University of Economics and Business, 2004 A Dissertation Submitted in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY in the Department of Computer Science c Eirini Kalliamvakou, 2017 � University of Victoria All rights reserved. This dissertation may not be reproduced in whole or in part, by photocopying or other means, without the permission of the author. ii Collaboration via Aligned Autonomy for Commercial Software Teams by Eirini Kalliamvakou B.Sc., National Kapodestrian University of Athens, 2001 M.Sc., Athens University of Economics and Business, 2004 Supervisory Committee Dr. Daniel M. German, Supervisor (Department of Computer Science, University or Victoria) Dr. Margaret-Anne Storey, Departmental Member (Department of Computer Science, University or Victoria) Dr. Marian Petre, Outside Member (Faculty of Mathematics, Computing and Technology Computing and Communica- tions, The Open University) iii Supervisory Committee Dr. Daniel M. German, Supervisor (Department of Computer Science, University or Victoria) Dr. Margaret-Anne Storey, Departmental Member (Department of Computer Science, University or Victoria) Dr. Marian Petre, Outside Member (Faculty of Mathematics, Computing and Technology Computing and Communica- tions, The Open University) ABSTRACT Modern software organizations produce increasingly complex and sophisticated products that build on the e↵ort of multiple individuals and teams. This reality high- lights the critical importance of collaboration and the support of its various facets, which are still central concerns for software engineering research and practice. Soft- ware organizations also aim to motivate their developers and teams and help them be productive. Knowledge work research highlights the importance of autonomy in work design for satisfaction and happiness. The now pervasive adoption of agile methods and advocacy of self-organization have made autonomy and its challenging practical application a mainstream focus for software engineering research and practice. Employee autonomy and e↵ective collaboration are thus essential for software companies to motivate developers and help them deliver successful software prod- ucts. Yet, essential as it might be for organizations to combine them, autonomy and collaboration seem conceptually and practically at odds with one another; is it pos- sible for people or teams that are working together on something be autonomous? One can imagine teams finding it challenging to organize the development work of autonomous developers. Furthermore, on the organizational level it can be di�cult to align autonomous agents towards a desirable company strategy. Finally, management iv may need to be revisited as a function when individuals or teams have autonomy in their work. Given the complex landscape that software teams are part of in today’s mod- ern organizations, we need to understand how they collaborate in the context of their environment. This dissertation builds on three substantial, diverse case studies based in industry, capturing various ways that several software organizations organize collaborative development work. In the first study I examined how 24 commercial software teams in di↵erent companies organize their development work through their use of GitHub. In the second study I probed how Atlassian scales the practices of its rapidly growing development teams and enacts a culture that keeps them aligned to the strategic goals. In the third study I explored the role of engineering managers at Microsoft and how they support software developers and teams to organize their own work and generate quality outcomes that meet organizational goals. The studies are primarily qualitative and I have used a variety of data collection methods including interviews, observations, documentation review, and surveys. Tension between autonomy and collaboration surfaced in the studies and it be- came the central challenge I investigate in this dissertation. By understanding the meaning of autonomy for the studied organizations, the definition and characteristics of autonomy evolved and, upon synthesis of the findings, I argue that autonomy is not incompatible with collaboration but rather that the two concepts build on each other. I articulate and propose a conceptual framework of collaboration via aligned au- tonomy for software companies in this dissertation. This represents a holistic view of organizations and includes four areas to consider when making autonomy the founda- tion of collaboration: team collaboration practices, scaling strategies, cultural values, and manager roles. The framework has implications for the study of collaborative software development by proposing to look beyond the combination of independence and coordination as the basis of collaboration. At the same time, the framework can guide commercial software teams and organizations on how to empower development teams, yet not compromise strategic vision. v Contents Supervisory Committee ii Abstract iii Table of Contents v List of Tables x List of Figures xiii Acknowledgements xv Dedication xviii 1 Introduction 1 2 Background 6 2.1 Toward a definition of Autonomy . . . . . . . . . . . . . . . . . . . . 6 2.2 Why Autonomy is desirable . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 A bit of history . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.2 Job satisfaction, motivation, and engagement . . . . . . . . . 10 2.2.3 Knowledge worker productivity . . . . . . . . . . . . . . . . . 12 2.3 Collaboration challenges in software engineering . . . . . . . . . . . . 14 2.4 Autonomy in software engineering teams . . . . . . . . . . . . . . . . 16 2.4.1 Autonomy and open source software development . . . . . . . 16 2.4.2 Self-management in agile software teams . . . . . . . . . . . . 18 2.4.3 Autonomy and agility as mindsets . . . . . . . . . . . . . . . . 19 2.5 Autonomy is not the whole story . . . . . . . . . . . . . . . . . . . . 20 2.5.1 Do autonomy and agility scale? . . . . . . . . . . . . . . . . . 21 2.5.2 Management and autonomy . . . . . . . . . . . . . . . . . . . 22 vi 3 Methodology 25 3.1 Research approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.1 The research problem . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.2 Worldview, design, and methods . . . . . . . . . . . . . . . . . 27 3.2 The spectrum between a quantitative and qualitative approach . . . . 30 3.3 Overview of studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.1 Research questions and the link between chapters . . . . . . . 32 3.3.2 Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4 Outcomes and lessons learned . . . . . . . . . . . . . . . . . . . . . . 38 3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Autonomy as independence — The GitHub study 40 4.1 Why study the use of GitHub . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Case study setting and methodology . . . . . . . . . . . . . . . . . . 42 4.2.1 Research goal and questions . . . . . . . . . . . . . . . . . . . 43 4.2.2 Some useful concepts . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.3 Data collection and analysis . . . . . . . . . . . . . . . . . . . 44 4.3 How commercial software teams use GitHub to collaborate . . . . . . 48 4.3.1 Working together through independent work . . . . . . . . . . 49 4.3.2 Reduced communication and coordination needs . . . . . . . . 52 4.3.3 A touch of self-organization . . . . . . . . . . . . . . . . . . . 54 4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4.1 Collaborative practices and GitHub’s features . . . . . . . . . 55 4.4.2 GitHub as a vehicle for adopting best, oss-style, practices . . 57 4.4.3 The balance of autonomy and collaboration . . . . . . . . . . 60 4.5 Threats to validity in the study . . . . . . . . . . . . . . . . . . . . . 63 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5 Aligned Autonomy — The Atlassian study 65 5.1 Why study Atlassian . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2 Case study setting and methodology . . . . . . . . . . . . . . . . . . 66 5.2.1 Getting acquainted with the teams . . . . . . . . . . . . . . . 67 5.2.2 Data collection and analysis . . . . . . . . . . . . . . . . . . . 67 5.3 The agile environment at Atlassian . . . . . . . . . . . . . . . . . . . 72 vii 5.4 Challenges in scaling an agile environment . . . . . . . . . . . . . . . 72 5.4.1 The challenge of maintaining e�ciency while growing . . . . . 73 5.4.2 The challenge of autonomy at scale . . . . . . . . . . . . . . . 74 5.5 Work practices at Atlassian . . . . . . . . . . . . . . . . . . . . . . . 76 5.5.1 How Atlassian tries to maintain e�ciency at scale . . . . . . . 76 5.5.2 How Atlassian tries to make autonomy work at scale . . . . . 79 5.6 Further challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.7.1 The concepts of Directed Opportunism and Aligned Autonomy 88 5.7.2 Aligned Autonomy through Atlassian’s work practices . . . . . 90 5.7.3 The interplay of autonomy and scale: Agility, growth, and cul- tural values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.8 Threats to validity in the study . . . . . . . . . . . . . . . . . . . . . 98 5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6 Autonomy as empowerment — The Microsoft study 101 6.1 Why study Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.2 Case study setting and methodology . . . . . . . . . . . . . . . . . . 103 6.2.1 Research goal and questions . . . . . . . . . . . . . . . . . . . 104 6.2.2 Data collection and analysis . . . . . . . . . . . . . . . . . . . 104 6.3 Conceptual framework for great engineering managers . . . . . . . . . 109 6.4 The functions of great engineering managers . . . . . . . . . . . . . . 112 6.4.1 Cultivates engineering wisdom . . . . . . . . . . . . . . . 112 6.4.2 Motivates the engineers . . . . . . . . . . . . . . . . . . . 115 6.4.3 Mediates communication . . . . . . . . . . . . . . . . . . . 117 6.5 Being technical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.6 Quantitative support through survey results . . . . . . . . . . . . . . 122 6.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.7.1 Comparison to Google’s study of managers . . . . . . . . . . . 125 6.7.2 The reimagined role of the engineering manager . . . . . . . . 126 6.7.3 The interplay of management and autonomy . . . . . . . . . . 127 6.8 Threats to validity in the study . . . . . . . . . . . . . . . . . . . . . 132 6.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7 A framework of Collaboration via Aligned Autonomy 137 viii 7.1 The faces of autonomy . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.2 How synthesis works . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.3 Key concepts in each study . . . . . . . . . . . . . . . . . . . . . . . 140 7.3.1 The GitHub study . . . . . . . . . . . . . . . . . . . . . . . . 140 7.3.2 The Atlassian study . . . . . . . . . . . . . . . . . . . . . . . 140 7.3.3 The Microsoft study . . . . . . . . . . . . . . . . . . . . . . . 141 7.4 Interpretive evidence synthesis through meta-ethnography . . . . . . 141 7.4.1 Reciprocal translational analysis . . . . . . . . . . . . . . . . . 142 7.4.2 Refutational analysis . . . . . . . . . . . . . . . . . . . . . . . 148 7.5 A framework of Collaboration via Aligned Autonomy . . . . . . . . . 150 7.5.1 Framework elements: Areas and Approaches . . . . . . . . . . 150 7.5.2 Framework diagram . . . . . . . . . . . . . . . . . . . . . . . . 153 7.5.3 Retrospective thinking: Overlap and Core concepts . . . . . . 154 7.6 Implications of the framework . . . . . . . . . . . . . . . . . . . . . . 157 7.7 Research validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.8 Limitations of applicability . . . . . . . . . . . . . . . . . . . . . . . . 165 8 Conclusions and future direction 169 8.1 Summary of the results . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.2 Summary of the thesis argument . . . . . . . . . . . . . . . . . . . . . 170 8.3 Future direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.3.1 Validate current work . . . . . . . . . . . . . . . . . . . . . . . 171 8.3.2 Extend current work . . . . . . . . . . . . . . . . . . . . . . . 172 8.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 A GitHub study: data collection instruments 175 A.1 Ethics Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 A.2 Initial survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 A.3 Interview guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 B Atlassian study: supplementary information 184 B.1 Ethics Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 B.2 Blog post addressing employees at Atlassian . . . . . . . . . . . . . . 186 B.3 Product development process & tool use . . . . . . . . . . . . . . . . 188 B.4 Collaborative development practices . . . . . . . . . . . . . . . . . . . 194 B.4.1 Code development workflow . . . . . . . . . . . . . . . . . . . 194 ix B.4.2 Collaboration elements . . . . . . . . . . . . . . . . . . . . . . 196 B.4.3 Comparing practices across platforms . . . . . . . . . . . . . . 197 B.5 Further challenges identified in interviews . . . . . . . . . . . . . . . . 199 B.5.1 Challenge of information transparency at scale . . . . . . . . . 199 B.5.2 The challenge of a flexible organizational structure . . . . . . 202 B.6 Analysis of how Atlassian’s work practices fit with Aligned Autonomy 203 B.7 Member checking survey . . . . . . . . . . . . . . . . . . . . . . . . . 209 C Microsoft study: data collection instruments 214 C.1 Ethics Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 C.2 Interview guides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 C.2.1 Interview guide for developers . . . . . . . . . . . . . . . . . . 216 C.2.2 Interview guide for leads . . . . . . . . . . . . . . . . . . . . . 217 C.2.3 Interview guide for engineering managers . . . . . . . . . . . . 219 C.2.4 Interview guide for upper-level managers . . . . . . . . . . . . 221 C.3 Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Bibliography 225 x List of Tables Table 4.1 Coded survey responses summary. . . . . . . . . . . . . . . . . . 46 Table 4.2 Interviewees’ and projects’ descriptive characteristics. . . . . . . 47 Table 4.3 Interview questions corresponding to collaboration elements and how GitHub supports them . . . . . . . . . . . . . . . . . . . . 48 Table 4.4 Interviewees’ preferred method of keeping track of activity. . . . 53 Table 4.5 Practicesreportedbycommercialprojects,thecorrespondingGitHub enablers, and how they supported the collaboration elements in the study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Table 4.6 Overlap between reported commercial project and oss project practices. The entries starting with P represent study partici- pants. The bracketed entries represent bibliographical references. 58 Table 5.1 List of all reported practices in the Atlassian case study. A check mark means that a practice was recorded in the corresponding data source; Interviews (marked with I), Documentation (D), Observations (O), and Satisfaction Survey (S). The presence or absence of a checkmark is not an indication to the practice’s im- portance or validity. . . . . . . . . . . . . . . . . . . . . . . . . . 71 Table 5.2 Overview of the product development process followed by the At- lassian teams in the study. The process is broken down to phases, and each is mapped to the purpose, as well as the communication mechanisms and tools the teams use. . . . . . . . . . . . . . . . 72 Table 5.3 Practices to address the challenge of maintaining e�ciency at scale, grouped by purpose and related to levels. Each practice is assigned levels of autonomy and alignment with a corresponding explanation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Description:
4.4.2 GitHub as a vehicle for adopting best, oss-style, practices 57. 4.4.3 The balance of .. Skoumatzos, and Apostolos Kefalas by my side since kindergarten. A slightly odd thank you goes to .. ers process non-routine problems that require non-linear and creative thinking [174]. More recently, th
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.