This section introduces how to use the measurement program to control the daily software development. The goal is to provide useful knowledge on the quality of software system development process and/or product.
Guideline | Description |
---|---|
Postmortem analysis | Postmortem analysis is a lightweight retrospective method that has been commonly used to determine
|
Root cause analysis | Root cause analysis is a structured investigation of a problem, which aims to state what changes are needed in the future projects. Root cause analysis takes a problem as an input and provides a set of its perceived causeand-effect relationships as an output. It creates a causal model, which can be used to explain how the problems are related to one another, ultimately helping to determine process improvement targets. Additionally, the causal model can be used to consolidate and extend the prediction models and project experience questionnaires. |
Process improvement represents the proactive QA approach, which is used to increase the likelihood of success in the upcoming projects. In practice, the goal is to optimize the process and product quality in order to avoid the most typical software defects and development failures. Similarly than the reactive QA approach, this goal divides into automated analyses and expert judgements. The automated analyses help to express the most typical types of software defects and development failures. Instead, the expert judgement helps to explain why software defects are done and what are the main problems causing the development failures. The topic of process improvement is closely related to organizational knowledge covering the subtopics of individual knowledge, team knowledge, organization knowledge, and company knowledge.
Process improvement is about controlling reoccurring problems in the product or process. That requires the detection of the reoccurring problems. Otherwise, if not detected, problems are not known, which means that the software organization is not fully capable to learn from their failures. There are data analysis techniques which can be automated. Pareto analysis can be conducted after the project in order to determine the types of the most common defects (e.g. usability defects). Respectively, in terms of process quality, similar approach can be used to reveal the most common types of failures (e.g. lack of condition coverage). The results from Pareto analyses could also be combined with Artificial intelligence, e.g., genetic algorithms, which can be used to teach new “problem patterns” for the prediction models. Such problem patterns, i.e., the problems that occur commonly and simultaneously, can be further validated with the expert judgement increasing the reliability of the prediction models.
Determining the problems of software product and process does not always require the use of automated analyses. Expert judgement analyses including Postmortem analysis, Root cause analysis and Maturity models analysis have also been shown to be valuable and lightweight for such a need. Questionnaires can also be used in order to learn from the project stakeholder whether they considered the project as a success or a failure, and what product and process