Bi-directional product development process simulation
First Claim
1. A method of simulating a software development process using a computer configured to perform a software development simulation through analysis of a quality metric, the method comprising:
- selecting a reverse software development process simulation model corresponding to the software development process for the software development simulation on the computer, the reverse software development process simulation model comprising a plurality of software development stages;
determining defect parameters for the plurality of software development stages of the reverse software development process simulation model;
determining reverse defect equations for the plurality of software development stages of the reverse software development process simulation model;
determining outcome-based control statistics for the software development process;
applying the reverse defect equations to the outcome-based control statistics and the defect parameters to determine control requirements for the plurality of software development stages of the reverse software development process simulation model;
selecting a forward software development process simulation model corresponding to the software development process for the software development simulation on the computer, the forward software development process simulation model comprising a plurality of software development stages, each of the plurality of software development stages of the forward software development process simulation model corresponding to one of the plurality of software development stages of the reverse software development process simulation model;
determining forward defect equations for the plurality of software development stages of the forward software development process simulation model;
applying the forward defect equations to the defect parameters to determine baseline process performance data; and
comparing the baseline process performance data to the outcome-based control statistics to determine if the software development process is out of control.
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, using equations relating to defect injection and detection and parameters describing detection and injection rates. With forward development process simulation, 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 desired performance result. Outcome-based control levels are utilized with the model to better detect whether a process is out of control. 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
20 Claims
-
1. A method of simulating a software development process using a computer configured to perform a software development simulation through analysis of a quality metric, the method comprising:
-
selecting a reverse software development process simulation model corresponding to the software development process for the software development simulation on the computer, the reverse software development process simulation model comprising a plurality of software development stages; determining defect parameters for the plurality of software development stages of the reverse software development process simulation model; determining reverse defect equations for the plurality of software development stages of the reverse software development process simulation model; determining outcome-based control statistics for the software development process; applying the reverse defect equations to the outcome-based control statistics and the defect parameters to determine control requirements for the plurality of software development stages of the reverse software development process simulation model; selecting a forward software development process simulation model corresponding to the software development process for the software development simulation on the computer, the forward software development process simulation model comprising a plurality of software development stages, each of the plurality of software development stages of the forward software development process simulation model corresponding to one of the plurality of software development stages of the reverse software development process simulation model; determining forward defect equations for the plurality of software development stages of the forward software development process simulation model; applying the forward defect equations to the defect parameters to determine baseline process performance data; and comparing the baseline process performance data to the outcome-based control statistics to determine if the software development process is out of control. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for controlling a software development process through analysis of cost, quality, or schedule metrics using a computer configured to perform a software development simulation, 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 development process simulation model which corresponds to the software development process for the software development simulation on the computer, the bi-directional software development process simulation model comprising a plurality of software development stages along with forward and reverse simulation equations; determining baseline parameters for the bi-directional software development process simulation model; determining a baseline performance prediction by simulating the software development process using the bi-directional software development process 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 software development stage of the bi-directional software development process simulation model based on the outcome-based control limits; analyzing the parameter requirements to determine one or more software development 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.
-
-
14. A system for planning and controlling a software development process, the system comprising:
-
a memory; a processing unit; a simulation software residing in the memory and executing on the processing unit, the simulation software being 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 simulation software configured to; determine baseline parameters for the bi-directional software development process simulation model; determine a baseline performance prediction by simulating the software development process using the bi-directional software development process simulation model; compare the baseline performance prediction to outcome-based control limits to determine if the software development process is in control using the baseline parameters; determine parameter requirements for each software development stage of the bi-directional software development process simulation model based on the outcome-based control limits; and analyze the parameter requirements to determine one or more software development stages whose parameters, when improved, will improve a performance prediction from the bi-directional software development process simulation model; and a data and parameter repository residing in the memory containing defect parameters and configured to receive simulation performance results.
-
-
15. A non-transitory computer-readable medium storing a simulation software and data which, when read by a computer, cause the computer to simulate a software development process by executing:
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, wherein the bi-directional software development process simulation model comprises; a plurality of software development stages; and forward and reverse defect equations representing interactions between each of the plurality of software development stages; and wherein the simulation software is configured to; determine baseline parameters for the bi-directional software development process simulation model; determine a baseline performance prediction by simulating the software development process using the bi-directional software development process simulation model; compare the baseline performance prediction to outcome-based control limits to determine if the software development process is in control using the baseline parameters; determine parameter requirements for each software development stage of the bi-directional software development process simulation model based on the outcome-based control limits; and analyze the parameter requirements to determine one or more software development stages whose parameters, when improved, will improve a performance prediction from the bi-directional software development process simulation model.
-
16. A method of controlling a software development process through analysis of cost, quality, or schedule metrics using a computer, the method comprising:
-
analyzing the software development process to create outcome-based control limits for one or more selected metrics, the outcome-based control limits representing acceptable levels for the one or more selected metrics at the outcome of the software development process; creating a bi-directional software development process simulation model, the bi-directional software development process simulation model comprising; a plurality of software 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 on the computer of the software development process using the baseline simulation parameters and the bi-directional software development process simulation model to obtain baseline predictive performance data; performing a portion of the software development process to obtain updated development data; performing an updated simulation on the computer of the software development process using the updated development data and the bi-directional software development process simulation model to obtain updated predictive performance data; performing a reverse simulation on the computer of the software development process using the updated development data to determine software development stages where performance benefits can be achieved; and revising the software development process to achieve performance benefits. - View Dependent Claims (17, 18, 19, 20)
-
Specification