Change Impact Analysis at the Interface of Systems Engineering and Software Design
Research Theme: Change Management
Software can be modified to change the functionality of products and services. Embedded software particularly provides for flexibility in a product design by allowing for the accommodation of changes originating from mechanical or electrical designs. The perception that such software can easily be changed is often not the case, and understanding the complete impact of a modification on the software design is vital to managing the propagation of changes.
Objectives
- In order to understand the effects of impact analysis (IA) on emergent changes, this research: classified the types of impact analysis techniques to include traceability, dependency, and experiential IA,
- characterised explicit reasons for the disparity between prescribed and practised IA, and
- suggested means to assess IA improvement strategies.
- The relative consequences of implementing IA versus other process improvement strategies (e.g. requirements management or optimising design task scheduling) was investigated through system dynamics modelling.
Method
This research conducted empirical studies at an aerospace and a telecommunications firm to understand how IA is implemented to manage design changes. Using a grounded-theory approach, 49 semi-structured interviews as well as documentation review, on-site observation, and informal discussions provided insight into IA practice.
This research also used a system dynamics methodology to model and simulate an adapted rework cycle model. Specifically, the adapted rework cycle model was verified by industry collaborators, and the simulation of this model was tested and shown to represent empirical data of changes from the collaborating aerospace company.
Findings
IA can be defined as “identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change” (Bohner and Arnold 1996). This research extends the current classification of IA by Bohner and Arnold to include experiential IA.
To support this means for improvement, this research project developed a systematic method for eliciting the primary, active influences for a company (Kilpinen 2008). Mitigation strategies addressing these influences can then be appropriately proposed.
Furthermore, this research project analysed IA improvement strategies through system dynamics modelling. The rework cycle was adapted to include IA (Figure 2). Simulations were run to compare the IA quality with other model parameters for the aerospace company and demonstrated that highly iterative processes (e.g. involving rework of a platform design) can be more easily improved through IA than through more invasive process improvement strategies (e.g. overhauling requirement management processes and tools). As such, this research proposed that populating an adapted rework cycle model with historical data can serve to predict the influence of IA on process improvement and argued to elevate the importance of IA improvement strategies within companies.
Selected Publications
- Kilpinen, M.S. (2008) ‘The Emergence of Change at the Interface of Systems Engineering and Software Design: An Investigation of Impact Analysis', PhD-thesis, Cambridge University Engineering Department.
- Eckert CM, Clarkson PJ and Zanker W. (2004) "Change and Customisation in Complex Engineering Domains" in Research in Engineering Design, 15(1): 1-21.
- Bohner and Arnold, Eds. (1996), Software Change Impact Analysis, Los Alamitos, California, USA, IEEE Computer Society Press.
