Presentation on theme: "Metrics for Process and Projects"— Presentation transcript:
1Metrics for Process and Projects Course Instructor: Aisha Azeem
2A Good Manager Measures processprocess metricsproject metricsmeasurementproduct metricsproductWhat do weuse as abasis?• size?• function?
3Why 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.
4Process 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.
5Cont . . . Provides a mechanism for objective evaluation Assists in EstimationQuality controlProductivity assessmentProject ControlTactical decision-makingActs as management tool
6Process 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
7Project 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.
8Typical 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
9Metrics 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
10Process Metrics and Software Process Improvement ProductTechnologyPeopleProcessCustomer characteristicsBusiness conditionsDevelopment environmentFig: Determinants for s/w quality and organizational effectiveness
11Process 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
12Cont. . . 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
13Cont . . . 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
14Software 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
15Size-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
16Cont . . . 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
17Function-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
18Cont. . . 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
19Object-Oriented Metrics Number of Scenario scriptsNumber of key classesNumber of support classesAverage number of support classes per key classNumber of subsystems
20Use-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
21Web 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
22Web 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
23Metrics 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
24Measuring Quality Correctness Defects per KLOC Maintainability Mean-time-to-change (MTTC)IntegrityThreat and securityintegrity = [1 – (threat (1 - security))]Usability
25Defect 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
26Integrating 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