Software Process Assessment & Improvement in Industrial Requirements Engineering

Sammanfattning: Requirements Engineering (RE) is a crucial part of any product management and product development activity, and as such deficiencies in the RE process may have severe consequences. There are reports from industry that point towards inadequate requirements being one of the leading sources for project failure. Software Process Improvement (SPI) is generally seen as the main tool to address process deficiencies in general and within RE. Assessments lead to establishing plans for improvements that are subsequently implemented and evaluated, and then the SPI cycle starts again, in an optimal case being incremental and continuous. Most well known SPI frameworks, e.g. CMM, CMMI, SPICE and QIP, are based on these general principles. There are however several factors that can have a negative impact on SPI efforts in general, and in the case of SPI targeted at RE in particular. Time and cost are two fundamental factors that can effectively “raise the bar” for SPI efforts being initiated at all. This is the particular case for Small and Medium sized Enterprises (SMEs) with limited resources, and a limited ability to wait for the return on their investment. Other issues include commitment and involvement in the SPI work by the ones affected by the changes, coverage of the RE area in SPI frameworks, and the ability to focus improvements to areas where they are needed the most. The research presented in this thesis is based on actual needs identified in industry, and all of the proposed solutions have also been validated in industry to address issues of applicability and usability. In general, the goal of the research is to “lower the bar”, i.e. enabling SMEs to initiate and perform SPI activities. It is accomplished through the presentation and validation of two assessment methods that targets RE, one aimed at both fast and low-cost benchmarking of current practices, and the other designed to produce tangible improvement proposals that can be used as input to an improvement activity, i.e. producing a relatively accurate assessment but taking limited time and resources into account. Further, to offer a structured way in which SMEs can focus their SPI efforts, a framework is introduced that can be used to package improvement proposals with regards to their relative priority taking dependencies into account. This enables SMEs to choose what to do first based on their needs, as well as a way to control time to return on their investment by controlling the size of the undertaking. As a result of industry validation of the assessment method and packaging framework, several improvement proposals were identified and prioritized/packaged. As a part of a process improvement effort (based on an improvement proposal package) an RE model was developed that was appropriate for SMEs faced with a market-driven product centered development situation. The model, called Requirements Abstraction Model (RAM), addresses the structuring and specification of requirements. The main feature of the model is that it not only offers a structured way in which requirements can be specified, but it also takes a requirement’s abstraction level into account, using abstraction for the work-up instead of putting all requirements in one repository independent of abstraction level. The RAM was developed to support primarily the product management effort, recognizing that RE from this perspective is not project initiated but rather project initiating. The model assists product managers to take requirements on varying abstraction levels and refining them to the point of being good-enough to offer decision support for management, and at the same time being good-enough for project initiation. The main contribution of the thesis is to present SMEs with “tools” that help them commit to and perform SPI activities. Moreover, the thesis introduces the RAM model that was developed based on needs identified in industry, and subsequently piloted in industry to assure usability.