Lecture 5 - Metrics,Risk,Estimate.ppt

advertisement
CIS 4251 / CIS 5930
SOFTWARE DEVELOPMENT
Fall 1999
Sept. 8, 1999
Marge Holtsinger
9/8/99
Lecture 5
1
Teams
 Team Name
 Team Members
– Name, Year in School, Myers/Briggs Indicator,
Strengths, Weaknesses
 Team Roles & Responsibilities
– Project Manager, Analyst, Design,
Development, Testing, User Ed, Logistics
9/8/99
Lecture 5
2
Lecture Overview
 Review of Previous
Discussion
 Project Metrics
 Project Estimates
9/8/99
Lecture 5
3
What Are Project Metrics?
Measurement
Based
Techniques
Applied
To
Processes,
Products &
Services
9/8/99
To
Supply
To
Improve
Lecture 5
Engineering &
Management
Information
4
Definitions
 Measure - provides a quantitative indication of the extent,
amount, dimensions, capacity, or size of some attribute of a
product or process.
 Measurement - act of determining a measure.
 Metric - “A quantitative measure of the degree to which a
system, component, or process possesses a given
attribute.”
 Indicator - metric or combination of metrics that provide
insight into the software process, a software project, or the
product itself.
9/8/99
Lecture 5
5
Software Metrics Dos and Don’t
 Don’t measure individuals
 Never use metrics as a ‘stick’
 Don’t ignore the data
 Never use only one metric
 Select metrics based on objectives
 Provide feedback
 Obtain “buy-in”
9/8/99
Lecture 5
6
Fishbone Diagram
9/8/99
Lecture 5
7
Why Collect Metrics?
 Used to minimize the development
schedule
 Used to assess product quality on an
ongoing basis
9/8/99
Lecture 5
8
Size-Oriented Metrics
 Often based on LOC
– Errors per KLOC
– Defects per KLOC
– $ per LOC
– Pages of documentation per KLOC
 Not universally accepted because of LOC
determination
9/8/99
Lecture 5
9
Function-Oriented Metrics
Count
#ofuserinputs
#ofuseroutputs
#ofuserinquiries
#offiles
#ofinterfaces
x
Simple Average Complex Total
3
4
3
7
5
4
5
4
10
7
6
7
6
15
19
count=total
FP=count total x [.65 + .01 x  F(i)] where
i=1-14
9/8/99
Lecture 5
10
Software Productivity Influences
 People factors
 Problem factors
 Process factors
 Product factors
 Resource factors
9/8/99
Lecture 5
11
Measuring Quality
 Correctness
 Maintainability
 Integrity
 Usability
9/8/99
Lecture 5
12
Defect Removal Efficiency
 DRE = E/(E+D) where
– E=number of errors found before delivery of
the software to the end user
– D=number of defects found after delivery
 Ideal value is 1
9/8/99
Lecture 5
13
7 Steps to Designing a Software
Metric
 Objective Statement
 Clear Definitions
 Define the Model
 Establishing Counting Criteria
 Decide What’s Good
 Metrics Reporting
 Additional Qualifiers
9/8/99
Lecture 5
14
Software Project Planning
 Estimating
 Features and Priorities
 Risk Assessment
 Resources
 Milestones and Deliverables
9/8/99
Lecture 5
15
Software Project Estimation
 Not an exact science
 More accurate if delay estimation until late
in the project
 Base estimates on similar projects
 Decomposition techniques to estimate
effort & cost
 Empirical models to estimate effort & cost
9/8/99
Lecture 5
16
? That Contribute to Uncertainty
 Will customer want Feature X?
 Will customer want the cheap or expensive
version of Feature X?
 If you implement the cheap version of
Feature X, will the customer later want the
expensive version?
 How will feature X be designed?
9/8/99
Lecture 5
17
Software Sizing
 “Fuzzy-logic” sizing
 Function point sizing
 Standard component sizing
 Change sizing
