Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George.

Slides:



Advertisements
Similar presentations
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
Advertisements

Effort Estimation and Scheduling
Process Database and Process Capability Baseline
Software Process Models
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
Chapter 26 Estimation for Software Projects
Project Closure Report Basker George. Project Closure When does a project end? Does it end when the software has been delivered to customer & acceptance-tested?
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
The Comparison of the Software Cost Estimating Methods
Iterative Process Planning
What is a project? Project Management Institute definition
GPII-2A Planning a software project: Estimation & Measurement.
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.
Project Plan Development
What is Project Cost Management?
LSU 10/09/2007Project Schedule1 The Project Schedule Project Management Unit #4.
LSU 07/25/2004Estimating Costs1 Estimating Project Costs & Time Project Management Unit, Lecture 5.
HIT241 - COST MANAGEMENT Introduction
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Life Cycle Model
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
PROJECT DATABASE(PDB) & PROCESS CAPABILITY BASELINE(PCB) Presented By Basker George.
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
BSBPMG402A Apply Time Management Techniques 1 Apply Time Management Techniques Week 6 Project Time Processes – Part 2 C ertificate IV in Project Management.
Chapter 6 : Software Metrics
Recap from last week Understand organizations, including the four frames, organizational structures. Explain why stakeholder management and top management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Project Monitoring ( 监测 ) And Control Presented by Basker George.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Software cost estimation Predicting the resources required for a software development process 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Teaching material for a course in Software Project Management & Software Engineering – Part I.
Quality Planning And Defect Estimation Presented by Basker George.
Applied Software Project Management LESSON 3: ESTIMATION Applied Software Project Management 12:02:37 PM 1.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Quality Software Project Management Software Size and Reuse Estimating.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Chapter 3: Software Project Management Metrics
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Project Planning Goal 1 - Estimates are documented for use in tracking and planning project. Goal 2 - Project Activities and commitments planned and documented.
SOFTWARE PROJECT MANAGEMENT
Chapter 05 Quality Planning SaigonTech – Engineering Division Software Project Management in Practice By Pankaj Jalote © 2003 by Addison Wesley.
BSBPMG503A Manage Project Time Manage Project Time Project Time Processes Part 2 Diploma of Project Management Qualification Code BSB51507 Unit Code.
Creating a Work Breakdown Structure with Microsoft Project.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
بشرا رجائی برآورد هزینه نرم افزار.
Chapter 33 Estimation for Software Projects
Project Cost Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
Teaching slides Chapter 3.
Rest of Project Management
Software life cycle models
What is Project Cost Management?
COCOMO Models.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation & Scheduling Most difficult & important activities in managing project Important estimate : Effort, Schedule & Cost If effort estimate is available, it is easy to determine schedule estimate. Hence for effective planning, effort & schedule estimate is required for the project & various task of project.

Effort Estimation & Scheduling The contract between Vendor & Customer is based on cost & schedule Estimates. In case there is a project overrun ( 蔓延 ) the customer will not pay more Hence good estimation is essential for any software organization. Without good EFFORT estimate, effective planning of software project is not possible.

Effort Estimation & Scheduling A proper effort estimation method is a requirement for Software Project Planning KPA of CMM level 2. “ Good estimation method are available for projects ” is the requirement of “ Integrated Software Management ” KPA of CMM level 3. Use of past estimation data for future projects is the requirement for “ Quantitative Process Management ” KPA of CMM Level 4.

Effort Estimation Effort estimation usually takes place at the early stage of the project Effort estimation can rely on “ gut feeling ” or previous experience (CMM level 1) A scientific approach is to use a estimation model for obtaining the effort estimates We shall study the estimation models

Effort Estimation Model ( 型 ) A software estimation model defines precisely which values are needed & how these values can be used to compute the effort. Size of the software is a major factor in determining how much effort is needed to build it.

Cont …… Hence with the estimation of size, we can estimate the efforts One approach for estimating size is to decompose ( 分解 ) the system into smaller parts & then estimate the size of the system based on size of its parts.

Cont …… This approach is preferred, as estimating size for smaller system is easier than carrying out the same task for a larger system. If function points are used for size, then the size in function points can be counted using function point rules. The size can also be counted in terms of LOC

Knowledge about Software project Extract values of some characteristic Estimation Model Effort Estimate

Top-Down Approach In Top-Down approach for estimation of effort, some equation is used to estimate the total effort required for entire project. Then the efforts for different phase are determined as percentage of the total effort. COCOMO model is the most famous model for effort estimation using top-down approach.

