Chapter 4 Software Process and Project Metrics

Similar documents
Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Software Process and Project Metrics

Estimation for Software Projects. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Management and MDD. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems March 6, 2007

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a comple

Topic 12. SW/CIS Project Estimates (LOC, FP, efforts, cost, etc.)

Software Engineering. Page 1. Objectives. Steps in Project Planning. Software Project Planning. Scope. Estimating Resources

S f o tware E are n E g n i g nee ee ing Projec Proj t Ma nagem ent C ent oncepts

Sri Vidya College of Engineering & Technology-Virudhunagar

Concepts of Project Management. All projects have followings.

4-3 Software Measurement

Software Project Management

QUESTIONS AND ANSWERS ON SOFTWARE PROCESS AND PRODUCT METRICS

Project Planning. COSC345 Software Engineering 2016 Slides by Andrew Trotman given by O K

Objectives. Topics covered. Software project management. Management activities. Software management distinctions. Project management

Project Management. Minsoo Ryu. Hanyang University.

Chapter 6. Software Quality Management & Estimation

CS605 Software Engineering-II Solved Paper MID Term FALL 2008 MIDTERM EXAMINATION Fall 2008 CS605- Software Engineering II (Session - 2)

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

Software Engineering

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

Project management. ACSC 383 Software Engineering. Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department

Project+ Examination Blueprint Version June 1, 2003

UNIT V PROJECT MANAGEMENT

Chapter 26. Quality Management

Contents. Today Project Management. What is Project Management? Project Management Activities. Project Resources

The people Deals with the cultivation of motivated, highly skilled people Consists of the stakeholders, the team leaders, and the software team.

Management of Software Engineering. Ch. 8 1

Tutorial Software is the differentiating characteristics in many computer based products and systems. Provide examples of two or three products

Introduction to Software Engineering

Software Engineering. Lab Manual. Software Engineering BE(comp) VII semester

Project management. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 5 Slide 1

Introduction to Software Metrics

Project Management. Agenda - What will you learn today? Theory Lecture Plan. A Software Life-cycle Model Which part will we talk about today?

PLANNING AND ESTIMATING

Fundamental estimation questions. Software cost estimation. Costing and pricing. Software cost components. Software pricing factors

Today s Lecture. Fall 2004 SE 101 Introduction to Software Engineering 2

Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

Objectives. 4. To show how graphical schedule representations (bar charts and activity charts) are used by project management

CMMI V2.0 MODEL AT-A-GLANCE. Including the following views: Development Services Supplier Management. CMMI V2.0 outline BOOKLET FOR print.

Figure 1 Function Point items and project category weightings

IT-hub College, Sargodha Version: 1.0 Online Attendance Management System Date: February 20, 2017

Chapter 24. Software Project Scheduling

SOFTWARE ENGINEERING. Topics covered 1/20/2015. Chapter 3 - Project Management. Risk management Managing people Project cost Project plan & schedule

Darshan Institute of Engineering & Technology for Diploma Studies

Metrics and Estimation. Metrics. Lord Kelvin

Project Planning. CITS3220 Software Requirements & Project Management

CMMI Conference November 2006 Denver, Colorado

Software Engineering

7. Project Management

Chapter 5 Software Project Planning

Strategy Analysis. Chapter Study Group Learning Materials

First, a detailed description of function points Then, how to use function points and lines of code for cost estimation.

Software Engineering

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

Pertemuan 2. Software Engineering: The Process

PMP Exam Preparation Workshop. Chapter # 5 Project Scope Management

Project Managers Guide to Systems Engineering Measurement for Project Success

What is SQA? Software Quality Assurance. Quality Concepts. Quality Concept (cont.)

Automating Risk Management with Rational RequisitePro

methodologies (SOFTWARE ENGINEERING) CONTENTS 1.1 INTRODUCTION TO O SOFTWARE ENGINEERING Basic Stages in Software Development... 1.

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

Cost Estimation. What are the costs of a Software Project? Why does it matter for us to know this? How do you measure productivity?

This chapter illustrates the evolutionary differences between

COCOMO Models 26/12/2016 1

The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References

Introduction to Software Metrics

Risk-Based Testing: Analysis and Strategy. Presented at Quality Assurance Institute QUEST Conference Chicago, Ill., 2009

THE BASICS OF PROJECT MANAGEMENT. People~Connect Institute Dr. Dean Russell

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

Adapting software project estimation to the reality of changing development technologies

The Mystery Behind Project Management Metrics. Reed Shell Blue Hippo Consulting

Implementing an Automated Testing Program

GEARING FACTORS. The A FLEXIBLE SIZING APPROACH

Design for Six Sigma in the Software Lifecycle -- Did We Lose the Fox?

Software cost estimation

Managing Customer Specific Projects Tomas Nyström

REQUIREMENTS DOCUMENTATION

Software Project & Risk Management Courses Offered by The Westfall Team

Chapter 3 Prescriptive Process Models

PROJECT SCHEDULING & CONTROL

Principles of Schedule Contingency Management

Project Planning & Scheduling

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Software Engineering

7. What is planning? It is an act of formulating a program for a definite course of action. Planning is to decide what is to be done.

