It has been long recognized that the quality of the people employed by a software organization is a major determinant of the quality of its products. Acknowledging the pivotal role played by people in software development, the Software Engineering Institute (SEI) devised the People - Capability Maturity Model. Like its software counterpart, the People CMM (P-CMM) defines five levels of maturity. An organization can achieve a level by institutionalizing the "best practices" for that level. The best practices are grouped together as Key Process Areas (KPAs). Pair programming is a practice in which two programmers work together at one computer on a single module of code - designing, coding and testing it together. Evidence indicates that pair programming improves teamwork, communication and knowledge levels - all KPAs of the P-CMM. This paper establishes a link between pair programming and the KPAs defined in the P-CMM. Specifically, the paper provides an outline on the advantages and effects of adopting pair programming if an organization wants to achieve a higher P-CMM level.
[1]
John T. Nosek,et al.
The case for collaborative programming
,
1998,
CACM.
[2]
Laurie A. Williams,et al.
Pair Programming Illuminated
,
2002
.
[3]
Watts S. Humphrey,et al.
Managing Technical People: Innovation, Teamwork, and the Software Process
,
1996
.
[4]
Laurie A. Williams,et al.
Strengthening the Case for Pair Programming
,
2000,
IEEE Softw..
[5]
Robert R. Kessler,et al.
The collaborative software process(sm)
,
2000
.
[6]
William E. Hefley,et al.
People Capability Maturity Model (P-CMM) Version 2.0
,
2001
.
[7]
Mark C. Paulk,et al.
Extreme Programming from a CMM Perspective
,
2001,
IEEE Softw..