459,363 research outputs found
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)
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
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
A collaborative approach to learning programming: a hybrid learning model
The use of cooperative working as a means of developing collaborative skills has been recognised as vital in programming education. This paper presents results obtained from preliminary work to investigate the effectiveness of Pair Programming as a collaborative learning strategy and also its value towards improving programming skills within the laboratory. The potential of Problem Based Learning as a means of further developing cooperative working skills along with problem solving skills is also examined and a hybrid model encompassing both strategies outlined
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'
Pair programming in inducing knowledge sharing
The Pair programming as a part of the Agile software development has been gaining acceptance among practitioners and software development community.This successful leads a wide use of pair
programming in educational setting as pedagogy in programming course.Pair programming can foster knowledge sharing among students.Many studies have been done with pair programming in education however most of them do not highlight internalized knowledge particularly tacit knowledge from knowledge sharing processes between students who act as driver and navigator in pair programming practice.Thus, this paper will discuss knowledge internalization based on the knowledge sharing activities in pair programming practices by employing the process of Socialization, Externalization, Combination and Internalization (SECI).The sample of the study consisted of 60 students who were actively engaged in pair
programming practices.The factors investigated were types of internalized tacit knowledge in the form of learning, thinking and decision making skills among the students. Online questionnaires were adapted from SECI model into educational context.T Test technique was used to analyze the data.This study is expected to contribute a better understanding of important knowledge sharing activities to construct student’s skills during Internalization process through pair programming.This study’s result will be considered for future rigorous theoretical framework for constructing tacit knowledge among the students in pair programming environment
System approach to disparity estimation
A system approach to disparity estimation using dynamic programming is presented. The four step system can calculate a dense correspondence map between a stereo pair with parallel or
nonparallel camera geometry. Results are presented with CCIR 601 format stereo images
Reformulations of mathematical programming problems as linear complementarity problems
A family of complementarity problems are defined as extensions of the well known Linear Complementarity Problem (LCP). These are
(i.) Second Linear Complementarity Problem (SLCP) which is an LCP extended by introducing further equality restrictions and unrestricted variables,
(ii.) Minimum Linear Complementarity Problem (MLCP) which is an
LCP with additional variables not required to be complementary and with a linear objective function which is to be minimized,
(iii.) Second Minimum Linear Complementarity Problem (SMLCP) which is an MLCP but the nonnegative restriction on one of each pair of complementary variables is relaxed so that it is allowed to be unrestricted in value.
A number of well known mathematical programming problems, namely quadratic programming (convex, nonconvex, pseudoconvex nonconvex), bilinear programming, game theory, zero-one integer programming, the fixed charge problem, absolute value programming, variable separable programming are reformulated as members of this family of four complementarity problems
- …
