Skip to main content

2014 | Buch

Situational Method Engineering

verfasst von: Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

While previously available methodologies for software – like those published in the early days of object technology – claimed to be appropriate for every conceivable project, situational method engineering (SME) acknowledges that most projects typically have individual characteristics and situations. Thus, finding the most effective methodology for a particular project needs specific tailoring to that situation. Such a tailored software development methodology needs to take into account all the bits and pieces needed for an organization to develop software, including the software process, the input and output work products, the people involved, the languages used to describe requirements, design, code, and eventually also measures of success or failure.

The authors have structured the book into three parts. Part I deals with all the basic concepts, terminology and overall ideas underpinning situational method engineering. As a summary of this part, they present a formal meta-model that enables readers to create their own quality methods and supporting tools. In Part II, they explain how to implement SME in practice, i.e., how to find method components and put them together and how to evaluate the resulting method. For illustration, they also include several industry case studies of customized or constructed processes, highlighting the impact that high-quality engineered methods can have on the success of an industrial software development. Finally, Part III summarizes some of the more recent and forward-looking ideas.

This book presents the first summary of the state of the art for SME. For academics, it provides a comprehensive conceptual framework and discusses new research areas. For lecturers, thanks to its step-by-step explanations from basics to the customization and quality assessment of constructed methods, it serves as a solid basis for comprehensive courses on the topic. For industry methodologists, it offers a reference guide on features and technologies to consider when developing in-house software development methods or customising and adopting off-the-shelf ones.

Inhaltsverzeichnis

Frontmatter

SME Basics

Frontmatter
1. Introduction
Abstract
What is situational method engineering (SME) and why is it of current interest?
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
2. Method Chunks, Method Fragments and Method Components
Abstract
In Chap. 1, we used the name ‘method part’ to refer generically to some piece of a methodology smaller than the whole methodology. In the research literature, many names have been used, sometimes with the same semantics, sometimes the same name with different semantics. However, the bulk of the literature talks of (1) method fragments, (2) method chunks or (3) method components. These three different concepts are then utilised in SME approaches based on their focal utilisation. In each case, the overall definition must depend upon an appropriate metamodel. In this chapter, only fleeting reference will be made to these underpinning metamodels, which will themselves be a major focus of Chap. 4.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
3. Method Engineering as a Social Practice
Abstract
Formalised systems development methods are used in systems development as a means to express and communicate knowledge about the systems/software development process (Ågerfalk and Fitzgerald 2006). Since methods are social constructs, they embed various assumptions about people and systems development as a social practice (Introna and Whitley 1997; Russo and Stolterman 2000). Essentially, methods encapsulate knowledge of good design practice so that developers can be more effective, efficient and confident in their work. Nonetheless, it is a well-known fact that many software organisations do not use methods (Iivari and Maansaari 1998; Nandhakumar and Avison 1999) and, when methods are used, they are not used straight out of the box but are tailored to suit the particular development situation (Fitzgerald et al. 2003). This tension between the method ‘as documented’ and the method ‘in use’ has been described as a ‘method usage tension’ between ‘method-in-concept’ and ‘method-in-action’ (Lings and Lundell 2004).
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
4. Formal Descriptions
Abstract
In this chapter, we look at formal ways of addressing situational method engineering, method parts (fragments, chunks, components, etc.) and method construction. In Sect. 4.1 we discuss various metamodelling approaches at a variety of scales, from full method to single fragment descriptions. Section 4.2 is a brief discussion on ontologies and the use proposed for these in SME. In Sect. 4.3, in contrast to the static models of Sect. 4.1, we outline several formal descriptions of ways of constructing methods, while in Sect. 4.4 we comment on a few other formal approaches.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi

Applying SME in Practice

