The Domain-specific Engineering (DsE) methodology is based on the concept of product families, to achieve systematic reuse within product lines. To apply DsE, organizations need a unified approach to adopting and improving a domain-specific process. PHS developed the Reuse-driven Process Improvement (PIr) method for this purpose.
PIr defines a unified adoption/improvement process and includes models for evaluating domain viability, process and reuse maturity, and reuse capability. Based on these evaluations, an organization creates an improvement action plan and product line strategy to guide it in reaching its goals.
PIr differs from generic approaches to process improvement in that:
- Reuse, as a means to improving productivity and product quality, is a key driver of the improvement effort.
- The scope of the improvement effort is necessarily limited to a single product line business organization.
- Changing the fundamental structure of the software process, based on domain-specific considerations, is a primary means for achieving productivity improvements.
A PHS report provides more information about PIr as summarized here:
The PIr Tutorial provides detailed guidance on the activities and work products of Reuse-driven Process Improvement.
- Process Capability
- The range of expected results that can be achieved by following a process. "Results" means the amount of effort that should be required to produce a given product, assuming that the process is "in statistical control" (as defined by Deming). This can vary depending on how well the process suits the product and knowledge, experience, and preferred practices of the performing organization. Each process, such as the different members of the DsE family of processes, can have a different intrinsic level of capability.
- Process Performance
- The actual results achieved by following a process. Different organizations (or individuals), or even the same organization at different times, may achieve different results even while following the same process.
- Process Maturity
- The predictability with which performance achieves a targeted level of capability. Process improvement efforts typically focus on improving performance and predictability for using a fixed process, in part by getting it under statistical control. Improving predictability means reducing the range of variation in results of similar efforts by eliminating common (systemic, versus special) causes of variation. PIr builds on and extends this form of process improvement to consider, in the context of a particular product line, the tradeoffs in choosing among different processes that permit different levels of capability.
Objectives of PIr:
- Engineering discipline
- being able to predictably produce products having needed capabilities and properties
- Product line market focus
- being able to focus organizational resources on a coherent market needing a set of similar products
- Manufacturing discipline
- being able to optimize the time, effort, and resources required to produce a product
- Domain-specific Engineering
- being able to leverage organizational product line knowledge and expertise in the creation of similar products
Tools for PIr:
- Domain Viability
- supporting the product line market focus objective, applies criteria for whether a product line business will benefit from a DsE approach to software development
- Process Maturity
- supporting the engineering discipline objective, is defined by a preferred PI method with particular Key Process Areas further elaborated to address associated reuse issues
- Reuse Maturity
- also supporting the engineering discipline objective, identifies concerns that are critical in instituting systematic reuse but outside the proper scope of the chosen PI method
- Reuse Capability
- supporting the manufacturing discipline objective, provides criteria that guides tailoring a DsE process to suit an organization's specific market needs and technical capabilities
- Product Line Strategy
- supporting the Domain-specific Engineering objective, guides deriving an approach specific to an organization's business objectives and market for instituting an effective product line approach
Facets of a Product Line Strategy:
- Market/products focus
- Business model
- Tailored process model
- Organizational structure
- Support environment
- Transition strategy
The PIr Process:
- justify and obtain the commitment of organizational management to set objectives and allocate resources needed for the PIr effort
- Manage Quality
- guide the product line business organization in improving its engineering practices
- Define Strategy
- establish a sound approach for instituting an appropriate DsE approach
- Initiate Action
- plan and carry out preparatory actions for an effective DsE product line effort
- Perform DsE
- carry out the defined Product Line Strategy and gain the experience and insight needed to further improve this Strategy
DsE Levels of Reuse Capability:
The PIr Transition Strategy Map: