Software Acquisition: Experiences with Models and Methods
Gerhard Getto Thomas Gantner Ton Vullinghs DaimlerChrysler, Research and Technology Ulm, Germany
An important task of DaimlerChrysler’s process engineering research group is to study, develop, and evaluate relevant methods for software acquisition. Normally, the results of these research activities are tailored and transferred to the business units. As a part of these research activities we have been working on the comparison of different SPRITE-S2 software acquisition models. SPRITE-S2 is an initiative of the European Commission to support and guide in the procurement of ICT systems and services conforming to open specifications, and to promote and disseminate best practice by the application, validation and demonstration of existing new methodologies and tools. In this paper we describe how the results of the ASSIST [1] and PULSE [11] projects were used as an input and as a frame of reference for our own generic software acquisition process and assessment method.
Goal of our activities is to establish a continuous improvement process for the software acquisition processes of our internal customers. Our assessment method and generic reference process (including best practices) are important inputs for such an improvement cycle (see Fig. GGV.1):
Fig. GGV.1: Software acquisition improvement cycle
To achieve our goal, we proceeded in the following way: First, a generic software acquisition reference process including a set of best practices was developed. This process is based on an internal DaimlerChrysler acquisition process enriched with elements of the Euromethod [2]. The generic reference process was compared to the acquisition processes as described by ASSIST, and PULSE. In parallel, we performed an ASSIST-based self-assessment at our marketing-, sales- and after-sales department, thus gaining first experience on software acquisition assessments. Furthermore, additional self-assessments in different departments of the passenger car division were performed, based on the PULSE method. These experiences led to the decision to take PULSE as a starting point for our own software acquisition assessment method. We have customised the PULSE assessment method to the special needs of our business units. Currently, we are working on the integration of the assessment method and the generic software acquisition reference process.
Overview. In Section 2 we describe our generic acquisition reference process (GARP) and relate this model to the SPRITE-S2 approaches PULSE and ASSIST. In particular, we describe our criticism on these models and motivate the tailoring steps that we had to make. In Section 3 we describe the development of our software acquisition assessment method (SAM). Again, we relate the assessment method to the procedures as described in ASSIST and PULSE. Moreover, we briefly document our experiences with the application of the assessment model in our business units. Finally, in Section 4 we describe the integration of GARP and SAM.
DaimlerChrysler is purchasing more and more software products. Software acquisition and supplier management are major issues. Professional management of a customer-supplier-relationship sets a number of prerequisites, such as requirement management, risk management, well-established communication, legal aspects as well as controlling ambitions and costs. To avoid failure of a software acquisition, a strategy for procuring software needs to be in place. The elements of such a software acquisition strategy should consist of defined processes based on best practices for each phase of the acquisition lifecycle.
There are numerous existing standards and emerging approaches for software acquisition world-wide. Most often they are conflicting and a general trend for uniformity is not perceptible. A DaimlerChrysler study on models and approaches for software acquisition and supplier management [5] gives an overview of the state of the art of key processes in this area. In this survey, models, methods and best practices were described, evaluated and compared. We used the results of this survey to build a generic software acquisition reference process (GARP) and a list of references to best practices for singular sub-processes. The foundation of this software acquisition reference process was the DaimlerChrysler IT project management handbook. This handbook describes project and quality management processes and techniques. We compared our company process to the following approaches:
ASSIST deals with application of procurement process improvement techniques for small enterprises (SME). Some benefits provided are [1]:
PULSE is a top-down oriented software acquisition assessment approach, that is, it uses the ideas and structure of ISO/IEC 15504 (SPICE) to define its assessment model. PULSE is the intended ISO standard for software acquisition processes. PULSE is a comprehensive description of relevant sub-processes for successful software acquisition projects and therefore an important input for GARP. We could not directly use PULSE for structuring GARP, because PULSE is a framework and not a lifecycle model. That means, PULSE does not define a logical ordering for all the contained sub-processes. The strength of PULSE is its comprehensiveness. We used PULSE as a kind of checklist for the sub-processes of GARP. Another way in which we actually use PULSE is for the assessment of existing acquisition processes (see Section 3). An important reason why we prefer PULSE above other approaches is its strong analogy with the assessment structure of the ISO 15504 standard (SPICE). Because one of our main internal customers is using SPICE oriented assessments for performing software supplier assessment, it is easier for us to communicate the main goals and underlying principles of PULSE to our customers. An issue that is still discussed is the way we can use the best practices as defined in PULSE. Regarding best practices PULSE breaks the structure of ISO 15504. PULSE defines best practices related to software acquisition also for level two and higher. This does not make sense according the philosophy of ISO 15504, because ISO 15504 only defines generic management practices for these levels.
The first level of GARP contains the main processes like
Fig. GGV.2: Driving the procurement process
On the next level the sub-process "Procurement Monitoring and Controlling" is divided into parallel and continuous sub-processes (see Fig. GGV.3). We did not describe any logical sequence here, as the represented sub-processes possess a strong parallel and continuous character.
Fig. GGV.3: Procurement monitoring and controlling
On the lowest levels of GARP there are links from the sub-processes to best practices. The best practices provide methodological support for performing these sub-processes. The links represent the connection between what to do for software acquisition and how to perform the sub-processes. In one of our earlier research papers [7] we documented best practices for the risk management process. Fig. GGV.4 summarizes the overall structure of the activities that lead to the definition of GARP.
Fig. GGV.4: The construction of GARP
Best practices support the introduction of improvements. They are a source of possible improvements for existing acquisition sub-processes. Of course, finding and defining best practices is an ongoing activity. The strategy for building a set of best practices that support our customers is described at the end of this paper.
DaimlerChrysler is getting more and more aware of the importance of software acquisition processes. In 1998, first experience with software acquisition processes were collected in the passenger car development business unit (PCD). SEI’s software acquisition capability maturity model (SA-CMM) [12] was used as a reference model for process improvement. The key process areas that we focussed on were requirements management, evaluation of intermediary and final products, solicitation, and risk management [4]. The reasons to select those areas were mainly driven by our own experiences in those fields and ad-hoc decisions of our customers. In particular, we did not perform assessments to identify strengths and weaknesses in a structured way. To bridge this gap and to better respond to the needs of our customers, we decided to develop our assessment method. Since GARP was still under construction by then, there was no assessment method available that uses GARP as a reference process model. We decided to develop a DaimlerChrysler specific software acquisition method based on already existing approaches ASSIST and PULSE.
The following steps led to the definition of our software acquisition assessment method (SAM):
When planning the assessment process, the presence of experienced project managers is crucial. PULSE is much more comprehensive and therefore more time-consuming in its execution than ASSIST is. Because we wanted experienced project managers to participate in the assessment, we decided to use the ASSIST assessment. The assessment process and results are described in one of our experience reports [6].
First experiences with PULSE were gained in a large project in the passenger car development business unit (PCD). A special software quality taskforce was interviewed in a self-assessment workshop to analyse the current project situation, to solve existing problems, and to find pointers to areas for process improvement. The assessment results helped us to extend an already existing activity list with new, urgent activities.
The experiences affirmed our impressions that ASSIST is a pragmatic, best practice based bottom-up approach, whereas PULSE is a comprehensive, theory and best practice based top-down approach. When shortage of time of manager, project leader and project members is the biggest assessment constraint, ASSIST or similar approaches could be used to perform a "light assessment". If the assessment starts a systematic process improvement activity, PULSE is, in our opinion, a better alternative.
Besides gentle side-effects like creating a better awareness for process improvement issues, the restricted assessment leads to a more transparent and understandable selection of improvement areas. For example, to support the selection of the processes that have to be assessed (step 3), we used a simple portfolio technique to rank the different processes (see Fig GGV.5). We created a similar portfolio after every individual assessment interview (step 5). By comparing these portfolios we could verify whether individual answers conflict with the results of the second workshop (step 3). Conflicts will be discussed and resolved in the third workshop (step 7). Furthermore, the individual portfolios clearly illustrate which participants are experts regarding some specific process. In this way, the exchange of best practices among all participants is promoted.
Fig. GGV.5: Process prioritisation using a portfolio technique (the numbered bullets refer to different software acquisition processes).
Fig. GGV.6: Integrating GARP and SAM
In accordance with the PULSE methodology, our overall assessment methodology contains three main components:
The actual state of the integration is that we have identified those processes in GARP that are not yet covered by the PULSE processes. We are currently working on the theoretical extension of the acquisition model. In parallel, we try to extend our set of best practices based on real-life experiences in software acquisition process improvement.
As the integration activities are not finished yet, this will be a main topic for further research. Another future activity will be the application of the developed concepts in co-operation with our company-internal customers and the recording of these experiences. First assessments show promising results: process evaluations are performed in a well-structured and efficient manner. Especially the latter is important for our customers. Another necessary task is to extend our generic acquisition reference process with more best practices, supporting methods and facilities. The long term goal is to provide complete methodological support for our generic reference process. This means that all relevant sub-processes are covered from the process side as well as from the methodical support side.
[2] Euromethod: http://www.ispo.cec.be/sprites2/spriemet.htm
[3] Federal Aviation Administration: Integrated Capability Maturity Model, http://www.faa.gov/aio/icmm/FAA.htm
[4] Gantner T., Weber T.: A Way to a Comprehensive Process Model for Software Acquisition from the Viewpoint of the Customer, Proceedings of the 6th European Conference on Software Quality, 1999
[5] Getto, G.: Evaluation von Prozessen und Methoden für Softwarebeschaffung und Management von Auftragnehmern, Proceedings of the 4th Kongress Software Qualitätsmanagement "Made in Germany", 1999
[6] Getto, G., Gantner T.: Software Acquisition Processes at DaimlerChrysler AG: Research Activities for Improvement, Proceedings of the European Conference on Software Process Improvement (SPI99), 1999
[7] Getto, G., Landes, D.: Risk Management in complex Project Organizations: A Godfather-driven Approach, Proceedings of the 30th Projektmanagement Institute Conference (PMI99), 1999
[8] IEEE 1062: IEEE Recommended Practice for Software Acquisition, IEEE Standards Association, 1993
[9] ISO/IEC 15504: Information Technology – Software Process Assessment, ISO/IEC JTC1/SC7/WG10, 1998
[10] ISPL: ISPL (Information Service Procurement Library) Managing Acquisition Processes, ten Hagen & Stam, 1999
[11] PULSE: A Methodology for Assesssment and Benchmarking of Procurement Processes, http://www.ispo.cec.be/sprites2/fi-pulse.htm
[12] SEI: Software Acquisition Capability Maturity Model (SA-CMM) version 1.01, Technical Report, CMU/SEI-96-TR-020, 1996
Gerhard Getto is a manager at DaimlerChrysler Research and Technology in Ulm, Germany. His research activities concern IT management processes and methods like risk management, quality management, software acquisition management, and supplier management. Getto has a degree in mathematics from the University of Stuttgart, Germany. He has 19 years of experience in the IT area. During this time he was active in software development, system implementation world-wide, business process analysis, information management, project management, quality management, risk management, and research. He has published papers in the areas of risk management, quality management, and software acquisition. Getto can be reached at DaimlerChrysler AG, P.O. Box 23 60, D-89013 Ulm, Germany, or by e-mail at gerhard.getto@DaimlerChrysler.com.
Ton Vullinghs studied computer science at the Catholic University of Nijmegen in the Netherlands. After obtaining a master’s degree in computer science in 1993 he joined the software methodology and compiler construction group at the computer science department at the University of Ulm (Germany). Here he was employed as a teaching and research assistant and obtained a PhD for his research in the field of functional programming and graphical user interfaces. Currently, Ton Vullinghs is working as a research assistant at the DaimlerChrysler Research Laboratory in Ulm. He is performing research and consulting activities in the areas of software quality management and software process design. His main topics of interest are software risk management and software acquisition management. He can be reached at DaimlerChrysler AG, P.O. Box 23 60, D-89013 Ulm, Germany, or by e-mail at ton.vullinghs@DaimlerChrysler.com.