42 Computer
project toward the agile or plan-driven side:
• risks stemming from an agile approach:
scalability, criticality, design simplicity,
staff churn, and staff skills;
• risks stemming from a plan-driven
approach: emerging requirements, con-
stant change, need for rapid results, and
staff skills; and
• general environmental risks: technology
uncertainties, diverse stakeholders, and
complex systems.
In listing these risks, they establish a frame-
work for examining the project experiences and
characteristics of various development approaches,
a framework echoed in the other three articles.
In “Developing Complex Projects Using XP with
Extensions,” Martin Lippert and his coauthors
describe how they have dealt with circumstances
encountered on projects using (mostly) Extreme
Programming. There is an echo of the Boehm-
Turner list in this work, even though the authors
arrived at their cyclical approach to software devel-
opment independently, based on specific project
experiences.
The authors discuss how they handled diverse and
conflicting interest groups driving a project, lack of
testing on the customer’s side of the equation, com-
plex systems and imprecise requirements, long-term
planning, dependencies among nonprogramming
tasks, and the need for requirements definition at
least for funding purposes. It is refreshing that they
identify the special skills the people in key roles
need, including the product manager, the author-
critic, and even the customer. Their experiences pro-
vide additional practices for agile developers to
consider using and demonstrate the benefits of mix-
ing selected traditional approaches with standard
agile and situationally derived practices.
In “Introducing an Agile Process to an Organi-
zation,” Mike Cohn and Doris Ford describe their
experiences with introducing Scrum into seven orga-
nizations over a four-year period and reflect on what
they learned along the way. They describe watch-
ing some developers add formal documents back
into their work practices—“we invariably found
programmers who enjoy producing noncode arti-
facts far more than they are willing to admit”—and
recall other overzealous developers who view agile
development as meaning they must not think ahead.
In light of the Beck-Boehm debate around disci-
pline, Cohn and Ford provide an interesting descrip-
tion: “They did not have the discipline XP requires
and, while paying lip service to XP, they were actu-
ally doing nothing more than hacking.” These
authors discuss their experiences with some Boehm-
Turner issues such as distributed development and
describe other issues that popped up on their pro-
jects, such as encountering developer resistance to
lightening the process, working with the human
resources department, using testers, and managing
the project and its interfaces to other groups.
Finally, in “Migrating Agile Methods to
Standardized Development Practice,” Mark Lycett
and his coauthors address a new wrinkle to intro-
ducing agile processes into an organization: work-
ing in an ISO 9000 or CMMI environment or one
in which a large corporation has mandated that all
projects must use a common process. They make
clear the need for a company to establish quality of
product, process, and service while still letting dif-
ferent projects work in the various ways that suit
them best.
Reporting on their experiences with a large com-
pany, these authors describe their particular
approach to project-specific process tailoring: a set
of process “patterns” that can be mapped to the
CMMI framework. For ISO 9000, they adopted a
pattern-based framework “to supplant repeatabil-
ity with consistency, while providing the audit trail
necessary for assessment.” For good project-
specific results, they revisited their use of the pat-
terns after each iteration and found that “making
the decision process visible is extremely valuable
because it forces management to actively determine
whether an activity or artifact is both necessary and
sufficient.” Echoing and extending the first Agile
Manifesto value, they describe their framework as
“suggesting suitable techniques for collaboration,
interaction, and communication.”
Lycett and his coauthors offer their own resolu-
tion of the agile versus engineering debate: “Agile
process does not fly in the face of engineering prac-
tice. If used thoughtfully, it provides a clear man-
date for making engineering practice lean and well
focused.”
I
t is a pleasure to introduce these articles in this
special issue. They capture the state of the cur-
rent conversation, and we hope they serve as the
catalyst for future ones. ■
References
1. J. Highsmith, Agile Software Development Ecosys-
tems, Addison-Wesley, 2002.
Working in an
environment in
which all projects
must use a
common process
adds a new wrinkle
to introducing
agile processes.