Effort and Schedule Estimation Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture.

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Effort and Schedule Estimation Copyright, 1999 © Jerzy R. Nawrocki Personal Software.
Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
The Baseline Personal Process Copyright, 1999 © Jerzy R. Nawrocki Jerzy Nawrocki Personal Software Process Lecture 3.
Procedures for CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
Intuicyjne zarządzanie przedsięwzięciem Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie.
Software Engineering Lab Session Session 4 – Feedback on Assignment 1 © Jorge Aranda, 2005.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
Copyright © 1997 Carnegie Mellon University Introduction to the Personal Software Process - Lecture 1 1 Introduction to the Personal Software Process Lecture.
Personal Software Process
Aplicaciones de Ingeniería de Software
Questions? Cycle 1 Process details Process Dashboard Coding vs. Testing ??? SE-280 Dr. Mark L. Hornick 1.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #5 Software Engineering.
Metody statystyczne Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie Procesów Programowych.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
The Planning Process Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture 11.
Disciplined Software Engineering Lecture #4 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 6 – Estimating Resources and Schedule 1INFO636 Week 6.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang Personal Software Process Lecture 1.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
Management & Development of Complex Projects Course Code MS Project Management Earned Value Concepts Lecture # 19.
CMM Level 2: Repeatable Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture 4 Software Metrics
Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 9.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
CS 350: Introduction to Software Engineering Slide Set 4 Estimating with Probe II C. M. Overstreet Old Dominion University Spring 2006.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #4 Software Engineering.
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.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
Software Size Estimation Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture 5.
CS 1813 Discrete Mathematics, Univ Oklahoma Copyright © 2000 by Rex Page 1 PSP Calculations least squares size, least squares time confidence interval.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 11.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Chapter 10: Software Size Estimation Omar Meqdadi SE 273 Lecture 10 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Disciplined Software Engineering Lecture #6
Why Do We Measure? assess the status of an ongoing project
Estimating with PROBE II
Chapter 12 Linear Regression and Correlation
Why Do We Measure? assess the status of an ongoing project
Software Engineering Lab Session
Presentation transcript:

Effort and Schedule Estimation Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture 7

L.Ouyang, PSP, Lecture 7 Introduction Time & defect recording Time & defect recording Coding strd+Size measuremnt+PIP Coding strd+Size measuremnt+PIP Size estimating + Test report Task & schedule planning Code & design reviews Code & design reviews Design templates Design templates Cyclic dev. Cyclic dev. Baseline Planning Quality Cyclic

L.Ouyang, PSP, Lecture 7 Introduction begin.. end 500 LOC

L.Ouyang, PSP, Lecture 7 Plan of the lecture IntroductionIntroduction From the previous lectureFrom the previous lecture Effort estimationEffort estimation Multiple estimatesMultiple estimates Schedule estimatingSchedule estimating Progress trackingProgress tracking

L.Ouyang, PSP, Lecture 7 From the previous lecture.. Humphrey, CMU, 1995 PROxy-Based Estimating Objects as proxies StandardcomponentmethodFuzzylogicmethod Probemethod

L.Ouyang, PSP, Lecture 7 From the previous lecture.. 4. Knowing: programming language object type size ranges the number of methods estimate, using historical data, size of each object.

L.Ouyang, PSP, Lecture 7 From the previous lecture.. 6. Apply linear regression to get estimated program size Y: Y =  1 X +  0 5 means 10 5 means 10

L.Ouyang, PSP, Lecture 7 From the previous lecture.. 7. Using the t distribution and standard deviation compute the prediction interval for a given percentage. For 100% the For 100% the interval is [0; +  ]

L.Ouyang, PSP, Lecture 7 From the previous lecture.. (X - x avg ) 2  (x i - x avg ) n +1  Range = t    7c. Compute the range as follows: Initial estimate obtained in Step 5

L.Ouyang, PSP, Lecture 7 Plan of the lecture IntroductionIntroduction From the previous lectureFrom the previous lecture Effort estimationEffort estimation Multiple estimatesMultiple estimates Schedule estimatingSchedule estimating Progress trackingProgress tracking

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Programs written so far Historical data It should take... man month to finish the project

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Estimatedsize Actualtime Historical data

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Estimatedsize Actualtime Historical data r 2  0.5

L.Ouyang, PSP, Lecture 7 Effort estimation Estimated size Actual time 1.  0,  1 2. Effort =  1 * Estimated_size +  n +1  3. Range = t    r 2  Effort min = Effort - Range

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Estimatedsize Actualtime Historical data Lack of data or lack of correlation between estimated size and actual time

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Actualsize Actualtime Historical data

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Actualsize Actualtime Historical data r 2  0.5

L.Ouyang, PSP, Lecture 7 Effort estimation Actual size Actual time 1.  0,  1 2. Effort =  1 * Estimated_size +  n +1  3. Range = t    r 2  0.5

L.Ouyang, PSP, Lecture 7 Effort estimation begin.. end Actualsize Actualtime Historical data Lack of correlation between software size and actual time

