6 AN EXAMINATION OF INCREMENTAL METHOD ENGINEERING: TWO CASE STUDIES
In this chapter we shall demonstrate the viability of the
proposed method engineering principles by analyzing two cases of incremental ME.
Our focus on real-world method development efforts means that we will face two
major differences in metamodels: hereafter the metamodels developed are
situation-bound, and method applicability varies as its use situations change.
So far we have modeled ISD methods as they are described
in the method literature: they are “universal”, standard and largely
fixed. In Chapter 4 each method was specified using a single metamodel and no
situational method modifications were made. Recently, method developers have
adopted metamodeling for describing meta-data models, e.g. Booch et al. (1997)
present metamodels for their Unified Modeling Language, and Henderson-Sellers
and Bulthuis (1996b) for their Open Modeling Language. These metamodels,
however, neither suggest modifications of methods nor provide different method
versions for different situational needs. Although some situational needs are
identified (e.g. Booch and Rumbaugh 1995), versions that can meet these
situations are not specified. In incremental ME, metamodels are made based on
situational needs. At the same time we can demonstrate that the metamodeling
constructs are relevant for modeling situation-bound methods, not only
applicable for modeling text-book methods, as we used them in Chapter 4.
Based on the re-evaluation of method use (cf. Section 2.5)
we shall focus on supporting the evolution of methods. Two cases of local method
development are analyzed longitudinally and the methods constructed are
evaluated a posteriori using the principles of incremental method
engineering. These principles seek to externalize experiences of the
methods’ use and channel them back into method improvements. This allows
us to address our second research question on how to refine methods through
modeling experiences. Possible method refinements resulting from a
posteriori analysis demonstrate that the a priori method was not as
applicable as intended. If some refinements occur, these justify our conjectures
that local methods are evolutionary and need to be maintained. Alternatively, if
no method refinements are needed, then a posteriori analysis can be
considered unnecessary, or the evaluation mechanisms were inapplicable to
improve methods.
The chapter is structured as follows. First, we describe
the action research method followed. Second, two cases of local method
development are discussed using the steps of incremental ME. Finally, the cases
are analyzed by soliciting lessons about local method development, about method
engineering principles, and about the incremental approach.