Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of...

26
Software Project Metrics Software Project Metrics Anne Banks Pidduck

Transcript of Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of...

Page 1: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project MetricsSoftware Project Metrics

Anne Banks Pidduck

Page 2: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Upcoming TopicsUpcoming Topics

Measurement and metrics, Chapter 21Project tracking and control, Chapter 25– Scope, schedule, cost, quality, process, – Earned Value Assessment– Risk management control

Change management– Software Quality Assurance (SQA), Chapter 30– Software Configuration Management (SCM), Ch. 31

Page 3: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Optional Topics, if TimeOptional Topics, if Time

Testing, validation and verification 23Software development tools 24Reporting and Communicating (People) 29Reliability 20

Page 4: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

What is a Metric?What is a Metric?

“A quantifiable measurement of software product, process, or project that is directly observed, calculated, or predicted.”

Futrell, p.729

The value of a metric is how useful it is for decision-making.

Boehm

Page 5: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

MetricsMetrics

Problem Statement“I’m fat and ugly.”

AnalysisI need to lose weight and improve

appearance.

Page 6: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Metrics ..2Metrics ..2

Requirements/SpecificationsI need to lose 20 pounds by May 15.{weigh 120 pounds} {in 8 weeks}

Focus on measurable results!

[Also fix hair, buy new clothes, and so on.]

Page 7: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Metrics ..3Metrics ..3

DesignHow will we meet our requirements?

Eat fewer calories; Exercise more

Not specific enough!Eat 1000 calories & walk 1 hour per day

Page 8: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Metrics ..4Metrics ..4

Implement and test our plansWe can measure specifically whether we’re doing what we should be doing (process)We can measure whether we’re making progress (meeting requirements)Maintenance, Continuous Improvement– Track and keep it up over the long term

Page 9: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

SMARTSMART

SpecificMeasurableAchievable or AttainableRealisticTrackable

Page 10: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Meeting GoalsMeeting Goals

Goal – to lose weightSteps to Achieve Goal - processActions – eat less, exercise moreAchievements – incremental weigh-insProof: Measures or Quantities – lost 20 lbs

Page 11: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Measurement ScalesMeasurement Scales

Observed, predicted, calculatedAbsolute (count, number of whatever)Nominal (classes, such as Yes or No)Ordinal (augments nominal with ordering, such as low, medium, high)Interval (50 LOC C # versus 55 LOC Java)Ratio (50 LOC C# versus 55 LOC C#)

Page 12: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Types of Software MetricsTypes of Software Metrics

ProductivityAvailability

LoadingEffort

# of staffSkills

People and Resources

EVADurationFinal cost

Cost to dateTest time

Project

ClosureRisk

SEI levelSEI levelPeer review

Process

EfficiencyReliability

QualityDefects

LOC, # of test cases

Product

CalculatedPredictedObserved

Page 13: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Importance of MetricsImportance of Metrics

Analyze product errorsAssess project statusBasis for estimatesDetermine product complexityEstablish baselines

Page 14: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Importance of Metrics ..2Importance of Metrics ..2

Validate best practicesPredict quality, schedule, effort and costTrack project progressUnderstand when a particular state or quality has been achieved

Page 15: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Useful MetricsUseful Metrics

Should be collected only to be usefulPrecisely defined, measurable, quantifiableTerms like “always, complex, efficient, user-friendly” need further definitionRaw data and audit trails add to the valueSimple, cheap, robust, consistent, easily accessible by all stakeholders

Page 16: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Basic MetricsBasic Metrics

Actual effort expended against a WBSChange request data (corrective, adaptive, preventive, perfective) – Figure 21-19, Change Request Form

Peer review data (errors, defects)

Page 17: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

TrackingTracking

Cost, effort, schedulePlanned vs. ActualHow to handle when things go off plan?

Page 18: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software MetricsSoftware Metrics

CMM measures software processPert/Gantt measures scheduleBudget measures costQuality?

Page 19: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

MeasurementsMeasurements

Actual (To date) and Projected– Cost– Schedule– Effort– Product features

Page 20: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Measurements …2Measurements …2

Alternatives– Earned value analysis– Defect rates– Productivity (ex: SLOC)– Complexity (ex: function points)

Page 21: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project Control Software Project Control

Work Package Development1. Work Breakdown Structures (WBS)2. Work Package Specifications3. Binary Tracking Technique4. Earned Value Tracking Technique,

comparing to planned values

Page 22: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project Control Software Project Control -- 22

Software Metrics1. Product metrics2. Process metrics

Necessary for planning and control

Page 23: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project Control Software Project Control -- 33

Software Configuration Management1. Identify software components 2. Track component changes3. Track documentation4. Control software evolution

Page 24: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project Control Software Project Control -- 44

Software Quality Assurance1. Use a SQA process2. Use engineering standards

Peer Reviews1. Walkthroughs2. Inspections

Page 25: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

Software Project Control Software Project Control -- 55

Verification and Validation1. Quality2. Quantity

Software Engineering Assessment1. Validate organizational capability2. Identify software process improvements

Page 26: Software Project Managementapidduck/se362/Lectures/metrics.pdf · “A quantifiable measurement of software product, process, or project that is directly observed, calculated, or

StandardsStandards

IEEE 1058, Standards for SPM PlanningACMCSAISOSEI’s CMMNational Bureau of Standards