Diploma and Master Theses (authored and supervised):
"Tool Evaluation for Distributed Pair Programming";
Supervisor: S. Biffl, D. Winkler;
Institut für Softwaretechnik und Interaktive Systeme,
final examination: 2008-03-13.
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.
Created from the Publication Database of the Vienna University of Technology.