2 MeasureA measure is a mapping from a set of entities and attributes in the real word to a representation or model in the mathematical world.One can manipulate the numbers or symbols in the mathematical world to obtain more information and understanding about the real world.
3 Measurement process process metrics project metrics measurement What do weuse as abasis?• size?• function?project metricsprocess metricsprocessproductproduct metrics
4 Measurement Advantage For software process For software project For software engineer
6 Indicator Private indicator vs. Public indicator Process and Project Indicatorassess the quality of an ongoing projectmodify the technical approach to improve qualityadjust work flow or tasks to avoid the delaytrack potential risksuncover problem areasevaluate the project team’s ability
7 Process MetricsProvide indicators – lead to long-term software process improvementOrganization – gain insight into the efficacy of an existing processManagers and Practitioners -- assess what works and what doesn’t
8 Statistical Software Process Improvement (SSPI) Failure analysisCategorize the defectsRecord the correcting costCount and rank the defectsCompute overall cost in each categoryUncover the highest cost categoriesDevelop the plan to modify the process
11 Process Metrics Guidelines GradyUse common sense and organizational sensitivity when interpreting metrics data.Provide regular feedback to the individuals and teams who have worked to collect measures and metrics.Don’t use metrics to appraise individuals.Work with practitioners and teams to set clear goals and metrics that will be used to achieve them.Never use metrics to threaten individuals or teams.Metrics data that indicate a problem area should not be considered “negative.” These data are merely an indicator for process improvement.Don’t obsess on a single metric to the exclusion of other important metrics.
12 Project Metrics Project Indicator Measure Input -- sources required to do the workOutput -- work products created during the processResults -- effectiveness of the deliverablesProject IndicatorAssess the Quality of an Ongoing ProjectModify the Technical Approach to Improve QualityAdjust Work Flow or Tasks to Avoid the DelayTrack Potential RisksUncover Problem AreasEvaluate the project team’s abilityProject metricsErrors uncovered per review hourScheduled vs. actual milestone dates….
14 Typical Size-Oriented Metrics Normalization valueMetrics:errors per KLOCdefects per KLOC$ per KLOCpage of documentation per KLOCerrors per person-monthLOC per person-month$ per page of documentation
15 Typical Size-Oriented Metrics Advantageseasily countedDisadvantagesprogramming languagewell-designlate get data
16 Function-Oriented Metrics Function Pointcountable (direct) measures of software’s information domainassessments of software complexity
17 Function Points (FP) Establish count for input domain and Analyze informationEstablishcountfor input domain anddomain of theapplicationsystem interfacesand develop countsWeight each count byAssign level of complexity orweightassessing complexityto each countAssess influence ofGrade significance of external factors, Figlobal factors that affectsuch as reuse, concurrency, OS, ...the applicationfunction points =C x (count x weight)Computefunction pointswhere:complexity multiplier: C = ( x N)degree of influence: N = Fi
19 Function Points (FP) Complexity adjustment values (Fi ; i = 1-14) Does the system require reliable backup and recovery?Are data communications required?Are there distributed processing functions?:14.
22 Function-Oriented Metrics errors per FPdefects per FP$ per FPpages of documentation per FPFP per person-month)
23 Function-Oriented Metrics Advantagesprogramming language independentget data earlyDisadvantagessubjectivedifficult to collect the datano direct physical meaning
24 Quality MetricsThere are different answers for the characteristics of software that contribute to its overall quality.Users – external viewPractitioners – internal viewBuild models to relate the user’s external view to the developer’s internal view of the software.
26 Metrics for Software Quality Correctness — operate correctly(defects per KLOC)Maintainability — amenable to change(mean-time-to-change (MTTC))Integrity — impervious to outside attack(integrity = Sum( 1- threat *(1-security)))Usability — easy to use(learning time, productivity, assessmentof user…)
27 Defect Removal Efficiency (DRE) For ProjectDRE = (errors) / (errors + defects)whereerrors = problems found before releasedefects = problems found after releaseDRE = (errors) / (errors + defects)For ProcessDRE i = (errors)i / (errors i + errors i+1)
28 Metrics Baseline Attributes of baseline data reasonably accurate as many projects as possibleconsistentsimilar
29 Managing Variation (Control Chart Approach) 123456791113151719ProjectsEr,ofund/eviwhFIGURE 4.8 Metrics data for errors uncovered per review hour
30 Moving Range Control Chart (stable) UCLmRMean of the moving Range (mR) = 1.71Upper Control Limit (UCL) = mR * = 5.57
31 Individual Control Chart (control ) UNPLAmLNPLUpper Natural Process Limit (UNPL) = mR * Am = 8.55Lower Natural Process Limit (LNPL) = mR * 2.66 – Am = 0.55Standard deviation = (UNPL – Am) / 3 = 1.52
32 Individual Control Chart (control ) Out of control If any one of the following items is trueA single metrics value lies outside the UNPL.Two out of three successive metrics values lie more than two standard deviations away from Am.Four out of five successive metrics values lie more than one standard deviation away from Am.Eight consecutive metrics values lie on one side of Am.
33 Metrics for Small Organizations Keep the measurements simple.Tailor measurements to each organization.Ensure the measurements produces valuable information.The cost of collecting and computing metrics ranges from 3% to 8% of project budget during the learning face, then drops to less than 1%.
34 Software Metrics What is it? A quantitative measure of the degree which a system, component, or process possesses an attribute.Why is it important?Objective evaluation, better estimates, true improvement…How does it?Collected analyzedcomparedassessedWho does it?Collect Measures software engineersAnalyze and assess Metrics software manager
35 Software Process and Project Metrics What is it?Who does it?Why is it important?What are the steps?What is the work product?How to ensure it be done right?