MTAT Software Economics. Session 6: Software Cost Estimation

More than 2000 organizations use our ERM solution

Lecture 2: Project Management, Part 1: Requirements, WBS, Scheduling, and Risk Management. Prof. Shervin Shirmohammadi SITE, University of Ottawa

SOFTWARE ENGINEERING

Enhancing Delivery Schedule Awareness

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

CSE 435 Software Engineering. Sept 14, 2015

MBP1133 Project Management Framework Prepared by Dr Khairul Anuar

Building quality into the software from the. Keeping and. the software. software life cycle

Simulation Analytics

THE TRUE VALUE OF PROJECT RISK ANALYSIS

PROJECT EXECUTION PLANNING FOR COST AND SCHEDULE MANAGERS

Software Efforts & Cost Estimation Matrices and Models. By: Sharaf Hussain

Transcription:

Chapter 4 Software Process and Project Metrics 1

Measurement & Metrics... collecting metrics is too hard... it's too time-consuming... it's too political... it won't prove anything... Anything that you need to quantify can be measured in some way that is superior to not measuring it at all.. Tom Gilb 2

Why do we Measure? To characterize To evaluate To predict To improve 3

A Good Manager Measures process process metrics measurement project metrics product metrics product What do we use as a basis? size? function? 4

Process Metrics majority focus on quality achieved as a consequence of a repeatable or managed process statistical SQA data error categorization & analysis defect removal efficiency propagation from phase to phase reuse data 5

Project Metrics Effort/time per SE task Errors uncovered per review hour Scheduled vs. actual milestone dates Changes (number) and their characteristics Distribution of effort on SE tasks 6

Product Metrics focus on the quality of deliverables measures of analysis model complexity of the design internal algorithmic complexity architectural complexity data flow complexity code measures (e.g., Halstead) measures of process effectiveness e.g., defect removal efficiency 7

Metrics Guidelines Use 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. 8

Normalization for Metrics Normalized data are used to evaluate the process and the product (but never individual people) size-oriented normalization the line of code approach function-oriented normalization the function point approach 9

Typical Size-Oriented Metrics errors per KLOC (thousand lines of code) defects per KLOC $ per LOC page of documentation per KLOC errors / person-month LOC per person-month $ / page of documentation 10

Typical Function-Oriented Metrics errors per FP (thousand lines of code) defects per FP $ per FP pages of documentation per FP FP per person-month 11

Why Opt for FP Measures? independent of programming language uses readily countable characteristics of the "information domain" of the problem does not "penalize" inventive implementations that require fewer LOC than others makes it easier to accommodate reuse and the trend toward object-oriented approaches 12

Computing Function Points Analyze information domain of the application and develop counts Establish count for input domain and system interfaces Weight each count by assessing complexity Assign level of complexity or weight to each count Assess influence of global factors that affect the application Grade significance of external factors, F i such as reuse, concurrency, OS,... Compute function points function points = (count x weight) x C where: complexity multiplier: C = (0.65 + 0.01 x N) degree of influence: N = F i 13

Analyzing the Information Domain measurement parameter count weighting factor simple avg. complex number of user inputs X 3 4 6 = number of user outputs X 4 5 7 = number of user inquiries X 3 4 6 = number of files X 7 10 15 = number of ext.interfaces X 5 7 10 = count-total complexity multiplier function points 14

Taking Complexity into Account Factors are rated on a scale of 0 (not important) to 5 (very important): data communications distributed functions heavily used configuration transaction rate on-line data entry end user efficiency on-line update complex processing installation ease operational ease multiple sites facilitate change 15

Measuring Quality Correctness the degree to which a program operates according to specification Maintainability the degree to which a program is amenable to change Integrity the degree to which a program is impervious to outside attack Usability the degree to which a program is easy to use 16

Defect Removal Efficiency DRE = (errors) / (errors + defects) where errors = problems found before release defects = problems found after release 17

Managing Variation The mr Control Chart Er, Errors found/ review hour 6 5 4 3 2 1 0 1 3 5 7 9 11 13 15 17 19 Project s 18

Chapter 5 Software Project Planning 1

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project. Why? So the end result gets done on time, with quality! 2

The Steps Scoping understand the problem and the work that must be done Estimation how much effort? how much time? Risk what can go wrong? how can we avoid it? what can we do about it? Schedule how do we allocate resources along the timeline? what are the milestones? Control strategy how do we control quality? how do we control change? 3

Write it Down! Project Scope Estimates Risks Schedule Control strategy Software Project Plan 4

To Understand Scope... Understand the customers needs understand the business context understand the project boundaries understand the customer s motivation understand the likely paths for change understand that... Even when you understand, nothing is guaranteed! 5

Cost Estimation project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent 6

Estimation Techniques past (similar) project experience conventional estimation techniques task breakdown and effort estimates size (e.g., FP) estimates tools (e.g., Checkpoint) 7

Functional Decomposition Statement of Scope perform a "grammatical parse" functional decomposition 8

Creating a Task Matrix Obtained from process framework framework activities application functions Effort required to accomplish each framework activity for each application function 9