L.Ouyang, PSP, Lecture 7 Effort estimation Actual size Actual time Effort = Estimated_size / P av time time 2 size size 2 P av = 3. P min = min { size i / time i } P max = max { size i / time i } P max = max { size i / time i } 4. Effort min = Estimated_size/P max Effort max = Estimated_size/P min Effort max = Estimated_size/P min

L.Ouyang, PSP, Lecture 7 Effort estimation No data about time You have to make a guess Actual size & actual time with r 2 < 0.5 Productivity-based estimation Actual size & actual time with r 2  0.5 Effort estimate + range (inaccurate) Estimated size & actual time with r 2  0.5 Effort estimate + prediction interval

L.Ouyang, PSP, Lecture 7 Plan of the lecture IntroductionIntroduction From the previous lectureFrom the previous lecture Effort estimationEffort estimation Multiple estimatesMultiple estimates Schedule estimatingSchedule estimating Progress trackingProgress tracking

L.Ouyang, PSP, Lecture 7 Multiple estimates Is the prediction interval [89.8, 195.2] correct?

L.Ouyang, PSP, Lecture 7 Multiple estimates   Range(70%) = 32.3

L.Ouyang, PSP, Lecture 7 Multiple estimates Given: time estimates T 1, T 2,.., T n their standard deviations  1,  2,..,  n. their standard deviations  1,  2,..,  n. T total = T 1 + T T n  total =     n 2 T min (70%) = T total -  total T max (70%) = T total +  total T min (70%) = T total -  total T max (70%) = T total +  total T min (95%) = T total - 2*  total T max (95%) = T total + 2*  total T min (95%) = T total - 2*  total T max (95%) = T total + 2*  total In general:

L.Ouyang, PSP, Lecture 7 PROBE-generated predictions Task: Write a class C1: 144 LOC Write a class C2: 193 LOC Write a class C3: 318 LOC S total = 655 LOC S total = 655 LOCTask: Write a class C1: 144 LOC Write a class C2: 193 LOC Write a class C3: 318 LOC S total = 655 LOC S total = 655 LOC  1 =  0 =  = 5.69  2 =  (T i -  0 - S i  1 ) 2 / (n-2) T total =  0 + S total *  1 = (S total - s avg ) 2  (s i - s avg ) n + 1  Range = t  Range(70%)= 16.3

L.Ouyang, PSP, Lecture 7 Plan of the lecture IntroductionIntroduction From the previous lectureFrom the previous lecture Effort estimationEffort estimation Multiple estimatesMultiple estimates Schedule estimatingSchedule estimating Progress trackingProgress tracking

L.Ouyang, PSP, Lecture 7 Schedule estimating Size Effort Calendar Schedule Availability factor

L.Ouyang, PSP, Lecture 7 Schedule estimating [h] [h] 1w2w3w4w5w6w7w Task 1Task 2Task 3

L.Ouyang, PSP, Lecture 7 Schedule estimating Project: ColorMap Data:

L.Ouyang, PSP, Lecture 7 Schedule estimating Project: ColorMap Data:

L.Ouyang, PSP, Lecture 7 Plan of the lecture IntroductionIntroduction From the previous lectureFrom the previous lecture Effort estimationEffort estimation Multiple estimatesMultiple estimates Schedule estimatingSchedule estimating Progress trackingProgress tracking

L.Ouyang, PSP, Lecture 7 Progress tracking Problem: how to track a progress when a sequence of tasks is rearranged? Earned Value Method: Each task is assigned a number of credit points. Each task is assigned a number of credit points. To earn the points assigned to a task, the task must be completed. To earn the points assigned to a task, the task must be completed. The points reflect ‘time complexity’ and are normalised to 1000 points.The points reflect ‘time complexity’ and are normalised to 1000 points. T1T2 T1T2

L.Ouyang, PSP, Lecture 7 Progress tracking Earned Value Method

L.Ouyang, PSP, Lecture 7 Progress tracking Project: ColorMap Data:

L.Ouyang, PSP, Lecture 7 Progress tracking Project: ColorMap Data:

L.Ouyang, PSP, Lecture 7 I’ve forgotten about I’ve forgotten about task T j !!! Progress tracking Adjusted EV: New_EV i = x1000 time i time j +  time k

L.Ouyang, PSP, Lecture 7 Progress tracking Project: ColorMap Data:

L.Ouyang, PSP, Lecture 7 Summary Effort estimation is based on size estimation. Three cases: Best case Middle case Worst case Multiple estimates Schedule estimating Earned Value Method

L.Ouyang, PSP, Lecture 7 Further readings W. Humphrey, A Discipline for Software Engineering, Addison- Wesley, Reading, 1995, Chapter 5.

L.Ouyang, PSP, Lecture 7 Quality assessment 1. What is your general impression ? (1 - 6) 2. Was it too slow or too fast ? 3. Did you learn something important to you ? 4. What to improve and how ?