3.2 Method engineering approaches
In working towards more complete principles for ME it is
necessary to place this work in the context of similar work reported in the
literature. Accordingly, in the following subsections we describe the currently
prevailing view of “ideal” ME in terms of its process, criteria, and
deliverables. This allows us to analyze alternative ME approaches and describe
their underlying assumptions, as well as their weaknesses and strengths.
Moreover, and most importantly, the view of current ME principles allows us to
describe what are their differences in relation to our focus on ME, namely to
engineer modeling techniques for tools.
3.2.1 Method engineering process
The general structure of a ME process (cf. Smolander et al.
1990, Tolvanen and Lyytinen 1993, Brinkkemper 1996, Cronholm and Goldkuhl 1994,
Grundy and Venable 1996, Harmsen 1997) is illustrated in Figure 3-2. The model
follows the notation of data flow diagrams (Yourdon 1989a) in which processes
are circles, external entities are rectangles, and data stores are rounded
rectangles. The arrows describe data flows between processes, externals and
stores.
FIGURE 3-2 A data flow diagram specifying ME
process.
In the following we outline the ME process by describing
each step, namely method selection, method construction and tool adaptation.
These are described as processes in the figure. It must be noticed that the
figure does not include all steps of local method development (cf. Figure 1-1),
such as method introduction, use, or collection of experiences, since the ME
literature does not provide any systematic principles for these, although the
tasks are usually acknowledged.
In the method selection process the ISD environment is
analyzed according to ME criteria. The criteria for methods can be divided into
situation-independent and situation-dependent parts. The former criteria are
considered desirable for most methods regardless of the situation for which they
are developed. Examples of these universal criteria are: easiness to learn,
simplicity of use, good support for communication between stakeholders and good
support for transitions between different tasks or phases of ISD. These criteria
cover more than one type of method knowledge, but can also be specific only to
certain types of method knowledge. In our case of constructing modeling
techniques examples of general criteria include readability and easy to use.
The latter type of criteria are relevant when we want to
increase the applicability of a method for a given situation. Jarke et al.
(1998) call these method adaptation criteria, and they are of primary interest
for incremental ME. They include classifications of relevant aspects of methods
which should be considered to satisfy the objectives for the method. For
example, in carrying out IS planning, the degree of centralization of the target
organization is suggested as one criteria (Sullivan 1985). If the organization
is centralized, IS planning can be performed better with BSP (IBM 1984), whereas
de-centralized organizations can be analyzed better with CSF (Rockart 1979).
Among the ME criteria we can distinguish between criteria which relate to
contingencies, development problems, and stakeholders’ values. These
criteria are reviewed in more detail in Section 3.2.3.
The selected method (or methods) which meet the ME
criteria are constructed, possibly with new method components. This means
combining method knowledge from different methods as well as from different
types of method knowledge. By focusing on method components (or fragments,
Harmsen 1997), and therefore introducing smaller changes, methods can be
maintained or even integrated (e.g. Kronlöf 1993) if required. For example,
if the programming language changes from C++ to Smalltalk, the method knowledge
is modified slightly: it is no longer permissible to use multiple inheritance.
Since all criteria are not necessarily met with existing methods, new method
knowledge needs to be defined, and some of the method components may need to be
removed. The new method configuration is stored into a repository for future
selections.
Finally, the method constructed needs to be adapted into a
CASE tool. Generally speaking tool adaptation deals with customizing or building
a tool for the method, or choosing a set of tools which cover all the method
knowledge (for selection strategies see Bubenko 1988). If this adaptation is not
carried out then the contribution of the method construction is limited, because
a tool could ensure that the method is used as intended. ME without tool
adaptation would be the same as developing IS specifications without
implementing associated computer-based support. Method introduction also
involves non-computer supported parts, such as production of manuals, tutorials,
etc., which are not included into the adapted tool. Basically, tool adaptation
includes building method-tool companionship, namely the support for
abstractions, model checking, form conversion and review (cf. Section 2.3.2).
This adaptation requires that the constructed method is modeled with a modeling
language offered by the customizable CASE tool. If the CAME tool provides
translation of the metamodels into a CASE tool (e.g. Rossi et al. 1992), or
method use can be tested in the same tool where the tool adaptation is performed
(e.g. Kelly 1997), the tool adaptation becomes easier and faster. Hence, an
outcome of a successful ME process is a fully functional computer-based IS for
ISD. This defines what developers can store into the repository of an ISD tool,
how system descriptions can be represented, retrieved, checked, transformed, and
how descriptions are managed.
3.2.2 Types of method knowledge considered
Ideally speaking all sorts of method knowledge and their
relationships can be subject to ME: from the underlying conceptual structure to
the assumptions and value-orientations of a method. Practically speaking,
methods usually only address a few types of method knowledge (Jarke et al.
1998), and methods can be modified by changing only one or a few types of method
knowledge (e.g. Kronlöf 1993).
Although the types of method knowledge are related, each
type can be viewed independently and represented using a number of alternative
representation schemes and mechanisms resulting in different kind of metamodels.
Clearly, no method construction is possible without some sort of (explicit or
implicit) metamodeling. Thus behind all approaches there are some metamodeling
formalisms (cf. Section 3.3). In the following a set of ME approaches are
analyzed based on their focus on different types of method knowledge. These ME
approaches are taken from a survey of ME research (Tolvanen et al. 1996) and the
approaches are summarized in Table 3-1. It must be noticed that a single
approach may belong to more than one category, as they typically cover at least
modeling of conceptual structures, even if only as the foundation for the
modeling notation, procedural guidelines, participation or values.
Because all methods are based on some concepts, ME
approaches address the conceptual structure, at least those concepts related to
the other type of method knowledge addressed. There are, however, ME approaches
which focus mainly on conceptual structure, such as Mercurio et al. (1990),
Essink (1988), Olle et al. (1991), and Heym and Österle (1992). In general,
these frameworks present conceptual structures or suggest reference models of
methods. Hence, here the objective of ME is to identify and establish relevant
concepts of ISD and include them in the conceptual structure of the method. A
short example of a conceptual structure is now in order. For example, the
conceptual structure of most object-oriented methods includes the concept of
inheritance, its relation to other concepts, and possibly constraints, such as
single inheritance or recursivity. Although this conceptual structure also
includes relationships to notations, or to processes, they are often too general
to define methods in such a detailed and formal manner that computer support can
be built based solely on such a conceptual structure.
TABLE 3-1 Method engineering approaches and types of
method knowledge
The most studied ME approaches are those operating at the
notational level, but related to conceptual structures (Tolvanen et al. 1996).
These approaches define modeling techniques (e.g. Teichroew et al. 1980,
Sorenson et al. 1988, Welke 1988, Smolander 1991, Saeki and Wenyin 1994, Venable
1993). Some of them (e.g. Sorenson et al. 1988, Welke 1988, Smolander 1991,
Kelly et al. 1996) are also used as a conceptual schema for modeling tools.
Notation-based ME is more concise than those based on conceptual structures: it
focuses only on the concepts related to modeling. For example, it defines how
the concept of inheritance is represented, related to the representations of
other concepts, and how the constraints of the inheritance are supported in a
modeling technique. Hence, while focusing on modeling techniques they address
the conceptual-representational dimension (Smolander et al. 1990) by defining
how concepts are represented. This is typically achieved by relating conceptual
structures to their representation definitions (e.g. Smolander et al. 1991,
Wijers 1991). For example, Smolander et al. (1991) link the conceptual content
of a method into a graphical, diagram-oriented representation. In Kelly (1994)
this approach is extended into a matrix representation. As a result, these
method definitions can be applied at the ISD level as a modeling technique. The
metamodels representing modeling techniques are often characterized as meta-data
models (Brinkkemper 1990). This thesis investigates notation-based ME, and
therefore we describe in Section 3.3 only those metamodels and metamodeling
languages which support a notation-based approach.
ME approaches that concentrate on the processes of method
use are less developed than those that concentrate on the conceptual structure
and notations of methods
[12] (Tolvanen et al.
1996). They can be divided into those that specify the relationships among the
modeling tasks (e.g. Wijers 1991, Hofstede and Nieuwland 1993, Rolland and
Prakash 1996, Jarke et al. 1994) and those that emphasize the specification of
modeling products and the tasks needed to make them change (e.g. Marttiin 1994).
The former can be used to describe, for example, when and how inheritance
structures are identified, and the latter also in which technique it is
represented. These processes are represented in process or meta-activity models
(Brinkkemper 1990). A process model is always related to the conceptual
structure of a method, but it can also be related to the notation based
metamodels, as in the latter example. The manipulation of models is always
dictated by tasks and decisions, whether or not these are defined in an explicit
process model. In this thesis, we do not consider the process-based approaches
to modeling techniques. The strategies of integrating a meta-data model and a
process model are discussed in Wijers (1991), Marttiin et al. (1995), Tolvanen
et al. (1993), and Kinnunen and Leppänen (1994). Classifications of process
models can be found from Dowson (1987) and surveys from Curtis et al. (1992) and
Finkelstein et al. (1994).
Other types of method knowledge are more poorly addressed
in the ME literature. One reason is the absence of such descriptions in the
method books. At the level of ISD participation, ME approaches define the
stakeholders involved and the organizational structures related to method use.
The metamodel of Tolvanen et al. (1993) includes agent models which specify the
activities performed and the agents involved. The Method Engineering Language
(MEL) of Harmsen (1997) allows the entry of different roles, such as
responsibility, for method components. Therefore, a participation model of ISD
defines, for example, who is responsible for finding and creating inheritance
hierarchies with class diagrams.
At the level of modeling decisions a variety of design
rationale approaches are proposed. These aim to record the design decisions made
based on a predefined schema (Ramesh and Edwards 1993). Originally the
decision-oriented models focused on decisions behind designs not behind methods,
e.g. why an inheritance between two classes is defined as virtual. Design
rationale can be also modeled in two other ways which are beneficial to ME:
decisions related to method use and decisions related to method construction. An
example of the former could be an IS developer’s justification why a
concept of virtuality is used in inheritance structures. Approaches of this type
focus on decisions related to the ISD process. The proposal of Rolland et al.
(1995) focuses on the specification of successive transformations of the
modeling product, from the viewpoint of the consequences of decisions. Jarke et
al. (1994) propose a traceability model for tracing processes defined in a
guidance model. An example of the latter would be a method engineer’s
justification of why a metamodel includes a concept of inheritance.
Oinas-Kukkonen (1996) proposes metamodel-related rationale, but does not explain
its use in more detail. For example, to which types of method knowledge should
the decisions on method use be related? Should it be used for recording why a
certain concept was used, why it was represented in a specific diagram, or why
it was specified in a certain phase of ISD, etc.
Finally, to our knowledge only Kumar and Welke (1984,
1992) have directly focused in the ME literature on the development objectives
and values underlying methods. They proposed an ISD-Personal Value Questionnaire
(ISD-PVQ), consisting of 86 value concepts, with which a method
stakeholder’s values can be collected and their relevance can be assessed
within three different groups, addressing technical values, such as timeliness
of information; economical values, such as ISD costs; or
socio-political-psychological values, such as system responsiveness to
people.
Although all types of method knowledge can be modeled with
ME approaches, it does not mean that all types of method knowledge are modeled
fully. First, there are many activities like brainstorming sessions, meetings,
etc. which are not even considered to be modeled with current ME approaches.
Second, part of the knowledge applied in carrying out ISD is tacit and therefore
not expressible. As a consequence, aspects of method knowledge which can not be
made explicit can not be improved through method engineering principles, nor
supported by ISD tools. Finally, it must also be noticed that there are
dependencies between different types of method knowledge (cf. Figure 2-2).
Therefore, in local method development it is not meaningful to focus solely on
one or a few types of method knowledge. For example, the balancing rules
(Yourdon 1989a) necessitate that a notation-related metamodel can recognize
mappings between data stores and entities, although these mappings do not have a
notational counterpart. Hence, it must be noticed that metamodeling is
difficult, if not impossible, to perform meaningfully without considering other
types of method knowledge.
3.2.3 Criteria for constructing methods
ME approaches must be also characterized according to the
driving factors or criteria used to engineer methods: it is not useful to
perceive and model method knowledge if you do not know how it should be
analyzed, constructed and maintained. Accordingly, most important to the success
of ME is not how well a method can be represented, but how the applicability of
a method is improved.
In the following, ME approaches are analyzed based on
which kind of criteria they apply to achieve the methodical requirements of ISD.
In principle, these approaches fall into three categories, namely those
describing the method use environments, also known as contingency frameworks;
those emphasizing the importance of problems at hand to be solved by the method;
and those focusing directly on method users’ requirements. These
approaches are summarized in Table 3-2.
TABLE 3-2 Method engineering approaches and
criteria.
It must be noticed that the three categories are not
necessarily the same approaches as those addressing types of method knowledge.
Many of the approaches discussed earlier focus mostly on metamodeling but do not
explicitly describe what should be done with the metamodels. Compared to
research on metamodeling languages, the criteria for engineering methods seem to
be less studied. It must also be noticed that they can overlap. For example, a
contingency framework can also include some criteria related to different type
of problem situations or aspects of the stakeholders’ values. Moreover,
the same criteria can be recognized with more than one type of method
engineering approach.
Each approach focuses on different aspects of ME, and they
are therefore limited to some extent. Below, we discuss their weaknesses and
strengths as principles for carrying out ME.
3.2.3.1 Criteria based on contingencies
The majority of ME approaches apply contingency frameworks
(cf. Section 1.4.2) to characterize an ISD environment and to find situational
requirements for methods. This characterization is performed through an analysis
of the project’s context (Slooten and Hodes 1996), its environment
(Harmsen 1997, Harmsen et al. 1994b) or the profile of the situation (Vlasblom
et al. 1995). The content and objective of these approaches, however, are the
same. The applicability of a method is understood as the closest possible
relationship between the characteristics of the ISD situation and the
characteristics of the method.
The approaches analyzed use either an external contingency
framework (e.g. van Slooten and Hodes 1996), or relate some situation
characteristics directly to metamodels (Heym 1993, Heym and Österle 1991,
Harmsen 1997). An example of the former is the work of Punter and Lemmen (1996),
who aim to apply a contingency checklist to define project strategies and method
objectives. An example of the latter is Heym and Österle’s (1992)
work where they collect characteristics of a method into a metamodel based on
fixed classification schema. This classification includes parts focusing on the
method (e.g. project management, risk management, system development),
application type (e.g. expert, office or real-time system), and life-cycle of
ISD (e.g. analysis, maintenance). The advantage of relating contingency factors
to the metamodels is the close relation between factors and method components,
whereas the external contingency lists are often not explicitly related to
method knowledge.
The advantages of using contingency frameworks are
obvious. They provide a high-level view of methods, and by covering several
characteristics they help identify characteristics of methods which might not
otherwise be noticed at all. Also, research has identified a wide variety of
different ISD characteristics. However, the use of the contingency approach in
great detail is costly as it requires a large amount of resources and skills to
manage different methods and situational characteristics (Avison 1996, Kumar and
Welke 1992). Its effective use is difficult, because it is almost impossible to
classify, or to identify, relevant contingencies beforehand. Moreover, and
general to all method development efforts, a combinations of various methods
might be impossible because of different and possible conflicting underlying
philosophies (Avison 1996).
To cope with the cost part, Punter and Lemmen (1996) aim
to provide a ready-made contingency list. However, such a list operates at the
general level of method knowledge, and does not allow other method choices than
those already prescribed. Examples of the use of contingency frameworks deal
with method knowledge in general, such as how much analytic modeling should be
used instead of prototyping, or whether methods should be customized (e.g.
Slooten and Hodes 1996). As a result, they can not be applied effectively in the
detailed construction of methods. For example, it is unclear how factors like
the stability of goals (in Slooten and Hodes 1996) or the amount of resistance
can be related to the construction or even selection of modeling techniques.
Similarly, most of the contingency-based ME criteria do not identify method
knowledge in detail. As an example, the concept of inheritance is not addressed
in any of the frameworks, although some of the mappings are relatively
straightforward; such as single inheritance in class diagrams when a specific
programming language is used. Because method knowledge is not addressed in
detail, construction and maintenance of methods is not possible with the
contingency frameworks discussed above.
Similarly, the cases related to detailed ME, such as
customization of techniques or tasks of the ISD process, discussed in Section
2.5.4 (e.g. (Russo et al. 1996, Jaaksi 1997, Aalto 1993, Nissen et al. 1996,
Kurki 1996, Tollow 1996, Cronholm and Goldkuhl 1994) or field studies about ME
(Smolander et al. 1990) reveal that contingency frameworks for method selection
are not used. Similarly, the reported cases of ME (cf. Section 2.5.4) did not
apply any contingency frameworks. This does not mean that contingencies do not
describe characteristics of applicable methods. Instead it indicates how
difficult they are to use in the detailed engineering of methods. Finally, and
maybe most importantly, it should be noticed that none of the contingency
criteria have been validated for the task they have been proposed for. Although
some of them have been recognized to be relevant in past projects (e.g. Slooten
and Hodes 1996), their usability in method construction has not been clarified.
As a consequence, we do not know whether they are relevant for method
construction, which deals with detailed method knowledge.
3.2.3.2 Criteria based on problem solving
An alternative and more detailed approach is to seek
applicable methods or their parts based on their description and problem solving
capabilities. This approach is closely related to the method knowledge behind
modeling techniques: how can relevant aspects of the object system be adequately
described with modeling techniques, and how they allow us to find alternative
solutions. This approach is more widely applied in practice (e.g. Jaaksi 1997,
Tollow 1996) because it is simpler and does not require as much knowledge and
resources to carry out as the contingency approach. As emphasized by Jaaksi
(1997, p 76), ME efforts take place under financial pressure to solve practical
problems. Accordingly, work done by other method developers is considered as a
contribution to the method only when it can be expected to produce a
significantly better solution (Jaaksi 1997). As March and Simon (1958) have
recognized, organizations tend to find satisfactory rather than optimal
solutions. The significance of a method solution is evaluated based on the
problems at hand, not only by characterizing contingency factors and their
changes.
The use of problem-driven ME criteria in practice does not
mean that it is better. It has, however, some other advantages in addition to
those mentioned. First, since it is problem-focused and derives method
requirements from the current case, it is not so idealistic as the
contingency-based approach. Second, it is more open to new concepts of methods,
because it is not restricted to applying existing method-related situation
characterizations. For example, in Tollow (1996) difficulties in developer and
end-user communication led to the development of more readable and
understandable notations. The resulting modeling techniques were not available
in other methods and thus had new concepts and rules. Third, it is more open to
the requirements of detailed method knowledge. For example, in Jaaksi (1997) the
interest in the modality of dialogs of the user interface was added to the
dialogue diagram. This modeling technique was constructed by using the notation
of state diagrams with added new concepts, e.g. to describe which of the windows
is the main window, which are modeless, and what kind of tasks the user performs
with the windows.
Problem-driven ME also has shortcomings. It focuses only
on problems identified at the moment and provides little generalization
possibilities through frameworks. As with contingencies, the formulation of a
problem-driven method construction framework is difficult because of their
generality and loose connections to detailed method knowledge. For example, the
framework of Essink (1988), used by Punter and Lemmen (1996) in their MEMA
model, characterizes the problem domain according to four levels of abstraction
(i.e. object system, conceptual IS, data system and implementation) and eight
aspects (e.g. goals, dynamics, process structures). Methods are then allocated
to the same MEMA model for selection and construction. This approach would, for
example, locate ER diagrams and class diagrams under the same problem solving
situation. Thus, no distinction can be made between these modeling techniques,
or between different dialects of them. Instead, an inductive approach has been
proposed (Jarke et al. 1994): a framework should be developed from expected
problems and applied to method refinements. This aspect is analyzed in more
detail in Chapter 5.
3.2.3.3 Criteria based on stakeholders’ values
Kumar and Welke (1984, 1992) address the importance of
stakeholders’ values or design ideals as requirements of methods. A major
difference and strength of their ISD-PVQ technique is the emphasize on
participation in ME: the users’ requirements are the most important aspect
of ISs and therefore also of ISD environments. Thus, the applicability of a
method is considered according to how well it supports the method
stakeholders’ (developers, end-users, managers, etc.) values and
expectations of ISD. Simply, the methods developed are more easily accepted if
they satisfy the requirements of the method users.
ISD-PQV has also been applied in practice (Kumar and Welke
1984), revealing the domination of technical and economical aspects of ISD at
the expense of other values. The need to change the focus of methods from
technical aspects of ISs is also noted by several other researchers (e.g.
Lyytinen 1986, Avison 1996). The traditional perspective has been to see an IS
as a technical innovation and focus less on behavioral and social consequences
(Lyytinen 1986). The implication for ME is twofold: on the one hand, methods
should include participative and social components to compensate for the bias
towards technical and economic issues. Thus, stakeholder-driven ME approaches
could be used to move the focus of the ISD group towards other values and design
ideals. On the other hand, the current values of stakeholders are also major
reasons for the dominance of “hard” valued methods.
3.2.4 Implementation into ISD tools
The steps of ME can be supported by CAME tools. This means
that the deliverables, metamodels and ME criteria, can be stored in and
retrieved from the CAME repository, and methods can be compared, versioned, and
adapted into a CASE tool. The most studied tool functions have been capturing
method knowledge (cf. Heym and Österle 1993, Harmsen et al. 1994a, Verhoef
et al. 1991), and building generic CASE toolkits which can be customized for
different methods (cf. Teichroew et al. 1980, Chen et al. 1989, Sorenson et al.
1988, Bergsten et al. 1989, Smolander et al. 1991,
Rossi
1995, Grundy and Venable 1996, Kelly et al. 1996). The latter type of tools also
interest us since we believe that the results of ME efforts should be applied in
ISD as a situational method. Because of this focus, we view both the method and
the supporting tool as an end-product of the ME process.
The ISD tools can be further divided into two broad
categories based on how they model the object systems (Lyytinen 1987). These
categories include data-oriented and process-oriented approaches. In ME a
similar division can be also observed: there is a variety of metalanguages and
CAME tools that model the methods and support the storage of IS models made
according to method definitions (Sorenson et al. 1988, Smolander 1991, etc.). In
the process camp - with fewer representatives than the data-oriented camp -
research has focused on process representations and tools which support the
enactment of defined processes (Hofstede, et al. 1993, Wijers 1991, Hidding et
al. 1993, Pohl 1996). Since our focus is on the conceptual structure behind
modeling techniques we focus on data-oriented CAME tools.
In practice CAME technology is quite new. This can be
observed from CAME research which focuses mostly on tool building rather than
investigating their usefulness or usability (Tolvanen et al. 1996). For example,
to our knowledge only Marttiin et al. (1993) have analyzed metaCASE tools more
systematically in terms of their capabilities for establishing method-tool
companionship. The earliest pioneer SEM, (Teichroew et al. 1980) was introduced
only at the beginning of the 1980’s. Most current CAME tools are outcomes
of research projects, including MetaView (Sorenson et al. 1988), MetaEdit
(Smolander et al. 1990a, MetaCase 1994), RAMATIC (Bergsten et al. 1989),
Quickspec (Meta Systems 1989), MetaPlex (Chen 1988), IPSYS Toolbuilder (Alderson
1991), and MetaEdit+ (Kelly et al. 1996). During the last years commercial CAME
tools, such as IPSYS Toolbuilder, MetaEdit+ (MetaCase 1996a, 1996b) and
Paradigm+ have also begun to appear in the market. Commercial CAME tools are
called metaCASE tools
[13] and we apply this
term because of its wider use. Marttiin et al. (1996) present a framework for
comparing and evaluating CAME functionality. Isazadeh and Lamb (1997) and Kelly
(1997) review and make partial comparisons of sets of CAME and metaCASE
tools.
MetaCASE tools use a set of primitives, which allow them
to describe a given method quickly and provide a set of mechanisms to implement
tool support for the modeled method. To establish method-tool companionship (cf.
Section 2.3.2) the method must be described using the metamodeling language the
tool applies. Ideally the metamodeling language used in method construction is
the same as that required by the tool, but often the tool-related metamodeling
language limits the adaptation (Cronholm and Goldkuhl 1994), or other less
formal metamodeling languages are used during the construction and design phase.
The result of a ME process is a customized CASE tool which can assist ISD. The
customized CASE tool is expected to produce, through its support for the
situation-specific method, positive effects on the resulting IS or on the
process of its development. In this sense metaCASE tools provide a new approach
to establish symbiosis between methods and tools, and offer more degrees of
freedom in method and tool selection (Tolvanen and Lyytinen 1993).
The CASE tools developed should not be viewed only as
tools for making abstractions. They should also include other functionality
which are affected by the method: checking, form conversion and review (cf.
Section 2.3.2) are all design steps which need to be taken into account during
adaptation. First, checking of the models is always dictated by the underlying
metamodel. Because some rules of the method knowledge can not be guaranteed or
even checked at modeling time, but only after models are made, the tool
adaptation also includes the implementation of consistency checking reports.
Second, form conversions between different IS models (Fraser et al. 1991) or to
programming languages are driven by the underlying metamodel. In fact,
requirements to change metamodels often occur because of the demands to generate
certain programming code or analysis reports (cf. Section 5.1.2). Third, review
of ISD deliverables with end-users is largely carried out via the IS
representations (i.e. notations). This may require the use of less formal
notations, or simplified versions of the modeling techniques applied by IS
developers (e.g. Tollow 1996).
Finally, an additional advantage of using metamodel-based
tools is that we can apply them to collect information on method use. In other
words, using metamodels we can examine in a systematic and rigorous fashion how
developers perceive the IS, in what notation the system is described, and how
the models are checked. For example, in relation to experience gathering the
metaCASE tools can be used to find which method knowledge is used or not used
during ISD. This aspect is discussed in more detail in Chapter
5.
3.2.5 Summary and discussion
The ME approaches described are proposed for representing
various aspects of method knowledge and for constructing this knowledge to meet
different kinds of situational requirements. The survey reveals a mechanistic
view of ME approaches: ME aims to develop methods by specifying and constructing
them like machines, and little attention, at least in the published ME
literature, is given to the introduction and use of methods. The approaches
analyzed (cf. Tables 3-1 and 3-2) also have a narrow view of the ME process and
examine method knowledge only at a coarse granularity. Regarding the types of
method knowledge at the metalevel (i.e. knowledge behind the methods of ME),
most research has only focused on metamodeling languages and conceptual
structures, and little effort has been expended on other domains, such as what
is the ME process in greater detail or what decision and criteria are relevant
to ME. Other more specific limitations of the ME approaches are discussed
below.
First and foremost, almost all approaches assume a
priori construction of methods. Although some of the metamethods (e.g.
Brinkkemper 1996, Punter and Lemmen 1996, Harmsen 1997) acknowledge the
importance of experiences, they do not propose principles for identifying,
collecting, and analyzing experience-based method knowledge. If learning from
method use is ignored, methods can not be maintained or redefined based on
experiences. This shows that the approaches assume either explicitly or
implicitly that contingencies and problems are known beforehand and they are
stable during the use of the method constructed. Any changes after method
construction, e.g. during tool adaptation, method introduction, or method use,
are not incorporated into the methods. Although some of the ME approaches
acknowledge the changes, they do not include any steps or provide any mechanisms
for refining methods. These approaches do not fit with our view of method
knowledge as evolutionary (cf. Section 2.5.4): methods have evolved and changed
in general and in organizations, and there is no reason to expect that they
would not evolve in future. To our knowledge, only Jarke et al. (1994) focus on
analyzing method use as a part of ME. They propose a traceability model to
record process-related experiences. Yet their a posteriori ME approach
does not consider the refinement of other types of method knowledge based on
such feedback.
Second, most of the ME approaches are biased towards the
selection of ready-made method components (or fragments). Their construction
phases mostly consist of composing existing method knowledge, and method choices
other than those already available are not considered. As a result, the ME
approaches expect that someone has already proved a method or its component, and
it is known to be applicable in specific ISD contingencies or problem solving
situations. This is paradoxical, since there has been little research evaluating
methods according to criteria used in method construction.
Third, the criteria (i.e. contingencies, problem
characteristics, or values) used in the ME approaches are far too general to
direct detailed method construction. Because of this, the proposed situation
characterizations do not support detailed analysis, construction, and refinement
of method knowledge. At best, the characterizations can be used to
“prefer” a certain collection of techniques and methods. For
example, the approaches do not distinguish techniques of object-oriented methods
from techniques of structured methods. Although these general driving factors of
ME are important in understanding and structuring method knowledge, the examples
of local method development show that methods are developed at a far more
detailed level. Similarly, the studies on individual designers’
understanding and use of methods indicate that method knowledge is different at
the detailed level (Wijers 1991): for example, method knowledge is applied
differently even at the level of single concepts of a modeling technique.
To summarize, none of the ME frameworks provide explicit
principles for collecting and analyzing methods a posteriori and
therefore do not explain how method refinements can be carried out. In this
sense, they aim to deliver a method in terms of a constructed method, while
little attention is paid to analyzing how the method is used and whether it has
been successful.
[12] Although numerous
process models have been proposed for software engineering (cf. Armense et al.
1993), some of which can be used in principle to specify method-related
processes, we restrict our attention here to those explicitly developed for
ME.
[13] The terms CASE
shell (Bubenko 1988) and metasystem (Sorenson et al. 1988) have also been used.
These terms usually refer only to functions which allow the implementation of
CASE tool support for a selected method.