Influences on XP
Kent Beck, Three Rivers Institute
When pair-programming, two
programmers work collaboratively on the same algorithm, design or programming
task, sitting side by side at one computer. This practice has been surfaced
several times in the last decades as an improved way of developing software.
However, convention speaks against having two people work together to develop
code -- having “two do the work of one.”
This talk will provide findings to counter this conventional wisdom
and to show that quite often pair programming is the way to go for improved
quality and cycle time.
Extreme Programming (XP) has
been advocated in recent publications as an appropriate programming method for
the high-speed, volatile world of Internet and Web software development.
This popular methodology is reviewed from the perspective of the Capability
Maturity Model for Software, a five-level model that prescribes process
improvement priorities for software organizations. Overviews of both XP
and CMM are provided, and XP is critiqued from a Software CMM perspective.
The conclusion is that light-weight methodologies such as XP promulgate many
good engineering practices, although some practices may be controversial and
counter-productive outside a narrow domain. For those interested in
process improvement, the ideas in XP should be carefully considered for adoption
where appropriate in an organization's business environment.
Heavy is out. Light is in. As the Internet,
e-business, and e-commerce change business models and turbulent markets
create uncertainty, software development and management practices are also
making a major transition. Extreme Programming, Lean Development, SCRUM,
Crystal Method, Adaptive Software Development, and DSDM are showing
organizations how to navigate the waters between the monolithic,
prescriptive, process-centric methods and adhoc, anything goes RAD
methods. Thin, lean, adaptive, or light-these emerging approaches are thin
on process, thick on skills, and focus on people: collaboration,
communications, and excitement. This talk will focus on the keys to
utilizing a light methodology in your organization: Recognizing the
relevant problem domain; Understanding the common principles of light
methodologies and whether or not they fit your organization's culture;
Articulating three frameworks-project management, software development,
collaboration; and, Formulating a set of practices, tailored to your
organization, that draw on a range of light methodology practices.
Ward Cunningham, Cunningham
& Cunningham, Inc.