"Software development is a profoundly intellectual and creative design activity with vast scope for error and for differences in interpretation and understanding of requirements. The application of even seemingly straight forward rules and procedures can result in highly variable practices by individual software developers."
In this presentation I start with Software Measurement and Uncertainty then I introduce models to predict software quality in use based on Bayesian nets.
What is Software Measurement?
A software system is a collection of parts interacting with each other to function as a whole. A software system is developed by people. The key words are "interact" and "people". With software measurement we can define, what type of behaviour is being encouraged or discouraged.
Definition of Software Measurement and Analysis
Software measurement and analysis techniques can help answer questions such as:
- How well are we meeting schedules and budgets?
- Has our performance really improved?
- What software practices and/or technologies should our organization invest in and what yields can we expect from this investment?
- How does our organization's performance compare to other organizations' performances?
Benefits of Software Measurement
Some of the benefits of software measurement but not limited are listed below:
- Encourages appropriate behaviour
- Leverages resources
- Enhances requirements process
- Pinpoints opportunities for improvement
- Manages workloads
- Only measuring can reduce cost by 15-20 %
What is Risk Management?
Definition of Risk
Risk is a measure of the probability and consequence of not achieving a defined project goal. Most people agree that risk involves the notion of uncertainty. Can the specified aircraft range be archived? Can the computer be produced within budgeted cost? Can the new product launch date be met? A probability measure can be used for such questions; for example, the probability of not meeting the new product introduction date is 0.15. However, when risk is considered the consequence or damage associated with the event occurring must also be considered.
Definition of Risk Management
Risk management is the act or practice of dealing with risk. It includes planning for risk, assessing (identifying and analyzing) risk issues, developing risk handling strategies, and monitoring risks to determine how they have changed.
What is Uncertainty?
The only certainty is uncertainty.
One of the fundamental principles of experimental science is that no real measurement is infinitely precise, but instead must necessarily include a degree of uncertainty in the value.
A list of book and paper references for the presentation is available below:
1) [Book chapter 4: Bayesian Methods] DATAMINING Methods for Knowledge Discovery by Krzysztof J. Cios, Witold Pedrycz, Roman Swiniarski, 1998
2) [Book chapter 2: Representing Uncertainty] Reasoning about Uncertainty by Joseph Y. Halpern, 2003
3) Software Metrics: Roadmap by Norman E. Fenton, Martin Neil
4) A Probabilistic Model for Software Defect Prediction by Norman E. Fenton, Martin Neil, 2001