123 research outputs found
The impact of using pair programming on system evolution a simulation-based study
In this paper we investigate the impact of pair--programming on the long term evolution of software systems. We use system dynamics to build simulation models which predict the trend in system growth with and without pair programming. Initial results suggest that the extra effort needed for two people to code together may generate sufficient benefit to justify pair programming.Peer reviewe
A framework for understanding the factors influencing pair programming success
Pair programming is one of the more controversial aspects of several Agile system development methods, in particular eXtreme Programming (XP). Various studies have assessed factors that either drive the success or suggest advantages (and disadvantages) of pair programming.
In this exploratory study the literature on pair programming is examined and factors distilled. These factors are then compared and contrasted with those discovered in our recent Delphi study of pair programming.
Gallis et al. (2003) have proposed an initial framework aimed at providing a comprehensive identification of the major factors impacting team programming situations including pair programming. However, this
study demonstrates that the framework should be extended to include an additional category of factors that relate to organizational matters. These factors will be further refined, and used to develop and empirically evaluate a conceptual model of pair programming (success)
Agile values and their implementation in practice
Today agile approaches are often used for the
development of digital products. Since their development in
the 90s, Agile Methodologies, such as Scrum and Extreme
Programming, have evolved. Team collaboration is strongly
influenced by the values and principles of the Agile Manifesto. The
values and principles described in the Agile Manifesto support
the optimization of the development process. In this article, the
current operation is analyzed in Agile Product Development
Processes. Both, the cooperation in the project team and the
understanding of the roles and tasks will be analyzed. The results
are set in relation to the best practices of Agile Methodologies. A
quantitative questionnaire related to best practices in Agile Product
Development was developed. The study was carried out with
175 interdisciplinary participants from the IT industry. For the
evaluation of the results, 93 participants were included who have
expertise in the subject area Agile Methodologies. On one hand,
it is shown that the collaborative development of product-related
ideas brings benefits. On the other hand, it is investigated which
effect a good understanding of the product has on decisions made
during the implementation. Furthermore, the skillset of product
managers, the use of pair programming, and the advantages of
cross-functional teams are analyzed.Ministerio de Ciencia e Innovación TIN2013-46928-C3-3-
Pair programming and the re-appropriation of individual tools for collaborative software development
Although pair programming is becoming more prevalent in software development, and a number of reports have been written about it [10] [13], few have addressed the manner in which pairing actually takes place [12]. Even fewer consider the methods used to manage issues such as role change or the communication of complex issues. This paper highlights the way resources designed for individuals are re-appropriated and augmented by pair programmers to facilitate collaboration. It also illustrates that pair verbalisations can augment the benefits of the collocated team, providing examples from ethnographic studies of pair programmers 'in the wild'
Collaboration in Pair Programming: driving and switching
This paper reports on an empirical study about the mechanisms of the collaboration of drivers and navigators in Pair Programming (PP) sessions. Based on video recordings of professional software developers, we analysed the mechanisms of role switches and how developers split the task of driving. We found that developers do not evenly contribute to the task of driving and that they spend on average a third of the session without any computer interaction focusing mainly on communication. In addition, our results show that most pairs switch roles frequently and that the frequency and fuidity of switches indicate a high level of engagement on the part of both developers
Distributed-Pair Programming can work well and is not just Distributed Pair-Programming
Background: Distributed Pair Programming can be performed via screensharing
or via a distributed IDE. The latter offers the freedom of concurrent editing
(which may be helpful or damaging) and has even more awareness deficits than
screen sharing. Objective: Characterize how competent distributed pair
programmers may handle this additional freedom and these additional awareness
deficits and characterize the impacts on the pair programming process. Method:
A revelatory case study, based on direct observation of a single, highly
competent distributed pair of industrial software developers during a 3-day
collaboration. We use recordings of these sessions and conceptualize the
phenomena seen. Results: 1. Skilled pairs may bridge the awareness deficits
without visible obstruction of the overall process. 2. Skilled pairs may use
the additional editing freedom in a useful limited fashion, resulting in
potentially better fluency of the process than local pair programming.
Conclusion: When applied skillfully in an appropriate context, distributed-pair
programming can (not will!) work at least as well as local pair programming
Automated tool to assess pair programming program quality
This paper aims to present an automated tool that has been developed to assess pair programming program quality.The tool known as Java Quality Measurement Tool or JaQMeT is used to assess specifically Java program quality.There are two program quality factors that can be assessed which are correctness and complexity. Pair programming program will be graded using JaQMeT. Then the results will be used to evaluate the effectiveness of pair programming.JaQMeT is only at its initial stage.It is an initial effort to facilitate the lecturers to reduce workload on grading programming assignment and specifically to assess pair programming program quality.Although JaQMeT has its several limitation but it is hoped that JaQMeT can be extended by using web-based technology and capable to check others program quality
- …