Bottom-Up Approach In this approach, the estimate is first obtained for parts of the project, then the overall estimate is obtained. That is, major activities are identified & then estimation is done for each activity. Form this estimate, the effort for overall project is obtained. This approach does not require size to be estimated.

Bottom-Up Approach This approach can be used without the use of past data. Experience may be used to estimate the effort required for activity. This approach is also used when a project involves mix of different software language & technologies, making size estimation difficult.

Bottom-Up Approach The risk involved in bottom-up approach are: Miss some important activity Difficult to estimate task overhead (project management which can span the entire project)

Conclusion Both top-down & bottom-up approach require information about the project to estimate Size for Top-Down approach List of task for Bottom-Top approach Both types of estimates become more accurate if more information is available about the project or as the projects proceeds.

Building Estimation Models Size based Top-Down estimation model are generally built from data taken from completed projects Many factors affect the effort required for a project. There are around 68 factors that affect productivity.

Building Estimation Models The COCOMO model first estimates the efforts based on size & then correcting the estimates based on the values of 15 different parameters Complexity Database size Performance requirement etc..

Estimation at Infosys At infosys estimation takes place after analysis For projects that has little past data, bottom-up approach is used. As the types of projects undertaken at Infosys vary substantially, the bottom up approach is preferred & recommended. If past data & capability baseline is available, then task based approach is used.

Estimation at Infosys For Bottom-Up approach, the software under development is first divided into major program (or Units). Each program unit is classified as simple, medium & complex based on some criteria. For each classification some standard “ Build effort ” (coding & testing) is identified.

Estimation at Infosys Once the Build effort for each program unit is known, then total effort for BUILD PHASE of the project is known. Once the effort for coding is known, the efforts for other phase of project is determined as percentage of coding effort. From these estimates the total efforts for the project is obtained.

Steps for Estimation. 1. Identify programs in the system & classify them as Simple, Medium & complex(S/M/C). 2. If PCB exists, Get average build effort for S/M/C program from baseline. 3. If project-specific baseline does not exists, use project type, technology, language & other attributes to look for similar projects in PDB. Use data from these projects to define the build efforts for S/M/C programs.

Steps for Estimation. 4. If no similar projects exists in PDB & no project specific baseline exists, (say project is new technology), use average build efforts for S/M/C programs from the general process capability baseline. 5. Use project-specific factors to further refine the build effort for S/M/C programs.

Steps for Estimation. 6. Get the total build effort using the build effort for S/M/C programs. 7. Use the effort distribution data in the capability baseline or similar projects in the PDB to estimate the efforts for other tasks & the total effort. 8. Refine the estimate based on project- specific factors.

Effectiveness of the approach A common way of analyzing the effectiveness of an estimation approach is to see how the estimated effort compares with the actual effort. This comparison give a general idea about the accuracy of estimates That is weather programmers were overstretched or underutilized.

Actual versus estimated effort

Top Down Estimation This approach starts with the estimation of size of the software. The size is estimated in terms of function points or LOC

Top Down Estimation overall approach 1. Get the estimate of total size in function points 2. Use productivity data in the process capability baseline for similar process type or productivity data in the process database for similar projects to fix productivity level for the project. 3. Obtain the overall effort estimate from productivity & size estimates.

Top Down Estimation 4. Use effort distribution data from the process capability baseline (or similar projects)_to estimate the effort for different phases. 5. Refine the estimates, taking project- specific factors into consideration

Scheduling ( 时序安排 ) Scheduling activity can be broken into two sub activity 1) Determine overall schedule (project duration) with milestone 2) Detail schedule of various tasks

1) Overall Scheduling Once the effort is known, the various schedule are determined depending upon resources(people). Overall schedule for the project is driven more by the business requirement of customer. Also schedule for major milestone is also fixed.

Manpower BuildUp Peak Team Size Design Build Test

Actual versus estimated efforts for recently completed projects

2) Detailed Schedule The detailed schedule is determined by refining each task in the top-level schedule. Each activity under top-level activity is scheduled in a manner such that the schedule for the top-level activity can be met.

Cont … The final schedule lists all the task to be done in the project, along with start date, end date, assigned personnel & other information for each task. For detailed scheduling features of MSP (Microsoft Project) can be used.

Cont.. For each activity listed in MSP Activity code Program code Module code The effort Duration Start date End date resources needed and resource dependency (same resource by two task) are also specified

Cont.. After all these inputs are entered, the resource loading analysis is performed using MSP MSP eventually gives Loading of resources Hence if some activity are overloaded or under loaded, activity or resource can be modified for balanced load. As changes occur, MSP is also kept current to reflect the actual status of the project. This schedule is useful as a key in project monitoring & control system.