Project Metrics Infsy 570 Dr. R. Ocker.

Slides:



Advertisements
Similar presentations
Project Estimation: Metrics and Measurement
Advertisements

Chapter 4 Software Process and Project Metrics
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
Chapter 4 Software Process and Project Metrics
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 22 Process and Project Metrics
Process and Project Metrics
SOFTWARE METRICS FOR PROCESS AND PROJECTS LECTURE NOTES 3
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Metrics for Process and Projects
Metrics for Process and Projects
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Metrics.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
Project Management Metrics.
Software Process and Product Metrics
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
Software Measurement & Metrics
This chapter is extracted from Sommerville’s slides. Text book chapter
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Lecture 4 Software Metrics
Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Engineering B.Tech IT/II Sem-II Term: Unit-7 PPT SLIDES Text Books:1.Software Engineering, A practitioner’s approach Roger s. Pressman.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
Software Project Management Lecture # 3. Outline Metrics for Process and Projects  Introduction  Software Metrics Process metrics Project metrics Direct.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SPM UNIT 2 - Prof S. S. Deshmukh. Software measurements  Measurement gives us the insight by providing mechanism for evaluation.  There are four reasons.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Chapter 22 Process and Project Metrics
Software Engineering B.Tech Ii csE Sem-II
Software Engineering (CSI 321)
Lecture 15: Technical Metrics
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Software Planning
Software engineering.
Software Metrics “How do we measure the software?”
Why Do We Measure? assess the status of an ongoing project
Chapter 25 Process and Project Metrics
COCOMO Models.
Software metrics.
Process and Project Metrics
Why Do We Measure? assess the status of an ongoing project
Process and Project Metrics
Metrics for process and Projects
Why Do We Measure? assess the status of an ongoing project
Chapter 32 Process and Project Metrics
Chapter 22 Process and Project Metrics
Metrics for Process and Projects
Software Effort Estimation
Presentation transcript:

Project Metrics Infsy 570 Dr. R. Ocker

goal of metrics to improve product quality and development-team productivity concerned with productivity and quality measures measures of SW development output as function of effort and time measures of usability

terms: measure measurement metric quantitative expression of an attribute of a product or process measurement the act of determining a measure metric quantitative measure of the degree to which a system, component or process possesses an attribute

terms: indicator process indicators a metric that provides insight into the SW process or project enables manager to adjust (improve) the process or project process indicators allow assessment of process in terms of what works and what doesn’t

Terms: project indicators allow manager to (1) assess status of ongoing project (2) track project risks (3) uncover problem areas (4) adjust tasks or workflow (5) evaluate team’s ability to control quality

metrics apply to process - used to develop the SW project - specific SW development project product - SW produced many of the same metrics apply to both the process and project domains

1. Process metrics and SW process improvement How to improve SW quality and organizational performance? fig 4.1 text, fig.2 Paulish & Carleton: Factors that influence quality: people - skills and experience of SW people technology - used in development (e.g. CASE) product complexity process - glue that ties it all together

motivation to improve process: results from business need, e.g. strong competition, need increased profitability “The only rational way to improve any process is to measure specific attributes of the process, develop a set of meaningful metrics based on these attributes, and then use the metrics to provide indicators that will lead to a strategy for improvement.” ... process metrics are strategic

Process improvement approach (fig. 3, Paulish et al.) business need motivation to improve assessment (of current practices and process maturity level) improvement methods selected metrics measure impact

Process improvement approach (fig. 3, Paulish et al.) business establishes goals to improve process over period of time defines measures to gauge progress when data indicate process problems - take corrective action

Software process improvement method integrated collection of procedures, tools, and training for increasing product quality, improving development-team productivity, or reducing development time

Some outcomes of an improved SW process might include: fewer defects earlier identification and correction of defects faster time to market better predictability of project schedules and resources

Types of process metrics: private vs. public metrics SW process improvement should begin at the individual level

some private metrics: defect rates by individual defect rates by module errors found during development

public metrics use information from individual and team metrics some public metrics: project-level defect rates effort calendar times

2. Project Metrics project metrics are tactical used by project manager to adapt project work flow and technical activities i.e. guide adjustments to work schedule to avoid delays; assess product quality on an ongoing basis

attention to metrics should lead to reduction in project costs: as quality improves errors are minimized rework reduced

estimation first application of project metrics on SW project metrics collected from past projects used as basis for time and effort estimates as project advances, collect production rates and error metrics

3. Software Measurement direct measures vs. indirect measures

direct measures direct measure of process: direct measure of product: cost and effort direct measure of product: lines of code (LOC) execution speed defects per time period

Indirect measures indirect measures of product: functionality quality complexity reliability maintainability

Consolidation of metrics individual metrics combined to develop project metrics project metrics consolidated to create process metrics how to combine metrics from different projects? normalization - enables comparison

