In the literature, different terms refer to the notion of method adaptation,
including �method tailoring�, �method fragment adaptation� and �situational
method engineering�. Method tailoring is defined as:
A process or capability in which human agents through responsive changes
in, and dynamic interplays between contexts, intentions, and method
fragments determine a system development approach for a specific project
situation.
Potentially, almost all agile methods are suitable for method tailoring. Even
the DSDM method is being used for this purpose and has been successfully
tailored in a CMM context. Situation-appropriateness can be considered as a
distinguishing characteristic between agile methods and traditional software
development methods, with the latter being relatively much more rigid and
prescriptive. The practical implication is that agile methods allow project
teams to adapt working practices according to the needs of individual
projects. Practices are concrete activities and products which are part of a
method framework. At a more extreme level, the philosophy behind the method,
consisting of a number of principles, could be adapted (Aydin, 2004).
In the case of XP the need for method adaptation is made explicit. One of the
fundamental ideas of XP is that there is no process that fits every project as
such, but rather practices should be tailored to the needs of individual
projects. There are also no experience reports in which all the XP practices
have been adopted. Instead, a partial adoption of XP practices, as suggested by
Beck, has been reported on several occasions.
A distinction can be made between static method adaptation and
dynamic method adaptation. The key assumption behind static method
adaptation is that the project context is given at the start of a project and
remains fixed during project execution. The result is a static definition of the
project context. Given such a definition, route maps can be used in order
to determine which structured method fragments should be used for that
particular project, based on predefined sets of criteria. Dynamic method
adaptation, in contrast, assumes that projects are situated in an emergent
context. An emergent context implies that a project has to deal with emergent
factors that affect relevant conditions but are not predictable. This also means
that a project context is not fixed, but changing during project execution. In
such a case prescriptive route maps are not appropriate. The practical
implication of dynamic method adaptation is that project managers often have to
modify structured fragments or even innovate new fragments, during the execution
of a project (Aydin et al, 2005).