Article Preview
TopIntroduction
The methods that organizations employ for software production are in constant change, as companies strive to adapt their production processes to new technologies, business models, and development paradigms. Implementing changes in existing methods is a time- and cost-consuming activity, whose success is threatened by multiple factors, including resistance to change, fear of ineffectiveness, and resource constraints (Baddoo, 2003). Unsurprisingly, method change and enactment are important subjects of research in software process improvement (SPI) (Feiler & Humphrey, 1993; Gonzalez-Perez & Henderson-Sellers, 2008; vom Brocke & Sinnl, 2011).
Much research has been conducted on determining ‘what’ changes to introduce in order to improve process, and thus software, quality. This has resulted in a wide range of frameworks for assessing and improving processes, including the CMMI (CMMI Product Team, 2002) and SPICE (El Emam, 1997) frameworks. While useful, these approaches stay at a high abstraction level and do not answer the important question of ‘how’ to evolve existing methods to accommodate the needed changes.
This research provides an answer to the ‘how’ question from a process-oriented perspective, i.e., by investigating how to support the planning and enactment of changes in software production methods. We do not consider here the equally important cultural or human aspects, such as informing personnel about the change, delivering training sessions, etc. We are motivated by the analysis of software process improvement (SPI) success in small and medium software enterprises by Pino, García, & Piattini (2008), which reveals that two crucial factors are (1) the conduction of an iterative and incremental improvement process that introduces changes based on their priority, and (2) the usage of technical tools and platforms that support the improvement process.
In this paper, guided by these two factors, we describe the realization of a knowledge-based tool that supports the generation of process improvement plans for a specific context. Such plans link the process areas that need to be improved to the available process alternatives and the order in which they are implemented.
Our baseline consists of incremental method engineering (van de Weerd, Brinkkemper, & Versendaal, 2007)—a paradigm that promotes the step-wise improvement of process development processes—and the online method engine (OME) (Vlaanderen, van de Weerd, & Brinkkemper, 2013), the architecture of a knowledge management tool that facilitates incremental process improvement by supporting knowledge dissemination as well as method assessment, improvement, and enactment.
We make the following contributions:
- 1.
We detail the technical toolset that realizes the OME conceptual architecture. To do so, we use the well-known 4+1 architectural view model (Kruchten, 1995).
- 2.
We illustrate how our developed toolset is a sound realization of the OME concept.
- 3.
We detail how we support method enactment through the usage of a widely used, off-the-shelf requirements management tool that includes a workflow engine.
- 4.
We report on a qualitative evaluation of our technical toolset that we obtained through interviews with product managers that have expertise in process improvement.