Adopting Agile Practices:
An Incipient Pattern Language
Amr Elssamadisy – Valtech
David West – Transcendence Corporation
Abstract: The increasing popularity of Agile approaches to software development forces an
increasing number of organizations to deal with issues of Agile adoption (and adaptation).
This paper lays some groundwork for a pattern language that will facilitate the transition to
agility. We introduce patterns that focus on the dynamics of adoption rather than the
structure that results from adoption. To establish the desired foundation it is necessary to
“push the pattern envelope” in terms of traditional pattern documentation format and
relationships among patterns that form a pattern language.
Why This Topic and Why Now?
The first agile development processes, such as Scrum and XP, have roots extending back
to the mid-1990s. Agile achieved significant momentum and widespread adoption
beginning in the years 1999-2003. The Agile community continues to grow but still
represents minority of software development organizations. Effort has shifted from rote
adoption of a set of published practices (an attempt to treat agility as a method) to
attempts to understand the ideas, values and philosophy supporting agility in order to
optimize the adoption process. One of the forces behind this shift in emphasis is a
perception that agility must be “adapted” to fit specific circumstances before it can be
successfully adopted. Adaptations include the combination of practices from several
different “methods,” selecting (an even discarding) among the set of advocated practices,
and finding ways to incrementally introduce new practices. In effect: learning how to be
agile about adopting agility.
A set of patterns, preferably a pattern language, that would assist organizations adopting
agility is clearly needed and we believe that the body of experiences from which such a
language can be distilled is finally sufficient in size to assure some productive pattern