Software Process Improvement and Technical Product Management
Market-driven Requirements Engineering
Market-Driven Requirements Engineering (MDRE) handles the continuous flow of requirements in an engineering effort, and is not limited to a development instance but part of technical product management as a whole. The market-driven environment generates large amounts of requirements from multiple sources, internal and external, threatening to overload the technical management of products. MDRE involves requirements analysis, resource estimation, prioritization, and ultimately release planning. These activities allow for effectively deciding which customers get what features and quality at what point in time, making the accuracy and efficiency of MDRE a major determinant of the success of a product.
This thesis presents research aimed at supporting technical product management in MDRE, based on needs identified in industry. One contribution of the thesis is the development and validation of a process assessment and improvement planning framework, making the identification of process improvement issues possible. The major characteristics of the framework can be described as resource efficiency and relative accuracy by utilizing multiple perspectives and data point triangulation. As a complement to the assessment, the improvement planning enables industry professionals to focus their efforts on one improvement package at a time, supporting step-by-step evolution with less time to return on investment.
Challenges identified during process assessment using the framework resulted in the development of the Requirements Abstraction Model (RAM), which is the central contribution of the thesis. RAM employs multiple levels of abstraction for requirements elicitation, analysis, refinement and management. The model offers the possibility for early requirements triage using product strategies/roadmaps, as well as supporting a structured and repeatable way to perform continuous requirements engineering. This enables product managers to specify requirements that can be traced across abstraction levels, from abstract requirements that can be used by managers, to refined requirements specific enough to be used for estimation and input to development efforts.
RAM was engineered based on industry needs, validated and refined through several empirical evaluations, utilizing both academia and industry as laboratory. This involved close collaboration with industrial partners, Danaher Motion Särö AB and ABB Robotics, where the model was introduced. Monitoring the process improvement (introduction of RAM) indicated substantial improvements, both in accuracy of the work performed using RAM, and in the quality of the requirements produced, with only moderate increase in effort.
Another contribution in the thesis is a compilation of lessons learned from practical hands-on experience of technology and knowledge transfer from academia to industry, with focus of producing industry relevant usable and useful results.
The main contribution of the thesis is improving the practice of product management by providing and evaluating frameworks for software process improvement and market-driven requirements engineering. The results of the research presented in the thesis are aimed at supporting technical product management taking the unique challenges of market-driven development into account.
This is an abstract of my PhD thesis which gives an introduction to the areas of Process assessment, process improvement, requirements engineering, and of course market-driven requirements engineering. This area is especially relevant for product managers.
The Market Driven Requirements Engineering Process Maturity Model project
Many software companies still struggle in establishing processes that lead to proper requirements handling. When these companies perform in a market-driven fashion, the situation aggravates, since concerns like strong market and strategic orientation must be taken into consideration along with the traditional technical concerns of development and verification.
It has been shown in many case studies that companies are aware of the need to improve their requirements handling processes. However, most of them have difficulties to get started given the broad scope that this task entails. For these companies, we have developed the Market-Driven Requirements Engineering Process Model (MDREPM). The MDREPM is both a collection of good practices in market driven requirements engineering (MDRE), and an assessment tool for companies to get a snapshot of the current state of their MDRE practices. The assessment intends to reveal problem areas of organization’s requirements process in a cost-effective manner. The results can then be analyzed, and improvement efforts started by introducing good practices described in the model.
The MDREPM acknowledges the inter-disciplinary nature of software product development, thereby offering practices useful for strategic planning, marketing, product management, release planning, development and verification.
The model has been validated in industry, in a series of 3 cases studies performed in big telecommunication companies in Sweden. In the case studies, the model was found to be useful given the good coverage it provides of issues related to MDRE, as well as for driving software process improvement in that area.
Model download. Here you can download the entire model. Observe the different versions.