1 Software Process and Project Metrics. 2 Normalization for Metrics.

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

Robert Lockyer.
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.
Project Estimation: Metrics and Measurement
1 Estimating Software Development Using Project Metrics.
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.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
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.
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.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
The Mythical Man-Month By: Zac Lippard CS 470. What is the “Man-Month”? This is the idea that men and months are interchangeable between each other. This.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Software Process and Product Metrics
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Estimation Why estimate? What to estimate? When to estimate?
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software cost estimation Predicting the resources required for a software development process 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Chapter 4 Software Process and Project Metrics.
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
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
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.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Mythical Man Month By Ryan Ruzich.  More software projects have gone awry for lack calendar time than all other reasons combined.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.
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.
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.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Lecture 6 Title: Project Cost Management MIS 434.
بشرا رجائی برآورد هزینه نرم افزار.
Software Metrics 1.
Chapter 4 Software Process and Project Metrics
The Effects on Development
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Software Metrics “How do we measure the software?”
For University Use Only
Why Do We Measure? assess the status of an ongoing project
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software metrics.
Why Do We Measure? assess the status of an ongoing project
Why Do We Measure? assess the status of an ongoing project
Metrics for Process and Projects
Presentation transcript:

1 Software Process and Project Metrics

2 Normalization for Metrics

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

4 Why Opt for Function Point (FP) Measures?

5 Analyzing the Information Domain

6 Taking Complexity into Account

7 LOC per Function Point  Assembly language 320  C 128  COBOL 106  Fortran 106  C++ 64  Visual Basic 32  Smalltalk 22  SQL 12

8 Criticism of Function Point measurement The weighting factor makes the FP number highly dependent on the developer’s experience: The developer can essentially set the FP number to what the developer wants

9 (All? Most?) Projects are Late  Project estimation is difficult  Effort is not progress  Management sets unrealistic goals  Schedules poorly monitored  Brooks law: adding persons to a late project makes it later NOTE: Your project will note be late!

10 Partitioning Tasks  Perfectly partitionable task  Unpartitionable task  Partitionable task requiring communication  Task with complex interelelationships

11 Programmers are Optimists  All will go well (Murphy’s Law doesn’t apply to our project)  Each task will only take as long as it ought to take  No one (on our project) will ever get sick, take vacation time, or have family emergencies  Programmers get to spend all their time programming (never in meetings, conferences, travel)

12 Brooks Scheduling Rule of Thumb  1/3 Planning  1/6 Coding  1/4 component and early system test  1/4 system test  rule (40% design, 20% code, 40% test)  “Testing is usually the most mis-scheduled part of programming”

13 Piwowarski Scheduling Algorithm  Estimate all tasks assuming the experience of the person doing it (not yourself)  Add 25% to this for overhead (meetings, vacation, travel, etc.)  Add 25% of the previous step for contingency (nothing ever goes right)  If you do the above ….

14 You still may be late!

15 Scheduling Example  All tasks to be done by your team (including testing documentation, etc.) 160 PM  Add 25% for overhead 200 PM  Add 25% for contingency 250 PM  The final number is over 50% greater than the original estimate of “actual” work that needs to be done

16 Programmer Productivity  Is lower (in LOC per PM) than you think!  Studies and models (Brooks, Pressman) vary widely  Some projects at IBM used a rule of thumb of lines per person month

17 Productivity  Reasons for low LOC/PM: (see Programmers are Optimists)  Productivity highly dependent on the task:  System Code vs. application code  New programs vs. modification to current programs  Experience of programmers  10 to 1 difference in programmer productivity  No “formula” will work  You must make adjustments for your project

18 Brooks Advice for Late Projects  DON’T ADD PERSONS TO A LATE PROJECT  But you can:  Reschedule (but “take no small slips”) – Can’t be done for your project  Trim the task (drop the unneeded features - the “bells and whistles”)

19 What can be done for CS499 projects  START ON TIME AND KEEP TO YOUR SCHEDULE  Have project checkpoints during the semester to keep you to your schedule  Drop the “bells and whistles” (but check with your customer first), BUT:  Make sure essential customer requirements are met