Information Technology Reference
In-Depth Information
consultant; his recommendation was to throw away all of their existing code and
abandon their current Waterfall methodology. During the next 14 months, Beck,
along with the help of Ron Jeffries and Martin Fowler, restarted the C3 payroll
project from scratch (keeping only the existing GUIs), employing his new software
development concepts along the way. By mid-1997, his informal set of software
engineering practices had been transformed into an agile methodology known as
Extreme Programming 8 (Anderson, 1998) (Beck, 1999). With respect to his newly
introduced Extreme Programming methodology, Kent Beck stated, “Extreme Pro-
gramming turns the conventional software process sideways. Rather than planning,
analyzing, and designing for the far-flung future, XP programmers do all of these
activities—a little at a time—throughout development” (Beck, 1999, p. 70).
In surveys conducted by Ganssle (2001) very few companies have actually adopted
the Extreme Programming methodology for their embedded applications; however,
there was a fair amount of interest in doing so (Grenning, 2002). Having made its debut
as a software development methodology only seven years ago, Extreme Programming
is a relatively immature software development methodology. In general, academic
research for agile methodologies is lacking, and most of what has been published
involves case studies written by consultants or practitioners (Abrahamsson et al.,
2002, p. 1). According to Paulk, agile methods are the “programming methodology
of choice for the high-speed, volatile world of Internet software development” and
are best suited for “software being built in the face of vague and/or rapidly changing
requirements” (Paulk, 2002, p. 2).
2.3.2.2.1
Advantages
XP is also very productive and produces high-quality software.
Project Restrictions—There is a small set of project environments that the XP
methodology to which successfully can be applied—software only, small teams,
and a clearly definable cooperative customer. It is a nonscalable process as a
whole and claims it needs to be whole to reap the most benefit.
Local Optimization—Ian Alexander (2001, p. 1) states that “Maxims like, do
the simplest thing that could possibly work, do not necessarily lead to optimal
solutions.”
Process versus Process Improvements—For example, the Capability Maturity
Model Integration (CMMI) models emphasize complete coverage of the “what”
of the model, but the “how” is left to the organization or project and needs to make
business sense. XP emphasizes complete coverage of the process specifying the
“how” and it does not fit nondetrimentally within as many business environ-
ments.
8 Wiki (The Portland Pattern Repository). Hosted by Ward Cunningham. Embedded Extreme Programming.
http://c2.com/cgi/wiki?Embedded Extreme Programming.
Search WWH ::




Custom Search