Software Measurement and Uncertainty

Software Measurement:
Uncertainty and Causal
Modeling
Koosha Golmohammadi
www.kooshanet.com
[email protected]
Outlines








What is software
What is software measurement
What is uncertainty
What is software quality
What is risk management
What is Bayesian method
What is causal modeling and Bayesian net
What is AgenaRisk
P 1/12
Software Measurement: Uncertainty and
Causal Modeling
Causes leading to project failure




Starting with inadequate budget or schedule
Starting without adequate committed
resources
Starting without occurring of requirements
flowdown
Major project designs before understanding
the relation between cost, performance,
schedule and risk
P 2/12
Software Measurement: Uncertainty and
Causal Modeling
Software Measurement and Analysis




P 3/12
How well are we meeting schedules and budgets?
Has our performance really improved?
What software practices and/or technologies
should our organization invest in?
How does our organization's performance
compare to other organizations' performances?
Software Measurement: Uncertainty and
Causal Modeling
Benefits of Software Measurement






Encourages appropriate behavior
Pinpoints opportunities for improvement
Leverage resources
Enhances requirements process
Manage workloads
Only measuring can reduce cost by 15-20 %
P 4/12
Software Measurement: Uncertainty and
Causal Modeling
Uncertainty and Software Measurement

Roles of software measurement



Quality control
Effort estimation
Uncertainty


P 5/12
Definition
How does it relate to software management
Software Measurement: Uncertainty and
Causal Modeling
Risk Management

Risk: Probability of not achieving a defined
project goal

Risk Management: Act of dealing with risk



P 6/12
Assessing risk issues
Developing risk handling strategies
Monitoring risk
Software Measurement: Uncertainty and
Causal Modeling
Software Quality

External product view (quality-in-use)


Defined by measuring external properties
Internal product view

P 7/12
Quality of intermediate products
Software Measurement: Uncertainty and
Causal Modeling
Prerequisites to produce a defect free
product



Good development process
Well qualified staff working on a defined
specification
…
Are the above enough?
To ensure that the process
conditions are right, for example checking
intermediate products
P 8/12
Software Measurement: Uncertainty and
Causal Modeling
Causal Relationships in software Development

Simpson’s paradox
P 9/12
Software Measurement: Uncertainty and
Causal Modeling
Causal Relationships in Software Development
In software engineering causal relationships are rarely
straight forward
0
P 10/12
10
30
40
60
Software Measurement: Uncertainty and
Causal Modeling
Causal Modeling and Bayesian Method
p(D = high | T = high) p(T = high)
=
p(T = high | D = high) =
p(D = high)
P 11/12
0.8 X 0.2
= 0.32
0.5
Software Measurement: Uncertainty and
Causal Modeling
Summary





Quality measurement is an inevitable in
software management
Risk management covers software quality
Modeling risk helps us to have a better
understanding of project risks
Combining causal modeling and Bayesian
method gives an effective risk management
approach
An introduction to AgenaRisk tool
P 12/12
Software Measurement: Uncertainty and
Causal Modeling
Thanks
and
Questions