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)