Conventional Methods: LOC/FP Approach compute LOC/FP using estimates of information domain values use historical effort for the project 10

Example: LOC Approach Functions estimated LOC LOC/pm $/LOC Cost Effort (months) UICF 2340 315 14 32,000 7.4 2DGA 5380 220 20 107,000 24.4 3DGA 6800 220 20 136,000 30.9 DSM 3350 240 18 60,000 13.9 CGDF 4950 200 22 109,000 24.7 PCF 2140 140 28 60,000 15.2 DAM 8400 300 18 151,000 28.0 Totals 33,360 655,000 145.0 11

Example: FP Approach measurement parameter count weight number of user inputs 40 x 4 = 160 number of user outputs 25 x 5 = 125 number of user inquiries 12 x 4 = 48 number of files number of ext.interfaces 4 4 x x 7 7 = = 28 28 0.25 p-m / FP = 120 p-m algorithms 60 x 3 = 180 count-total 569 complexity multiplier.84 feature points 478 12

Tool-Based Estimation project characteristics calibration factors LOC/FP data 13

Empirical Estimation Models General form: effort = tuning coefficient * size exponent usually derived as person-months of effort required either a constant or a number derived based on complexity of project usually LOC but may also be function point empirically derived 14

Estimation Guidelines estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties you've arrived at an estimate, sleep on it adjust for the people who'll be doing the job they have the highest impact 15

The Make-Buy Decision 16

Computing Expected Cost expected cost = (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K) build = $429 K similarly, expected cost reuse = $382K expected cost buy = $267K expected cost = $410K contr 17

Chapter 6 Risk Management 1

Project Risks What can go wrong? What is the likelihood? What will the damage be? What can we do about it? 2

Reactive Risk Management project team reacts to risks when they occur mitigation plan for additional resources in anticipation of fire fighting fix on failure resource are found and applied when the risk strikes crisis management failure does not respond to applied resources and project is in jeopardy 3

Proactive Risk Management formal risk analysis is performed organization corrects the root causes of risk TQM concepts and statistical SQA examining risk sources that lie beyond the bounds of the software developing the skill to manage change 4

Risk Management Paradigm control track plan RISK analyze identify 5

Building a Risk Table Risk Probability Impact RMMM Risk Mitigation Monitoring & Management 6

Building the Risk Table Estimate the probability of occurrence Estimate the impact on the project on a scale of 1 to 5, where 1 = low impact on project success 5 = catastrophic impact on project success sort the table by probability and impact 7

Risk Mitigation, Monitoring, and Management mitigation how can we avoid the risk? monitoring what factors can we track that will enable us to determine if the risk is becoming more or less likely? management what contingency plans do we have if the risk becomes a reality? 8

Risk Due to Product Size Attributes that affect risk: estimated size of the product in LOC or FP? estimated size of product in number of programs, files, transactions? percentage deviation in size of product from average for previous products? size of database created or used by the product? number of users of the product? number of projected changes to the requirements for the product? before delivery? after delivery? amount of reused software? 9

Risk Due to Business Impact Attributes that affect risk: affect of this product on company revenue? visibility of this product by senior management? reasonableness of delivery deadline? number of customers who will use this product interoperability constraints sophistication of end users? amount and quality of product documentation that must be produced and delivered to the customer? governmental constraints costs associated with late delivery? costs associated with a defective product? 10

Risks Due to the Customer Questions that must be answered: Have you worked with the customer in the past? Does the customer have a solid idea of requirements? Has the customer agreed to spend time with you? Is the customer willing to participate in reviews? Is the customer technically sophisticated? Is the customer willing to let your people do their job that is, will the customer resist looking over your shoulder during technically detailed work? Does the customer understand the software engineering process? 11

Risks Due to Process Maturity Questions that must be answered: Have you established a common process framework? Is it followed by project teams? Do you have management support for software engineering Do you have a proactive approach to SQA? Do you conduct formal technical reviews? Are CASE tools used for analysis, design and testing? Are the tools integrated with one another? Have document formats been established? 12

Technology Risks Questions that must be answered: Is the technology new to your organization? Are new algorithms, I/O technology required? Is new or unproven hardware involved? Does the application interface with new software? Is a specialized user interface required? Is the application radically different? Are you using new software engineering methods? Are you using unconventional software development methods, such as formal methods, AI-based approaches, artificial neural networks? Are there significant performance constraints? Is there doubt the functionality requested is "do-able?" 13

Staff/People Risks Questions that must be answered: Are the best people available? Does staff have the right skills? Are enough people available? Are staff committed for entire duration? Will some people work part time? Do staff have the right expectations? Have staff received necessary training? Will turnover among staff be low? 14

Recording Risk Information Project: Embedded software for XYZ system Risk type: schedule risk Priority (1 low... 5 critical): 4 Risk factor: Project completion will depend on tests which require hardware component under development. Hardware component delivery may be delayed Probability: 60 % Impact: Project completion will be delayed for each day that hardware is unavailable for use in software testing Monitoring approach: Scheduled milestone reviews with hardware group Contingency plan: Modification of testing strategy to accommodate delay using software simulation Estimated resources: 6 additional person months beginning 7-1-96 15