Effort Estimation and Scheduling

Slides:



Advertisements
Similar presentations
Process Database and Process Capability Baseline
Advertisements

Software Process Models
1 Estimating Software Development Using Project Metrics.
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?
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
The Comparison of the Software Cost Estimating Methods
Estimates Uncertainties Unknown  Project development costs  Project development schedules  Team size  Amount of software to be developed  Hardware.
Estimates Uncertainties Unknown  Project development costs  Project development schedules  Team size  Amount of software to be developed  Hardware.
GPII-2A Planning a software project: Estimation & Measurement.
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CSC 395 – Software Engineering
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.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
PROJECT DATABASE(PDB) & PROCESS CAPABILITY BASELINE(PCB) Presented By Basker George.
ELP Helper MSE Project Presentation I Aghsan Ahmad Major Professor: Dr. Bill Hankley.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
Chapter 6 : Software Metrics
Recap from last week Understand organizations, including the four frames, organizational structures. Explain why stakeholder management and top management.
Project Monitoring ( 监测 ) And Control Presented by Basker George.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
Rev. 0 CONFIDENTIAL Mod.19 02/00 Rev.2 Mobile Terminals S.p.A. Trieste Author: M.Fragiacomo, D.Protti, M.Torelli 31 Project Idea Feasibility.
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 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.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Quality Planning And Defect Estimation Presented by Basker George.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Applied Software Project Management LESSON 3: ESTIMATION Applied Software Project Management 12:02:37 PM 1.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Quality Software Project Management Software Size and Reuse Estimating.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George.
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 Project Estimation IMRAN ASHRAF
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Estimation QMS Training. Objective To arrive at accurate estimates for the project Mahindra Satyam Confidential2.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Project Management
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
Project Planning Goal 1 - Estimates are documented for use in tracking and planning project. Goal 2 - Project Activities and commitments planned and documented.
Lecture 6 Title: Project Cost Management MIS 434.
SOFTWARE PROJECT MANAGEMENT
Chapter 05 Quality Planning SaigonTech – Engineering Division Software Project Management in Practice By Pankaj Jalote © 2003 by Addison Wesley.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
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
Lecture 2 Introduction to Programming
By Dr. Abdulrahman H. Altalhi
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
Software Development & Project Management
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Software life cycle models
MGT 605: CH 04 Defining the Project.
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,
Ch. 13: Supply Chain Performance Measurement: Introduction
Software Effort Estimation
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Effort Estimation and Scheduling

Introduction A proper effort estimation method is a requirement for the software project planning KPA of CMM level 2 Effort estimation usually takes place during the early stages of project It relies on a gut feeling or on previous experience The desired approach is to use some estimation model for obtaining effort estimates

Effort Estimation Models The basic activity of estimation is to get the input in the form of some values of software and using these input values, estimate the effort of the project A software estimation model defines which values it needs and how these values are used to compute the effort Effort estimation model is a function that takes some inputs and outputs the effort estimate With the estimate of size, an estimate of the effort can be obtained, frequently by using some equations One approach for estimating the size is to decompose the system into smaller parts and estimate the size of the system based on the size of the parts

Estimation Model Effort Estimate Extract Estimation Model Knowledge about s/w project Effort Estimate Extract Estimation Model Values of some characteristics

Top-Down & Bottom-Up Approaches A common approach is to use some simple equation to obtain an estimate of the overall effort from the size Once the overall effort for the project is known, then the effort for the different phases or activities are determined as percentages of total effort. This approach is called top-down approach for estimation. In this strategy, the overall effort is first estimated from size, then broke down for the activities and the phases in the project. Some top-down models have been proposed. They are COCOMO model In bottom-up approach, the estimates are first obtained for the parts of the project, then the overall estimate is obtained

Building Estimation Models Top-down estimation models are built from data taken from completed projects. For the completed projects, the actual size of the software and the actual effort expended are known These values are then used to build a size-based effort model that best fits the data When using these models to estimate effort for a project, the size of the software must initially be estimated from whatever information is available at that time

Bottom-Up Estimation At infosys, estimation takes place after analysis For a projects that are well defined and that may follow different types of processes for which a little past data may be available, a bottom up approach is a better choice

Estimation Approach In infosys’s bottom-up approach, the software under development is first divided into major programs This steps occurs during requirement analysis or HLD of the system Each program unit is then classified as simple, medium or complex based on some criteria For each classification unit, some standard effort for coding the unit and self testing is identified Once the number of units in three categories of complexity are known, and the estimated build effort for each program of selected, then the total effort for the build phase of the project is known This method estimates how much time it will take to code the programs Once the effort for coding is known, the effort required for the other phases and activities of the project is determined as a percentage of the coding effort

Continue… From the PCB or PDB, the distribution of effort in a project is known This distribution is used to determine the effort for the other phases and activities From these estimates, total effort for the project is obtained The procedure for estimation includes the following steps: Identify the programs and classify them as simple, medium or complex If a project specific baseline exists, get the average build effort for S/M/C programs from the baseline If a project specific baseline does not exist, use project type, technology, language, and other attributes to look for similar projects in PDB, use data from these projects to define the build effort of S/M/C programs. If no similar project exists in PDB and no project specific baseline exists, use average build effort for S/M/C programs from PCB

Continue… Use project specific factors to further refine the build effort for S/M/C programs Get the total build effort using the build effort of S/M/C programs and counts for them Use the effort distribution data in PCB or similar projects in PDB to estimate the effort for other tasks and the total effort Refine the estimates based on project specific factors

Criteria for classification of program units The basic scheme of classifying units is simple, medium and complex

Effectiveness of the Approach The common way to analyze the effectiveness of an estimation approach is to see how the estimated effort compares with the actual effort Use of bottom-up method requires a way to capture accurate effort data from projects For completed projects, the PDB includes information on the be estimated effort as well as actual effort.

Top-Down Estimation Although many projects use the bottom-up estimation method, a project can also use a top-down approach for estimation This approach is frequently used for conversion projects in which the size of the existing system to be converted is known precisely An approach starts with an estimated size An overall approach for top down estimation involves the following steps: Get the estimate of the total size of software in function points Use the productivity data in PCB for similar process type or the productivity data in PDB for similar projects to fix the productivity level for the project Obtain the overall effort estimate from productivity and size estimates Use effort distribution data from PCB to estimate the effort for different phases

Continue… Refine the estimates This approach also allows the estimates to be refined This acknowledges that each project is unique and may have some characteristics that do not exists other projects

Scheduling Scheduling can be broken down into two activities: determining the overall schedule with major milestones Deciding the detailed schedule of various tasks

Overall scheduling Developing guidelines for scheduling is somewhat difficult than building guidelines for effort estimation Once the effort is known various schedules are possible depending upon the number of resources of the project Generally there are fewer people in the starting and ending phases with the maximum people during build phase During the build phase, the peak time size (PTS) for the project is usually achieved

Continue… --------- Peak team size Manpower buildup design build test

Effectiveness of the approach One way of checking the schedule estimates is to plot the actual schedule against the estimated schedule and see how close the points are to the 45-degree line If they all fall very close to 45 degree line then the scheduling approach is very “effective”

Detailed Scheduling Once the high level schedule is fixed, then the overall project duration and the major milestones are known As the effort required for the various phases is also known, the resource requirements for the various phases can be determined easily Once the milestones and the resources are fixed, then the detailed scheduling is set In setting the detailed schedule, the tasks in the overall schedule are broken down into small schedulable activities in a hierarchical manner For detailed scheduling features of MSP are used