Presentation on theme: "Metrics for Process and Projects"— Presentation transcript:
1 Metrics for Process and Projects Course Instructor: Aisha Azeem
2 A Good Manager Measures processprocess metricsproject metricsmeasurementproduct metricsproductWhat do weuse as abasis?• size?• function?
3 Why Do We Measure? assess the status of an ongoing project track potential risksuncover problem areas before they go “critical,”adjust work flow or tasks,evaluate the project team’s ability to control quality of software work products.
4 Process MeasurementWe measure the efficacy of a software process indirectly.That is, we derive a set of metrics based on the outcomes that can be derived from the process.Outcomes includemeasures of errors uncovered before release of the softwaredefects delivered to and reported by end-userswork products delivered (productivity)human effort expendedcalendar time expendedschedule conformanceWe also derive process metrics by measuring the characteristics of specific software engineering tasks.
5 Cont . . . Provides a mechanism for objective evaluation Assists in EstimationQuality controlProductivity assessmentProject ControlTactical decision-makingActs as management tool
6 Process Metrics Quality-related Productivity-related focus on quality of work products and deliverablesProductivity-relatedProduction of work-products related to effort expendedStatistical SQA dataerror categorization & analysisDefect removal efficiencypropagation of errors from process activity to activityReuse dataThe number of components produced and their degree of reusability
7 Project Metricsused to minimize the development schedule by making the adjustments necessary to avoid delays and mitigate potential problems and risksused to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality.every project should measure:inputs—measures of the resources (e.g., people, tools) required to do the work.outputs—measures of the deliverables or work products created during the software engineering process.results—measures that indicate the effectiveness of the deliverables.
8 Typical Project Metrics Effort/time per software engineering taskErrors uncovered per review hourScheduled vs. actual milestone datesChanges (number) and their characteristicsDistribution of effort on software engineering tasks
9 Metrics in the Process and Project Domains Process metrics are collected across all projects and over long periods of timeProject metrics enable a software project manager toAssess the status of an ongoing projectTrack potential risksUncover problem areas before they go “critical”Adjust work flow or tasksEvaluate the project team’s ability to control quality of software work products
10 Process Metrics and Software Process Improvement ProductTechnologyPeopleProcessCustomer characteristicsBusiness conditionsDevelopment environmentFig: Determinants for s/w quality and organizational effectiveness
11 Process Metrics and Software Process Improvement There are “private and public” uses for different types of process dataSoftware metrics etiquetteUse common sense and organizational sensitivity when interpreting metrics dataProvide regular feedback to the individuals and teams who collect measures and metricsDon’t use metrics to appraise individuals
12 Cont. . . Software metrics etiquette (contd.) Work with practitioners and teams to set clear goals and metrics that will be used to achieve themNever use metrics to threaten individuals or teamsMetrics data that indicate a problem area should not be considered “negative”. These data are merely an indicator for process improvementDon’t obsess on a single metric to the exclusion of other important metrics
13 Cont . . . Statistical Software Process Improvement (SSPI) Error Some flaw in a s/w engineering work product that is uncovered before the s/w is delivered to the end-userDefectA flaw that is uncovered after delivery to the end-user
14 Software Measurement S/W measurement can be categorized in two ways: Direct measures of the s/w process (e.g., cost and effort applied) and product (e.g., lines of code (LOC) produced, etc.)Indirect measures of the product (e.g., functionality, quality, complexity, etc.)Requires normalization of both size- and function-oriented metrics
15 Size-Oriented Metrics Lines of Code (LOC) can be chosen as the normalization valueExample of simple size-oriented metricsErrors per KLOC (thousand lines of code)Defects per KLOC$ per KLOCPages of documentation per KLOC
16 Cont . . . Controversy regarding use of LOC as a key measure According to the proponentsLOC is an “artifact” of all s/w development projectsMany existing s/w estimation models use LOC or KLOC as a key inputAccording to the opponentsLOC measures are programming language dependentThey penalize well-designed but shorter programsCannot easily accommodate nonprocedural languagesDifficult to predict during estimation
17 Function-Oriented Metrics The most widely used function-oriented metric is the function point (FP)Computation of the FP is based on characteristics of the software’s information domain and complexity
18 Cont. . . Controversy regarding use of FP as a key measure According to the proponentsIt is programming language independentCan be predicted before coding is startedAccording to the opponentsBased on subjective rather than objective dataHas no direct physical meaning – it’s just a number
19 Object-Oriented Metrics Number of Scenario scriptsNumber of key classesNumber of support classesAverage number of support classes per key classNumber of subsystems
20 Use-Case Oriented Metrics The use-case is independent of programming languageThe no. of use-cases is directly proportional to the size of the application in LOC and to the no. of test casesThere is no standard size for a use-caseIts application as a normalizing measure is suspect
21 Web Engineering Project Metrics Number of static Web pagesNumber of dynamic Web pagesNumber of internal page linksNumber of persistent data objectsNumber of external systems interfacedNumber of static content objectsNumber of dynamic content objectsNumber of executable functions
22 Web Engineering Project Metrics (2) Let,Nsp = number of static Web pagesNdp = number of dynamic Web pagesThen,Customization index, C = Ndp/(Ndp + Nsp)The value of C ranges from 0 to 1
23 Metrics for Software Quality Goals of s/w engineeringProduce high-quality systemsMeet deadlinesSatisfy market needThe primary thrust at the project level is to measure errors and defects
25 Defect Removal Efficiency (DRE) Can be used at both the project and process levelDRE = E / (E + D), [E = Error, D = Defect]Or, DREi = Ei / (Ei + Ei+1), [for ith activity]Try to achieve DREi that approaches 1
26 Integrating Metrics within the Software Process Software engineering processSoftware projectData collectionMeasurese.g. LOC, FP, Defects, ErrorsSoftware productMetricse.g. No. of FP, Size, Error/KLOC, DREMetrics computationMetrics evaluationIndicatorse.g. Process efficiency, Product complexity, relative overheadFig: - Software metrics collection process