Frontmatter
5. Identification and Construction of Individual Method Chunks/Fragments
Abstract
In the first few chapters, we have set the scene by defining, both informally and formally, the ideas behind situational method engineering in terms of method fragments, method chunks, method components and method rationale. We have also briefly discussed issues of granularities and interfaces. However, we have to date neglected to answer the vital question “Where do these method fragments, method chunks, etc. come from?” This is the topic of this chapter.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
6. Processes for Creating a Methodology from Method Parts
Abstract
So far, we have discovered how to create method parts and what sort of underpinning formalisms are available; now we address the construction aspects, i.e. how to create a full, industry-strength methodology for software development from these method parts. This may be accomplished in a bottom-up fashion, starting with the identification of method parts and then ‘gluing’ them together; or commencing with the top-level architecture and recursively refining the detail to identify the method parts.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
7. Tailoring a Constructed Method
Abstract
Having constructed a method using an SME approach, the first enactment should follow smoothly, since all situational constraints have been accommodated during its construction. However, on later endeavours, minor ‘tweaking’ may become necessary. Sometimes, management may decide to ‘freeze’ a base method upon which such modifications are to be made. Indeed, this thinking can also be imposed on an ‘off-the-shelf’ method, which requires project-specific customisation. These various kinds of modifications are generically known as ‘tailoring’. For example, Fitzgerald et al. (2003) note, from empirical studies, that ‘off-the-shelf’ methods need to be tailored to fit the needs of a specific project, even if the method appears to be appropriate and suitable for the project in hand (Aydin and Harmsen 2002). Fitzgerald et al. (2003) focus on the usefulness of (a) contingency factors and (b) method engineering and show how this was successful within a Motorola case study. Kokol (1999) argues that the failure of IT in the medical area can be attributed to the inappropriateness of the methodology used—offering method engineering as a remedy. Arni-Bloch et al. (2006) show how a situational method engineering approach to the integration of COTS (commercial off-the-shelf) packages into more traditional information systems can be efficacious.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
8. Assessing Quality
Abstract
One of the least understood aspects of situational method engineering is quality assessment. Here, we are concerned firstly about the quality of individual method parts (fragments, chunks, components) as they are stored in the method base, the overall quality of the method base itself in terms primarily of cohesion and the quality of the method that is constructed from these parts, extracted from the method base. This last concern has two aspects: (1) whether the overall method is cohesive and complete (i.e., it is a full method and not just a partial method) and that it contains no unrequired elements such as work products created but not used nor has any missing method elements; and (2) whether the constructed process is the right one for the industry application for which it is targeted. The quality of all these can be assessed statically. There is an additional, dynamical, quality concern: how well the method works in practice. Each of these aspects is covered in the succeeding subsections of this chapter, starting with a discussion of a framework into which all these aspects fit.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
9. Examples of Constructed Processes
Abstract
In this chapter, we present four different examples of the application of the ideas of SME presented in the first eight chapters. Situational method construction often begins with team members identifying ‘on paper’ method fragments from a repository. In our first example (Sect. 9.1), we do just that by constructing a medium-sized methodology using the deontic matrices strategy of Fig. 6.​1. This illustrates the mechanics of choosing appropriate fragments for a hypothetical situation and mirrors the approach we actually took with one software company in Spain.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi

The Future of SME

Frontmatter
10. Recent Advances in SME
Abstract
In the earlier chapters of this book, we have introduced a comprehensive review of the state-of-the-art in situational method engineering. However, over the last few years, there have been published a number of new ideas that are highly relevant to SME. In particular, we highlight in this chapter just three of these: how SME support service-oriented architectures (SOA), the application of SME to metamodels known as situational metamodel engineering (SMME) and recent discussions regarding the overall metamodelling architecture and how modelling languages might be a better focus than metamodels.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
11. Final Summary and Future Work
Abstract
The history of situational method engineering as a subdiscipline of software engineering is around 20 years old. Increasing recognition that a one-size-fits-all methodology has led to increased interest in other options—specifically, the construction of a methodology from smaller method parts, those parts being chosen with the specific context or situation in mind. That situation may include the style of software being developed (e.g. real-time, information system), the resources and personal skills available in the team and the organisational culture. It may be organisation-specific or project-specific and may change over time. Changes are easily accommodation by the selection of new method parts (e.g. as team maturity increases—perhaps measured by CMMI or ISO/IEC 15504) or by the replacement of method parts (e.g. as individuals’ skills mature or as a result of technology changes). SME is highly flexible both in terms of its ability to construct various styles of method (from bureaucratic plan-based to highly agile) and in terms of it being able to provide a basic method that can morph in time.
Brian Henderson-Sellers, Jolita Ralyté, Pär J. Ågerfalk, Matti Rossi
Backmatter
Metadaten
Titel
Situational Method Engineering
verfasst von
Brian Henderson-Sellers
Jolita Ralyté
Pär J. Ågerfalk
Matti Rossi
Copyright-Jahr
2014
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-41467-1
Print ISBN
978-3-642-41466-4
DOI
https://doi.org/10.1007/978-3-642-41467-1