9/8/99
Lecture 5
18
Estimate Multipliers by Project
Phase
Phase
Initial product concept
Approved product concept
Requirements specification
Product design specification
Detailed design specification
Effort and Size
Schedule
Optimistic Pessimistic Optimistic Pessimistic
0.25
0.5
0.67
0.8
0.9
4
2
1.5
1.25
1.1
0.6
0.8
0.85
0.9
0.95
1.6
1.25
1.15
1.1
1.05
From Cost Models for Future Software Life Cycle Processes:COCOMO 2.0
9/8/99
Lecture 5
19
Guidelines for Making Size
Estimates
 Avoid off-the-cuff estimates
 Allow time for the estimate, and plan it
 Use data from previous projects
 Use developer-based estimates
 Estimate by walkthrough
 Estimate by categories
 Estimate at low level of detail
9/8/99
Lecture 5
20
Guidelines...
 Don’t omit common tasks
 Use software estimation tools
 Use several different estimation techniques,
& compare results
 Change estimation practices as the project
progresses
9/8/99
Lecture 5
21
Estimate Presentation Styles
 Plus-or-minus qualifiers
 Risk quantification
 Case-based estimation
 Confidence-factor estimate
9/8/99
Lecture 5
22
LOC Based Estimation
 Major functions are identified
 Range of values for LOC for each function
are estimated
 Must have historical data to determine
productivity
9/8/99
Lecture 5
23
FP-Based Estimation
 Based on information domain values
– Number of inputs
– Number of outputs
– Number of inquiries
– Number of files
– Number of external interfaces
 Complexity factors are then determined
9/8/99
Lecture 5
24
Process-Based Estimation
 Estimate effort required for each software
process / phase of the project
–
–
–
–
–
9/8/99
Vision/Scope
Project plan
Analysis
Design
Development
Lecture 5
25
Effort and Schedule Estimate
 Effort estimate helps determine resources
 Schedule estimate is computed using the
following equation:
– Schedule in months=3*man-months^1/3
– Can substitute 4 or 2.5 for the factor 3
9/8/99
Lecture 5
26
Estimation Facts of Life
 There is a shortest possible schedule, and
you cannot beat it.
 Costs increase rapidly when you shorten
the schedule below nominal
– Schedule compression factor
– Compressed schedule effort
9/8/99
Lecture 5
27
Recalibrating an Estimate
 What if you missed the first milestone by 1
week? Should you
– Assume you can make up the lost week later in
the schedule
– Add the week to the total schedule
– Multiply the whole schedule by the magnitude
of the slip, ie 25% if 1 week late for 4 week
milestone
9/8/99
Lecture 5
28
What Causes Poor Estimates
 Scope of project not understood
 Productivity data is incorrect
9/8/99
Lecture 5
29
Empirical Estimation Models
 Based on historical data on LOC and FP
 Derived using regression analysis on data
collected from past software projects
– E=A+B*(ev)c A, B, & C are derived constants,
E is the effort in person months, and ev is the
estimation variable
9/8/99
Lecture 5
30
Risks
 Definition
– Possibility of suffering lose or harm
– Factor, element, or course involving uncertain danger
 Characteristics
– Associated with lose
– Includes uncertainty of occurrence, impact, and
outcome
– Has aspects of gain and loss
9/8/99
Lecture 5
31
Risk Management Principles
 Assess risks continuously
 Includes all key people
 Are generally known but communicated
 Must be clearly stated
 Important risks are dealt with first
9/8/99
Lecture 5
32
Risk Identification
 Product size
 Business impact
 Customer characteristics
 Process definition
 Development environment
 Technology
 Staff size and experience
9/8/99
Lecture 5
33
Risks Consequences
 Cost overruns
 Customer
 Schedule slips
dissatisfaction
 Loss of company
image
 Demoralized staff
 Poor product
performance
 Legal proceedings
 Inadequate
functionality
 Canceled projects
 Sudden personal
changes
9/8/99
Lecture 5
34
Approaches to Risk Management
 Reactive
– Mitigation of symptoms; Fix on failure
– Crisis management
 Transitional
– Preventive
 Proactive
– Elimination of root causes; Anticipation of risk
– Change management
9/8/99
Lecture 5
35
Download