The_Comparison_Of_FourSME_Approaches_reviewd_by_ali

advertisement
The Comparison of Four Situational Method
Engineering Approaches
Suzanne Haanappel, Inge van de Weerd, Sjaak Brinkkemper,
Department of Information and Computing Sciences, Utrecht University, PO Box 80.089,
3508TB Utrecht, The Netherlands
{sjwhaana, i.vandeweerd, s.brinkkemper}@cs.uu.nl
Abstract. The abstract should summarize the contents of the paper and should contain
at least 70 and at most 150 words. It should be set in 9-point font size and should be
inset 1.0 cm from the right and left margins. There should be two blank (10-point)
lines before and after the abstract. This document is in the required format.
Keywords: We would like to encourage you to list your keywords in this section.
1 Introduction
Brinkkemper (1996) wrote that the information systems world had been struggling
with its terminology because of its young age and commercial influences. He
suggested that in order to establish a scientific basis agreement had to be made on the
terminology. Additionally he structured the methods and tools by introducing the term
method engineering (ME) to provide structure for the area of methods and tools.
Method engineering is the engineering discipline to design, construct and
adapt methods, techniques and tools for the development of information
systems. (Brinkkemper, 1996)
This approach of method engineering was based on Kumar and Welke (1992) who
introduced method(ology) engineering as solution to the problem that “there is no
detailed information systems methodology which is the best in all situations” (Van de
Weerd , Brinkkemper, Souer, Versendaal, 2006). In his paper Brinkkemper (1996)
also describes situational methods which is an information systems development
method tuned to the situation of the project at hand (Van de Weerd et al., 2006). Van
de Weerd et al. (2006) wrote that the approach to SME in most literature is quite clear
and provides us with three steps which Brinkkemper (1996) identified and named to
engineer situational methods: (1) characterization of the project, (2) selection of the
method fragments (that are stored in a method base) and (3) assembly of method
fragments. This paper will emphasize on the concept of situational method
engineering by making a comparison between four situational method engineering
(SME) approaches. This comparison will provide insight into the similarities and
differences of the four approaches and may enable us to define some of the generic
elements of a SME approach. These generic elements could be used to simplify the
development of qualitative good SME processes. Therefore the research question will
be:
What are the main characteristics of situational method engineering
approaches?
First an introduction to the research is provided with an explanation on the chosen
modeling technique. Then the four SME approaches are introduced and modeled in
PDDs. When these models are created they will be compared and conclusions can be
drawn. We will finalize with a discussion and suggestions for future research.
2 Research
During this research four SME approaches were analyzed to provide insight into the
foundations of the process of situational method engineering. The four SME
approaches are retrieved from the papers of Van de Weerd et al. (2006), Van Hövell
(2009), Ralyté, Deneckère, Rolland (2003) and Seidita et al. (in printing). The
research is executed by thoroughly analyzing completely different SME approaches
and enables us to draw conclusions about the foundations of situational method
engineering. It may even result in finding general characteristics in four non-related
SME approaches.
The analysis of the SME approaches is done by using a modeling technique called
Process Data Diagram (PDD). The foundations of this technique are created by Saeki
(2003) who proposed the use of a meta-modeling technique that enables the
attachment of semantic information to artifacts and for measuring their quality using
that information (Van de Weerd et al., 2006). In Van de Weerd et al. (2006) the metamodeling technique by Saeki (2003) is adjusted to reveal relations between activities
and data. This resulted in a two-sided development method where one side shows the
activities (process) and the other side shows the data (deliverables produced by the
method) (Van de Weerd et al., 2006). The changes made by Van de Weerd et al.
(2006) were the introduction of unordered activities and tree different types of
concept. Additional information on the changes made by Van de Weerd et al. (2006)
can be found in (Van de Weerd et al., 2006).
(Image Voorbeeld PDD invoegen?)
We have chosen for the usage of the PDD technique to overcome the problems that
arise when comparing differently modeled SME approaches, like differences between
layout and descriptions of process elements. The usage of the PDD technique results
in diagrams that are easily readable both for people with experience in the area of
method engineering, but also for people without this experience. Additionally the
separation between the process and the data allows us to compare the two sides both
separately and together. This allows for more detail in the comparison process.
3 Four SME approaches visualized in PDDs
As mentioned above the four SME approaches are retrieved from the papers of Van
de Weerd et al. (2006), Van Hövell (2009), Ralyté et al. (2003) and Seidita et al. (in
printing). We will first introduce these four papers by providing some information
about the authors and what the contents of the papers are. After that the four SME
approaches are visualized using the PDD technique described under Research. Some
of the SME approaches were adjusted during the modeling phase, these changes will
be mentioned and explained to provide full clarity on the modeling process.
3.1 Situational implementation method for web-based content management
systems-applications by Van de Weerd et al. (2006)
In their paper Van de Weerd et al. (2006) have developed a situational
implementation method for web-based content management system-applications. The
research is based on the problems that arise during the usage of data-intensive web
applications concerning consistency, navigation and data duplication (Van de Weerd
et al., 2006). Because there are no existing web-application methods the development
of this method was necessary (Van de Weerd et al., 2006).
The research project is carried out by following the design research methodology for
performing research in information systems as described by March and Smith (1995)
and Vaishnavi and Kuechler (2004) (Van de Weerd et al., 2006). Design research
involves the analysis of the use and performance of designed artifacts to understand,
explain and, very frequently, to improve on the behavior of aspects of Information
Systems (Vaishnavi and Kuechler 2004). The iterative design cycles consists of 5
process steps:
(1) Awareness of the problem
(2) Suggestion
(3) Development
(4) Evaluation
(5) Conclusion
The method engineering approach is used to develop a new method for implementing
web-based CMS applications (Van de Weerd et al., 2006). The method developed by
Van de Weerd et al. (2006) is a generic approach that is also usable in other fields.
Situational implementation method for web-based content management systemsapplications by Van de Weerd et al. (2006) modeled in PDD
During the modeling it was taken into account that the developed PDD for the paper
of Van Hövell was based on the assembly-based situational method engineering of
Van de Weerd et al. (2006). Therefore some changes were made to the denomination,
where a comparison was made between terminology used by Van de Weerd et al.
(2006) and Van Hövell (2009) to choose equal terms by selecting the most specific
terms out of both methods.
Figure 1 Situational implementation method for web-based content management
systems-applications by Van de Weerd et al. (2006) modeled in PDD
PROJECT SITUATION
Identification
Define
Identify project situations
1..*
1..*
PROJECT
REQUIREMENT
Identify project requirements
0..*
Is based on
Selection
Identify candidate methods
Select candidate methods
0..*
CANDIDATE METHOD
1..*
Is visualized in
Analysis
Analyze methods
1..*
Store Method Fragments in Method
Base
Assembly
1
PDD
METHOD BASE
1..*
Select Method Fragments
METHOD FRAGMENT
Assemble method
SITUATIONAL
METHOD
1..*
1..*
3.2 Situational implementation method by Van Hövell (2009)
The first paper is the paper of Van Hövell (2009). Van Hövell (2009) developed a
situational implementation method for personal health management software. This
method was developed for the company VitalHealth Software B.V., which is a
company established in The Netherlands that develops and models disease
management solutions and personal health management software for chronic diseases.
(Van Hövell, 2009). The research approach Van Hövell took was based on the general
design cycle by Vaishnavi, et al (2007). The actual development method for the
situational implementation method was based on the Method Association Approach
MAA approach (Luinenburg et al., 2008-1/2), which is based on the assembly-based
situational method engineering approach of Van de Weerd et al. (2006) (Van Hövell,
2009). This approach consisted of the following steps:
(1) Identify web engineering project situations
(2) Identify feature groups of a software project
(3) Select candidate methods for the identified feature groups
(4) Model relevant method fragments in a method base
(5) Associate feature groups with candidate method concepts
(6) Assemble situational web design method
(7) Validate situational method
The method was used and validated for the design and development in the web
content application domain (Van Hövell, 2009). For the use in other domains Van
Hövell (2009) has generalized the MAA.
Situational implementation method by Van Hövell modeled in PDD
It was mentioned before that the situational implementation method by Van Hövell
(2009) was based on Luinenburg et al. (2008-1/2), who based his paper on the
assembly-based situational method engineering approach of Van de Weerd et al.
(2006). Therefore during modeling some changes were made to the original PDD in
terms of the denomination to enable more easy recognition of similar activities and
concepts in comparison with the PDD of Van de Weerd et al. (2006).
Figure 2 Situational implementation method by Van Hövell (2009) modeled in PDD
PROJECT SITUATION
1..*
1..*
Identify project situations
FEATURE
Identify feature groups
Model candidate methods
Is associated in
CANDIDATE METHOD
1..*
Are modelled in
Select candidate methods
FEATURE GROUP
1..*
1
Is assembled in
Consists of
1
PDD
Associate feature groupings with
candidate methods
1
1
1..*
METHOD FRAGMENT
Assemble situational method
METHOD BASE
1..*
1
ASSOCIATION TABLE
Validate situational method
Results in
1
1
PRELIMINARY SITUATIONAL
METHOD
1
SITUATIONAL METHOD
Is refined in
1
3.3 A generic model for situational method engineering by Ralyté et al. (2003)
Ralyté et al. (2003) believe that it will be useful to investigate the problem of
integrating different approach into a single situational method engineering (SME)
process model. In their paper they propose a generic process model supporting the
integration of different existing SME approaches. The model should guide the method
engineering in the definition of his project method engineering goal and in the
selection of the approach which best allows him to achieve it (Ralyté et al., 2003).
Generic model for situational method engineering by Ralyté et al. (2003)
modeled in PDD
Ralyté et al. (2003) used a strategic process meta-model called Map to represent their
generic SME process model. Map provided a representation system based on a nondeterministic ordering of intentions and strategies (Ralyté et al., 2003). Modeling the
generic process model visualized in Map to a PDD was a difficult and extensive
transformation. The generic process model was modeled in one figure, where the
major steps were visualized in other figures. To model the generic process model into
a PDD these figures had to be combined and merged. Also some of the intentions had
to be modeled as activities which required even more eye for detail in the
transformation process.
Figure 3 Generic model for situational method engineering by Ralyté et al. (2003)
modeled in PDD
1
SME APPROACH
Is modelled by
1
Method engineering strategy
1
Select strategy
STRATEGY
Set method engineering goal
SME GOAL
1
0...1
REQUIREMENTS
SELECTION STRATEGY
Is modelled by
Result in
1
Assembly Based ME
1…*
Select requirements elicitation strategy
METHOD
REQUIREMENT
1…*
1…*
0...1
METHOD EXTENSION
STRATEGY
1
Extension based ME
1…*
1
META-PATTERN
1
Guides
Select method extension strategy
Matches
METHOD CHUNK
Select method chunk assembly strategy
Assemble method chunks
[Else]
EXTENDED METHOD
1
Select a meta-pattern
1…*
METHOD
0..1
1
CONSTRUCTION
STRATEGY
1
Extend a method
Structures
[Domaindriven
strategy]
Is modelled by
Select method chunks
Match with
Specify method requirements
1
1
Paradigm based ME
PRODUCT MODEL
1
Supports
Define strategy for construction of the
product model
1
Construct a product model
FORM STRATEGY
1
Refines
Select form strategy
Construct a process model
1
PROCESS MODEL
3.4 The metamodel: a starting point for design processes construction A generic
model for situational method engineering by Seidita et al. (in printing)
The construction of ad-hoc design processes following the SME paradigm is currently
carried out by adopting a set of phases for which, until now, no well defined
techniques and guidelines have been established (Seidita et al., in printing). Seidita et
al. (in printing) write that therefore organizations still are very dependent on the
method designers’ skills. Consequently they propose an approach based on SME for
constructing customized agent oriented design processes (Seidita et al., in printing).
This approach adopts the metamodel as the most important factor leading to the
selection and assembly of method fragments and an algorithm for establishing the
instantiation order of metamodel elements. The algorithm makes the proposed
approach repeatable and usable even by not very skilled personnel thus proposing an
improvement to the actual situation (Seidita et al., in printing).
The metamodel: a starting point for design processes construction by Seidita et
al. (in printing) modeled in PDD
Seidita et al. (in printing) provided a visual impression of the proposed situational
method engineering process in their paper which simplified the development of the
PDD. However some changes had to be made to this activity side of the process,
because the technique used in modeling PDDs has some different notation forms than
the technique used in the paper by Seidita et al. (in printing). Only the third modeled
choice on the activity side was kept, because the other choices did not really imply
choices but rather possibilities. The second modeled choice was transformed from a
branch to a fork, because the branch was used to model two parallel activities instead
of a choice.
The concept side of the process was not elaborated on in the paper, so this had to be
derived from the description of the activity side in the paper. Deriving the concepts
from the paper proved to be quite difficult, because of internal independencies in the
process.
Figure 4 The metamodel: a starting point for design processes construction A generic
model for situational method engineering by Seidita et al. (in printing) modeled in
PDD
1…*
1…*
PROCESS
REQUIREMENT
Needs
Results in
Process Analysis
Process Requirements Analysis
1
1
Core Metamodel
Creation
SYSTEM METAMODEL
Process Lifecycle
Definition
1
DESIGN PROCESS
1
1..*
ELEMENT
Priority: low, medium,
high
Process Design
Metamodel Elements Prioritization
New Fragments Creation
Supports
Reusable Fragments
Selection
FRAGMENT
1..*
1
METAMODEL
Fragments Assembly
Metamodel Extension
1
[No extension]
New Design Process
Enactment
Supports
[MM extension]
1
1
NEW SEP
Process Evaluation
System Design
Enables
1
Process Deployment
1
EVALUATION
4 Comparison
After the introduction of the four PDDs we can now move on to the comparison of the
PDDs. When analyzing the four PDDS we notice four major differences.
Firstly, the PDD based on Ralyté et al. (2003) shows a collection or overview of
different SME approaches that are available at the moment rather than a usable
process for modeling a SME. The PDD enables easy addition of other SME
approaches. This differs from the other three PDDs because they focus on delivering a
method or process at the end. The other PDDs are more applicable than informative as
the PDD of Ralyté et al. (2003) is.
Secondly, the PDD based on Seidita et al. (in printing) is different from the other
PDDs because it uses a metamodel to guide the development of a new software
engineering process. The other PDDs by Van Hövell (2009) and Van de Weerd et al.
(2006) use a PDD consisting of method fragments that are stored in a method base for
the development of situational methods. Additionally Seidita et al. (in printing) use
an algorithm for establishing the instantiation order of metamodel elements where the
PDDs by Van Hövell (2009) and Van de Weerd et al. (2006) do not contain an
algorithm in the development of the PDD. The selection of the method fragments has
to be done by hand and relies on the knowledge of method engineering. The PDD by
Seidita et al. (in printing) potentially can the method engineering expert by applying
this algorithm. And also this is the only PDD that does stop after the method has been
constructed, but where the final activity is an activity from which the data gathered
can be used when the process is again executed.
Thirdly we can compare the papers of Van de Weerd et al. (2006) and Van Hövell
(2009). The papers of Van de Weerd et al. (2006) and Van Hövell (2009) show
similarities, because the paper of Van Hövell (2009) is based on the approach of
Luinenburg et al. (2008-1/2) who based their paper on the assembly-based situational
method engineering approach of Van de Weerd et al. (2006). When comparing the
PDDs we see that the PDD of Van de Weerd et al. (2006) is based on the design
research methodology as described by March and Smith (1995) and Vaishnavi and
Kuechler (2004). The activities can be ordered into four different phases. The PDD of
Van Hövell (2009) does not explicitly contain different phases, but these can be
retrieved by analyzing the PDD. The first two activities are similar to the first two
activities of the PDD by Van de Weerd et al. (2006). The only minor difference is that
different things are identified, but this is off course based on the field of application of
the PDD. Next the second two activities “select candidate methods” and “model
candidate methods” are the same in both PDDs, again showing similar foundations of
the SME approaches. The final three activities in the PDD of Van Hövell (2009) can
be compared to the final two activities of the PDD of Van de Weerd et al. (2006),
except for the fact that in the PDD of Van Hövell (2009) an additional association has
to be made.
When comparing the concept sides of the PDDs we see that the both PDDs have
similar concepts. Both situational methods have PDDs as foundations for the
situational methods that are created. The created PDDs are split into method
fragments that are stored in a method base. The situational methods are created by
combining these method fragments. The usage of method fragments allows to easily
gathering of different method components to construct a (situational) method, which
allows the method engineer to combine different types of methods instead of just
using one.
Finally we will compare the papers of Van de Weerd et al. (2006) and Van Hövell
(2009) to the other papers. We see that in comparison with the paper of Seidita et al.
(in printing) there are the smallest differences. All three papers contain an approach to
develop situational methods, however Seidita et al. (in printing) do not use PDDs to
develop a situational method, but a metamodel. This metamodel identifies the order in
which the metamodel elements have to be instantiated during the development of the
new Software Engineering Process (Seidita et al., in printing). This is different from
the papers of Van de Weerd et al. (2006) and Van Hövell (2009) because it structures
the way the fragments have to be assembled. In the PDDs of Van de Weerd et al.
(2006) and Van Hövell (2009) the situational method has to be developed by the
method engineer, which implies that this expertise has to be available in the company.
The algorithm used in Seidita et al. (in printing) tries to eliminate the need for this
knowledge. It may also be for the use of this algorithm that there is an evaluation of
the process from which the data retrieved can be used when the process is executed
again. When the knowledge of the method engineer is eliminated from the process it
may be important that other knowledge gained is gathered to be used when executing
the process.
Another similarity between the PDDs of Van de Weerd et al (2006) and Van Hövell
(2009) and Seidita et al. (in printing) is the use of (method) fragments. Both the
situational methods and the metamodel consist of (method) fragments that are
extracted from existing design processes and methods. However in the PDD of Seidita
et al. (in printing) these fragments are not stored in a method base from which they
can be retrieved when the metamodel is created. However it would be only naturally
to assume that these fragments are stored somewhere to avoid loss of valuable time.
Additionally all three of the PDDs use some form of requirements or characteristics of
the process or process situation to select the method fragments used.
In comparison to the PDD of Ralyté et al. (2003) we see that both the PDDs of Van de
Weerd et al. (2006) and Van Hövell (2009) are based on an assembly-based
situational method engineering approach (Van de Weerd et al., 2006). The PDD of
Ralyté et al. (2003) is not created with the same goal as the PDDs of Van de Weerd et
al. (2006) and Van Hövell (2009), namely constructing a situational method by
applying a specific situational method engineering approach. The PDD of Ralyté et al.
(2003) provides an overview of different situational method engineering approaches
and lets the method engineer select which one needs to be used in a situational
method engineering situation. The PDD of Ralyté et al. (2003) provides us with an
overview of the possibilities for situational method engineering instead of a practical
approach. The process of Ralyté et al. (2003) does not seem to be as practically
oriented as the processes by Van de Weerd et al. (2006) and Van Hövell (2009) but
more educational.
5 Conclusion
When we look at the comparison of the PDDs there are several conclusions that can
be drawn.
First of all it shows that there are different types of constructions by which a
situational method can be developed, but they all seem to take into account some form
of requirements for the rest of the process. This means that there are one or more
activities that are aimed at retrieving requirements that influence the SME
development process.
Secondly all PDDs, except the PDD of Ralyté et al. (2003) contain (method)
fragments to create the final method/process. The (method) fragments are derived
from other design processes and it will most likely be that in all SME approaches
method fragments are stored in some form of method base. It has to be taken into
account that in the PDD of Seidita et al. (in printing) this is not modeled, so it could
be that every time the process is executed the fragments have to be retrieved from
existing methods instead of from some sort of method base.
6 Discussion and future research
References
1. Weerd, I. van de, Brinkkemper, S., Souer, J., Versendaal, J.: A situational implementation
method for web-based content management system-applications: Method Engineering and
Validation in Practice. Software Process: Improvement and Practice 11(5), 521--538 (2006)
2. Seidita, M. Cossentino, S. Galland, N. Gaud, V. Hilaire, A. Koukam and S. Gaglio. The
Metamodel: a Starting Point for Design Processes Construction. International Journal of
Software Engineering and Knowledge Engineering (IJSEKE). (in printing).
3. Ralyte, J., Deneckère, R., & Rolland, C.: Towards a Generic Model for Situational Method
Engineering, LECTURE NOTES IN COMPUTER SCIENCE, 95--110 (2003)
4. Hövell van Wezeveld en Westerflier, J. van.:(Public version) VitalHealth – Software
Implementation Method: A situational implementation method for personal health
management software (2003)
5. Brinkkemper, S.:Method Engineering: Engineering of Information Systems Development
Methods and Tools. Information and Software Technology, 38 (4), 275--280 (1996)
6. Kumar, K., Welke, RJ. (1992) Methodology engineering: A proposal for situation specific
methodology construction. Challenges and Strategies for Research in Systems Development,
pp. 257--269. John Wiley and Sons, Washington DC (1992)
7. Saeki, M. (2003) Embedding metrics into information systems development methods: an
application of method engineering technique. In CAiSE 2003: The 15th Conference on
Advanced Information Systems Engineering, 374-389.
8. Vaishnavi, V., Kuechler, W. (2004) Design Research in Information Systems.
http://www.isworld.org/Researchdesing/drisISworld.html, accessed
9. March, S., Smith, G. (1995) Design and natural science research on information technology.
Decision Support Systems 15: 251-266, DOI: 10.1016/0167-9236(94)00041-2.
10.Luinenburg, L., Jansen, S., Souer, J., Brinkkemper, S.: An Approach to Creating Design
Methods for the Implementation of Product Software: The Case of Web Information
Systems (2008-1)
11.Luinenburg, L., Jansen, S., Souer, J., Brinkkemper, S.: Designing Web Content
Management Systems Using the Method Association Approach (2008-2)
Download