Integrating pair programming into a software development process

被引:29
|
作者
Williams, L [1 ]
机构
[1] N Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
关键词
D O I
10.1109/CSEE.2001.913816
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Anecdotal and statistical evidence [1-3] indicates that pair programmers -- two programmers working side-by-side at one computer, collaborating on the same design, algorithm, code or test -- outperform individual programmers. One of the programmers, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects, and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software. This practice of pair programming can be integrated into any software development process. As an example, this paper describes the changes that were made to the Personal Software Process (PSP) to leverage the power of two programmers working together, thereby formulating the Collaborative Software Process (CSP). The paper also discusses the expected results of incorporating pair programming into a software development process in which traditional, individual programming is currently used.
引用
收藏
页码:27 / 36
页数:10
相关论文
共 50 条
  • [11] Pair programming and the re-appropriation of individual tools for collaborative software development
    Bryant, Sallyann
    Romero, Pablo
    Du Boulay, Benedict
    [J]. COOPERATIVE SYSTEMS DESIGN: SEAMLESS INTEGRATION OF ARTIFACTS AND CONVERSATIONS - ENHANCED CONCEPTS OF INFRASTRUCTURE FOR COMMUNICATION, 2006, 137 : 55 - 70
  • [12] Case study: integrating usability activities in a software development process
    Hoegh, R. Th.
    [J]. BEHAVIOUR & INFORMATION TECHNOLOGY, 2008, 27 (04) : 301 - 306
  • [13] The Effectiveness of Pair Programming Software Professionals' Perceptions
    Sun, Wenying
    Marakas, George
    Aguirre-Urreta, Miguel
    [J]. IEEE SOFTWARE, 2016, 33 (04) : 72 - 79
  • [14] Integrating Extreme Programming with Software Engineering Education
    Chen, Jason Jen-Yen
    Wu, Mike Mu-Zhe
    [J]. 2015 8TH INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO), 2015, : 577 - 582
  • [15] ARE TWO HEADS BETTER THAN ONE FOR SOFTWARE DEVELOPMENT? THE PRODUCTIVITY PARADOX OF PAIR PROGRAMMING
    Balijepally, VenuGopal
    Mahapatra, RadhaKanta
    Nerur, Sridhar
    Price, Kenneth H.
    [J]. MIS QUARTERLY, 2009, 33 (01) : 91 - 118
  • [16] BOOSTER*Process -: A software development process model integrating business object technology and UML
    Korthaus, A
    Kuhlins, S
    [J]. UNIFIED MODELING LANGUAGE: UML'98: BEYOND THE NOTATION, 1999, 1618 : 215 - 226
  • [17] Integrating process support and knowledge management for virtual software development teams
    Maurer, F
    Holz, H
    [J]. ANNALS OF SOFTWARE ENGINEERING, 2002, 14 (1-4) : 145 - 168
  • [18] A development process for mechatronic products: Integrating software engineering and product engineering
    Magalhaes, Ana Patricia
    Andrade, Aline
    Silva, Leila
    Lepikson, Herman
    [J]. ETFA 2007: 12TH IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION, VOLS 1-3, 2007, : 1149 - +
  • [19] Integrating process and project management for multi-site software development
    Chan, KCC
    Chung, LML
    [J]. ANNALS OF SOFTWARE ENGINEERING, 2002, 14 (1-4) : 115 - 143
  • [20] UniX Process, Merging Unified Process and Extreme Programming to Benefit Software Development Practice
    Zhou, Yinghua
    [J]. PROCEEDINGS OF THE FIRST INTERNATIONAL WORKSHOP ON EDUCATION TECHNOLOGY AND COMPUTER SCIENCE, VOL III, 2009, : 699 - 702