Industrially Usable Distributed Pair Programming

Industrially Usable Distributed Pair Programming

Industrially Usable Distributed Pair Programming Dissertation zur Erlangung des Grades Doktor der Naturwissenschaften (Dr. rer. nat.) Julia Schenk Institut für Mathematik und Informatik Freie Universität Berlin Berlin 2018 Gutachter: Professor Dr. Lutz Prechelt, Freie Universität Berlin, Deutschland Professor Dr. Daniela Damian, University of Victoria, Kanada Datum der Disputation: 11.07.2018 Für meine Mutter, meinen Vater und Till – For my Mum, my Dad, and Till Contents Acknowledgements / Danksagungen 15 Abstract / Zusammenfassung 17 Selbständigkeitserklärung 19 Notation 21 1 Introduction 23 1.1 Agile and Global Software Development......................... 25 1.1.1 Pair Programming – a Common Agile Practice................. 27 1.1.2 The Trend of Global Software Development (GSD)............... 28 1.1.3 Distributed Pair Programming.......................... 30 1.1.4 Awareness..................................... 30 1.1.5 Workspace Awareness............................... 32 1.1.6 Workspace Awareness in DPP.......................... 33 1.2 Approaches to Distributed Pair Programming (DPP).................. 34 1.2.1 Screen Sharing................................... 36 1.2.2 Remote Pair Programming (RPP)........................ 36 1.2.3 extended Distributed Pair Programming (eDPP)................ 38 1.3 Research Question..................................... 40 1.3.1 Overall Research Goal and My Contributions................... 40 1.3.2 Tool-Related Contributions............................ 43 1.4 Related Work....................................... 45 1.4.1 Pair Programming (PP).............................. 46 1.4.2 Global Software Development (GSD)....................... 52 1.4.3 Computer Supported Cooperative Work (CSCW)................ 60 1.4.4 Workspace Awareness in Real-Time Groupware................. 66 1.4.5 Distributed Pair Programming (DPP)...................... 74 2 eDPP Requirements and Tools 79 2.1 Requirements for eDPP Tools............................... 79 2.1.1 Adapting the Workspace Awareness Framework to eDPP............ 80 2.1.2 CMI Patterns for eDPP.............................. 87 2.1.3 Consolidating Relevant Awareness Requirements and CMI Patterns for eDPP. 96 2.2 eDPP Tools........................................ 98 2.3 Saros............................................ 105 2.3.1 Saros History................................... 109 2.3.2 Phases in Saros’ Development.......................... 125 3 Research Framework and Limitations of the Study 131 7 3.1 Refined Research Questions................................ 132 3.2 Research Framework.................................... 133 3.2.1 Research Strategy: Single-Case Study...................... 133 3.2.2 Unit of Analysis: Pair of Experienced eDPP Developers............. 135 3.2.3 Data Collection: Non-Participatory Observation................. 135 3.2.4 Data Analysis: Grounded Theory Methodology................. 137 3.3 Limitations and Threats to Validity............................ 142 4 Results 145 4.1 Classification of Observed eDPP Phenomena....................... 146 4.2 Presentation of Results.................................. 147 4.3 Results Concerning Roles in eDPP............................ 148 4.3.1 Specified Role: Driver............................... 148 4.3.2 New Role: Active Observer............................ 149 4.4 Results Specifying Attributes of eDPP Phenomena................... 150 4.4.1 Simple Attribute: Announcement Style...................... 150 4.4.2 Simple Attribute: Motive............................. 151 4.4.3 Simple Attribute: Impact............................. 153 4.4.4 Simple Attribute: Development Focus...................... 154 4.4.5 Simple Attribute: Shared-Mind Activity..................... 156 4.4.6 Simple Attribute: Place of Action........................ 157 4.4.7 Simple Attribute: Awareness Feature....................... 158 4.4.8 Simple Attributes: Awareness Voicing and Awareness Bridging......... 159 4.4.9 Simple Attribute: Start Mode........................... 161 4.4.10 Simple Attribute: Termination Mode....................... 162 4.4.11 Simple Attribute: Join Mode........................... 163 4.4.12 Simple Attributes: Fault and Fault Recognition................. 164 4.4.13 Complex Attribute: Coupling of Participants................... 166 4.4.14 Complex Attribute: Fluency............................ 170 4.5 Results Relating to an Interleaved Work Mode...................... 176 4.5.1 eDPP Phenomenon: Direct Fix.......................... 176 4.5.2 eDPP Phenomenon: Jump In........................... 178 4.5.3 eDPP Phenomenon: Check............................ 180 4.5.4 eDPP Phenomenon: Contribution........................ 182 4.5.5 eDPP Phenomenon: Local Solution....................... 184 4.6 Results Relating to a Separated Work Mode....................... 186 4.6.1 eDPP Phenomenon: Parallel Exploration..................... 186 4.6.2 eDPP Phenomenon: Unilateral Operation.................... 189 4.6.3 eDPP Phenomenon: Parallelization........................ 191 4.7 Discussion......................................... 193 4.7.1 New Roles in eDPP................................ 193 4.7.2 Impact of Viewing and Editing Freedom..................... 194 4.7.3 Impact of Reduced Physical Awareness...................... 196 4.7.4 Impact of Reduced Workspace Awareness.................... 197 4.7.5 Importance of Mental and Auditive Connection in eDPP............ 199 4.7.6 Process Fluency in eDPP............................. 199 5 Conclusions 201 5.1 eDPP – Potential and Hazards.............................. 201 5.2 Conjecture: ePP – the Better PP............................. 204 5.3 Conjecture: The Magic of Source Code......................... 206 5.4 Conjecture: eDPP Helps to Uncover the Process of PP................ 207 5.5 Rethinking CSCW Research................................ 207 5.6 Outlook.......................................... 209 8 5.6.1 Contributions to Research............................. 209 5.6.2 Contributions to Practice............................. 209 A Further Aspects of Groupware and its Development 211 A.1 Definitions of Groupware................................. 211 A.2 Groupware Taxonomies.................................. 212 A.2.1 3C-Classification.................................. 214 A.2.2 Time-Space Taxonomy.............................. 217 A.2.3 Other Groupware Characteristics......................... 219 A.2.4 Application Type Topology............................ 220 A.2.5 Model to Facilitate Social-Technical Perspective................. 221 A.3 Groupware Design: Pitfalls and Fallacies......................... 223 A.3.1 Requirements Elicitation and Validation..................... 223 A.3.2 Usage Context and Group Heterogeneity..................... 224 A.3.3 System Design................................... 225 Acronyms 227 Explanations of Terms 229 Bibliography 231 9 List of Figures 1.1 Dissemination of agile software development and pair programming in professional software development.................................... 26 1.2 Variants of remote working hours in software development............... 29 1.3 Types of awareness in group work according to Gutwin and Greenberg(1998)..... 32 1.4 Technical approaches to DPP............................... 35 1.5 Approaches to DPP: workspace awareness and flexibility................ 39 1.6 This work as a base for the overall goal......................... 41 2.1 Structure of the pattern language by Schümmer and Lukosch(2007).......... 87 2.2 eDPP relevant CMI patterns and the awareness information they provide........ 97 2.3 Schematic view of the Saros interface.......................... 106 2.4 Screenshot of Saros (version 13.12.6).......................... 108 2.5 Person-months of theses that contributed to Saros ................... 125 2.6 Monthly download rate of Saros on SourceForge..................... 128 2.7 Current number of lines of code (LOC) of the components of Saros .......... 128 2.8 Saros LOC since 2013................................... 129 3.1 Consolidated video of both participants’ screen and video................ 136 4.1 Result categories...................................... 146 4.2 Abstract presentation of eDPP phenomena and their attributes............. 147 4.3 Proportional distribution of Announcement StyleSAttr manifestations........ 151 4.4 Proportional distribution of MotiveSAttr manifestations................. 153 4.5 Proportional distribution of ImpactSAttr manifestations................. 154 4.6 Proportional distribution of Development FocusSAttr manifestations......... 155 4.7 Proportional distribution of Shared-Mind ActivitySAttr manifestations....... 156 4.8 Proportional distribution of Place of ActionSAttr manifestations........... 158 4.9 Proportional distribution of Awareness FeatureSAttr manifestations......... 159 4.10 Proportional distribution of Awareness BridgingSAttr manifestations......... 161 4.11 Proportional distribution of Awareness VoicingSAttr manifestations......... 161 4.12 Proportional distribution of Start ModeSAttr manifestations.............. 162 4.13 Proportional distribution of Termination ModeSAttr manifestations.......... 163 4.14 Proportional distribution of Join ModeSAttr manifestations............... 164 4.15 Proportional distribution of Unilateral Operation phenomena and FaultSAttr manifestations....................................... 165 4.16 Proportional distribution of Unilateral Operations with Faults......... 165 4.17 Proportional distribution of Visual Closeness CAttr-A manifestations...........

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    244 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us