Tool Evaluation for Distributed Pair Programming

Tool Evaluation for Distributed Pair Programming

Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). DIPLOMARBEIT Tool Evaluation for Distributed Pair Programming Ausgeführt am Institut für Softwaretechnik und Interaktive Systeme Information and Software Engineering Group Quality Software Engineering der Technischen Universität Wien unter der Anleitung von Ao.Univ.Prof. Dipl.-Ing. Dr. Mag. Stefan Biffl und Dipl.-Ing. Dietmar Winkler durch Andreas Kaltenbach Wienerflurgasse 43 1230 Wien Wien, März 2008 Eidesstattliche Erklärung Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen nicht benützt und die den benützten Quellen wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe. Wien, am 13.03.2008 Andreas Kaltenbach Acknowledgements After long years I have spent studying at the Technical University of Vienna, now that the end of my studies is approaching it is time to say thank you to a number of people that supported me throughout all those years. First and foremost I would like to thank my wife Angelika and my parents for their continuous support of my studies throughout the years. In times when suffering a setback in my studies brought me down they were always there to set me up again and encouraged me to go on. Especially my wife often had to make compromises when I used my spare time for studying instead of spending it with her. That I am now able to finally complete my studies is to some degree their merit as well. Further on my gratitude goes to all the people who are or used to be my superiors at Siemens IT Solutions and Services Program and System Engineering. All of them gave me the leeway to proceed with my studies besides the daily project business at work. Without this support it would not have been possible for me to get this far. I would especially like to thank Stefan Biffl and Dietmar Winkler for supervision of my diploma thesis and for giving advice and feedback. Furthermore my thanks go to the following people for their help and input to the work on my diploma thesis: Matthias Kutzelnigg, Daniela Pehn, Michaela Schein, Christoph Höglinger, Christian Wallek and Matthias Heindl. Special thanks to Olivia Elbeshausen, Veronika Mayer and Michael Riss for proofreading my diploma thesis. Last but not least my thanks go to all the fellow students and friends of mine who accompanied me throughout the years of my studies and made these years the amazing though sometimes stressful time they were to me. - 1 - I Abstract On the one hand the possibilities that arise from the increasing globalisation and the increased availability of information and communication technologies along with the fact that resources in form of software engineers are much cheaper in large sections of Eastern Europe and Asia than they are in the Western World led to the situation, that many software engineering projects today are developed distributed by engineers spread over the world. Nevertheless these projects are still in need of heavy and close cooperation of the parties involved. On the other hand agile methods of software engineering are increasing in importance as nowadays state-of-the-art software engineering processes to address frequently changing requirements as well as fast and early delivery of software products. Extreme Programming is among the most prominent of these agile methods and comes with a large case of practices. Among those is Pair Programming which is a style of software development in which two software engineers team up and collaborate on the same artefact sitting side by side in front of a shared workplace. Such a team consists of the so called Driver who is typing at the computer or writing down a design. The other partner is called the Navigator. His duty is to continuously review the work of the Driver. The pair is in heavy need for continuous communication with each other and switches roles periodically. From the two points stated above it is clear that there is a need for the appliance of the Pair Programming practice even in development teams in which the Pair Programming team members are not collocated at the same development site. In this case there is the need to have tools that support the cooperation and communication between the pair so that they are able to perform Pair Programming in a similar way as if they were sitting next to each other. Simulating this collocated collaboration in a non-collocated environment puts a number of requirements up against tools that are used to support the Distributed Pair Programming practice. Thus such tools need to be evaluated for their grade of fulfilment of these requirements to enable software engineers and project managers to select the tool best suited in a specific project. There was already some previous research done in tools that support the Distributed Pair Programming practice as well as into requirements that are recommended to be fulfilled by such tools. Nevertheless there is still the lack of consolidated lists of such tools as well as requirements and of a way to provide means to compare these tools with respect to their usability for the support of the Distributed Pair Programming practice. This work intends to provide an extensive list of available tools with potential to support Distributed Pair Programming as well as a consolidated list of requirements desirable to be fulfilled by tools supporting the Distributed Pair Programming practice. The consolidate list of requirements is used to set up a generic evaluation framework for the comparable evaluation of such tools. The set up evaluation framework is used in a series of case studies to evaluate a selected number of these tools towards their usability in the appliance of the Distributed Pair Programming practice. The results of this study show that though there is still a significant lack of availability of tool support for some key requirements needed to simulate the collocated situation in Distributed Pair Programming environments there is a number of tools available that provide ample support to effectively apply the Distributed Pair Programming practice. - 2 - II Table of Content I ABSTRACT..................................................................................................2 II TABLE OF CONTENT .................................................................................3 III LIST OF FIGURES AND TABLES...............................................................6 1 INTRODUCTION ..........................................................................................8 1.1 Focus of this Work ...................................................................................10 1.2 Overview of the Document ......................................................................12 2 RELATED WORK ......................................................................................13 2.1 Pair Programming ....................................................................................13 2.1.1 An Introduction into the Practice of Pair Programming ....................14 2.1.2 Strengthening the Case of Pair Programming..................................17 2.1.3 Success Factors of Pair Programming.............................................20 2.2 Distributed Pair Programming.................................................................21 2.2.1 Distance Matters ..............................................................................22 2.2.2 Strengthening the Case of Distributed Pair Programming................23 2.3 Tool Support for Distributed Pair Programming....................................24 2.3.1 Requirements on Tools supporting Distributed Pair Programming ..24 2.3.2 Tools supporting the Distributed Pair Programming Practice...........28 3 RESEARCH FOCUS OF THIS WORK.......................................................29 3.1 Research Questions.................................................................................29 3.2 Research Approach..................................................................................31 3.2.1 Candidate Tools for the support of Distributed Pair Programming ...31 3.2.2 Desirable Requirements for Tools supporting Distributed Pair Programming ...................................................................................33 3.2.3 Evaluation Framework for Tools supporting Distributed Pair Programming ...................................................................................34 3.2.4 Evaluation of Tools supporting Distributed Pair Programming .........35 4 CANDIDATE TOOLS FOR DISTRIBUTED PAIR PROGRAMMING .........37 4.1 Screen-Sharing Applications...................................................................37 4.1.1 Virtual Network Computing (VNC) ...................................................38 4.1.2 Famatech Remote Administrator .....................................................41 4.1.3 Symantec pcAnywhere ....................................................................42 4.1.4 Microsoft NetMeeting .......................................................................43 4.1.5 Marratech.........................................................................................45 4.1.6 MILOS ASE......................................................................................46

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    151 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