Bi-directional product development process simulation
First Claim
1. A method of simulating a software development process through analysis of a quality metric, the method comprising:
- selecting a reverse software development process simulation model corresponding to the software development process, the model comprising a plurality of development stages;
determining defect parameters for the plurality of stages of the reverse software development process simulation model;
determining reverse defect equations for the plurality of stages of the reverse software development process simulation model;
determining outcome-based control statistics for the software process; and
applying the reverse defect equations to the outcome-based control statistics and the defect parameters to determine control requirements for the plurality of stages of the reverse software development process simulation model.
1 Assignment
0 Petitions
Accused Products
Abstract
A bi-directional software development process simulation model is described. The model simulates the stages of a software development process, taking advantage of equations relating to defect injection and detection along with parameters describing detection and injection rates. By simulating the development process in the forward direction, predictions can be made for process outcomes. By simulating in the reverse direction, defect detection requirements can be found for each stage of the model to achieve a given desired performance result. Outcome-based control levels are utilized with the model in order to better detect whether a process is out of control and should be corrected. By going between the forward and reverse simulation directions, control of the process can be fine-tuned as defect detection data is obtained during process execution. In addition to quality as measured by defects, other metrics can be simulated, including cost, time, and features; similarly other product development scenarios, such as hardware or systems engineering can also be modeled and simulated.
-
Citations
22 Claims
-
1. A method of simulating a software development process through analysis of a quality metric, the method comprising:
-
selecting a reverse software development process simulation model corresponding to the software development process, the model comprising a plurality of development stages;
determining defect parameters for the plurality of stages of the reverse software development process simulation model;
determining reverse defect equations for the plurality of stages of the reverse software development process simulation model;
determining outcome-based control statistics for the software process; and
applying the reverse defect equations to the outcome-based control statistics and the defect parameters to determine control requirements for the plurality of stages of the reverse software development process simulation model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for controlling a software development process through analysis of cost, quality, or schedule metrics, the method comprising:
-
determining outcome-based control limits for the software development process for a cost, quality, or schedule metric;
selecting a bi-directional software process development simulation model with corresponds to the software development process, the bi-directional simulation model comprising a plurality of development stages along with forward and reverse simulation equations;
determining baseline parameters for the software process development simulation model;
determining a baseline performance prediction by simulating the software development process using the software process development simulation model;
comparing the baseline performance prediction to the outcome-based control limits to determine if the software development process is in control using the baseline parameters;
determining parameter requirements for each stage of the bi-directional software process simulation model based on the outcome-based control limits;
analyzing the parameter requirements to determine one or more stages whose parameters, when improved, will improve a performance prediction from the bi-directional software development process simulation model; and
modifying one or more parameters.
-
-
15. A system for planning and controlling a software development process, the system comprising:
-
simulation software configured to display simulation models, to allow editing of process simulation models, to execute process simulations, and to report simulation performance results;
a bi-directional software development process simulation model comprising a plurality of software development stages and forward and reverse defect equations, the model configured to accept defect parameters and produce simulation performance data measured in defects and to accept outcome-based control limits and produce defect requirements; and
a data and parameter repository containing defect parameters and configured to receive simulation performance results.
-
- 16. A computer-readable medium containing data which, when read by a computer, describe a bi-directional software development process simulation model configured to accept defect parameters and produce simulation performance data measured by quality and to accept outcome-based control limits for quality and produce defect requirements.
-
18. A method of controlling a software development process through analysis of cost, quality, or schedule metrics, the method comprising:
-
analyzing the software development process to create outcome-based control limits for one or more selected metrics, the limits representing acceptable levels for the one or more metrics at the outcome of the software development process;
creating a bi-directional software development process simulation model, the model comprising;
a plurality of development stages configured to represent the stages of the software development process;
baseline simulation parameters for the one or more selected metrics; and
forward and reverse simulation equations configured to accept metric parameters and produce predictive simulation data for the one or more selected metrics;
performing a baseline simulation of the software development process using the baseline simulation parameters and the bi-directional model to obtain baseline predictive performance data;
performing a portion of the software development process to obtain updated development data;
performing an updated simulation of the software development process using the updated development data and the bi-directional model to obtain updated predictive performance data;
performing a reverse simulation of the software development process using the updated development data to determine stages where performance benefits can be achieved; and
revising the software development process to achieve performance benefits. - View Dependent Claims (19, 20, 21, 22)
-
Specification