3.1 Size-oriented metrics derived by normalizing quality and/or productivity measures use size of the SW to normalize size-oriented measures include: LOC effort $ errors defects people

normalizing suppose choose LOC as normalization value then can compare across projects: errors per KLOC defects per KLOC $ per LOC

estimates very important to estimate the associated cost of development early in the development project to have accurate cost predictions, need accurate estimates of project size

Software size primary factor affecting SW cost is the SIZE of the project estimating SW size is DIFFICULT most frequently used metrics for measuring size: lines of code (LOC) function points some controversy regarding using LOC as key normalization measure

LOC pros: easily counted (after the fact, once you choose a counting method) used a lot

LOC cons: lack of universally accepted definition for what a line of code really is (there are at least 11 different variations for counting LOC) programming language dependent difficult to use to estimate project size and effort - don’t have enough information at beginning of project to accurately estimate LOC

3.2 Function-oriented Metrics use a measure of functionality as the normalization value formula estimate functionality cannot be measured directly, but must be derived using other (direct) measures method of quantifying size and complexity of system in terms of functions that system delivers to user

fig. 4.5 computing function points measurement parameter count simple average complex 1. number of user inputs ??? 3 4 6 = X 2. number of user outputs ??? 4 5 7 = X 3. number of inquiries ??? 3 4 6 = X 4. number of files ??? 7 10 15 = X 5. number of external interfaces ??? 5 7 10 = X count=total XX

You must perform the count:

1. number of user inputs each unique user input that provides application-oriented data to the SW includes input that enter directly as transactions from the user, and those that enter as transactions from other applications (e.g. input file of transactions)

2. number of user outputs each user output that provides application-oriented information to user (reports, screens, error messages, etc.) include reports and messages to the user and reports and messages to other applications (e.g. files of reports and messages)

3. number of inquiries inquiry is an on-line input that results in generation of an immediate SW response in form of an on-line output each distinct inquiry is counted

4. number of internal files include each logical file or if using a DB, logical grouping of data, that is generated, used and maintained by the application

5. number of external interfaces files passed or shared between applications should be counted i.e., machine-readable interfaces (e.g., data files on tape or disk) that are used to transmit information to another system are counted

to compute: 1. classify and count the five user function types 2. adjust for processing complexity determine complexity value associated with each count can develop criteria for determining whether simple, average or complex 3. make the function points calculation FP= count-total X [.65+.01X  Fi Fi (i=1 to 14) are complexity adjustment values see table 4.1

answer questions such as: Is performance critical? Are the master files updated on-line? Is the code designed to be reusable? Use function points to normalize measures of SW productivity and quality.

FP Pros: programming language independent based on data more likely to be known early in the project (still need requirements specs. or design specs.; see Matson et al.)

FP Cons: computation based on subjective data designed to measure business-type applications (not good for technical or scientific applications)

4. Metrics for SW Quality focus on the process, the project and the product (as do productivity metrics)

Factors that affect quality product operation - using it product revision - changing it product transition - portability

Measuring quality correctness degree to which SW performs its required function defects per KLOC - most common measure for correctness maintainability ease with which a program can be corrected, adapted, or enhanced

Measuring quality MTTC - mean time to change - integrity simple metric - time it takes to analyze, implement change, test it, and distribute it to users integrity measures system’s ability to withstand attacks on its security

Measuring quality usability measured using 4 characteristics quantify user friendliness measured using 4 characteristics 1. physical/intellectual skill required to learn the system 2. time required to become moderately efficient 3. net increase in productivity when system used 4. users attitudes toward the system

5. Integrating metrics within the SW process majority of SW developers do not measure problem is cultural measurement results in cultural change resistance, often due to fear

barriers to implementing process improvement methods (Paulish et al.) 1. getting started orgs. need to conduct an assessment (e.g. Capability Maturity Model) 2. staff turnover downsizing is difficult environment for process improvement need champions to stick around 3. dedicated resources need full-time dedicated resource(s) to implement process improvement methods

barriers to implementing process improvement methods (Paulish et al.) 4. management support it’s necessary 5. time restrictions you’ve got to make the time to institute it

Some preliminary recommendations (Paulish et al.) 1. use capability maturity model as guide to improvement it provides a framework showing which methods to use based on current maturity 2. conduct an assessment at beginning to identify priorities for improvement and build consensus within org.

Some preliminary recommendations (Paulish et al.) 3. pick a few process improvement methods implement these effectively 4. pay attention to implementation of methods includes good training and management 5. some process improvement methods easier to implement than others

remember...cultural factors are substantial have significant impact on success with adopting software process improvement methods “the collection of quality metrics enables an organization to ‘tune’ its software engineering process to remove the ‘vital few’ causes of defects that have the greatest impact on software development”