Software Cost and Schedule Estimation [and Tracking] By: Richard D. Stutzke Presenter: Stephen Lopez-Couto.

Slides:



Advertisements
Similar presentations
Project Cost Management Chapter 7
Advertisements

Software Quality Assurance Plan
1 SW Project Management (Planning & Tracking) Dr. Atef Z Ghalwash Faculty of Computers & Information Helwan University.
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Managing Project Scheduling. What is Project Scheduling? The process of: – defining project activities – determining their sequence – estimating their.
Introduction to Project Management Chapter 6 Managing Project Scheduling Information Systems Project Management: A Process and Team Approach, 1e Fuller/Valacich/George.
© The McGraw-Hill Companies, Software Project Management 4th Edition Monitoring and control Chapter 9.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Degree and Graduation Seminar Scope Management
Project Cost Management Estimation Budget Cost Control
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
National Aeronautics and Space Administration ANSI/EIA-748-B Earned Value Management Systems (EVMS) 32 Guidelines ANSI/EIA-748-B Earned Value.
Dr. L. K. Gaafar The American University in Cairo
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project Time Management
Project Management Session 7
Time and Cost Estimation
ANSI/EIA -748 EVMS 32 Guidelines National Aeronautics and Space Administration.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Chapter 3 Project Management
Cost Management Week 6-7 Learning Objectives
S/W Project Management
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
PPMT CE-408T Engr. Faisal ur Rehman CED N-W.F.P UET P.
This document is proprietary to Project Consulting Group, Inc. and contains confidential information which is solely the property of Project Consulting.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Lecture 3 Scheduling CSCI – 3350 Software Engineering II Fall 2014 Bill Pine.
Setting Your Fees Project Cost and Setting Your Fees.
Cost and Time Control. Project completed on time and on budget –Want to get done early –Lower costs –More profit.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
Lecture 7. Review of Lecture 6 Project Scheduling: The process of defining project activities, determining their sequence, estimating their duration Scheduling.
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.
Software Project Management (SPM)
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Lecture 6. Review of Lecture 5 Company strategic planning: mission and objective statements and competitive strategy. Planning Methods: Top-down, Bottom-up.
Project Life Cycle.
Quality Software Project Management Software Size and Reuse Estimating.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software 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.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
SOW / Open Workbench By Wilmer Arellano Summer 2013.
Copyright 2010, The World Bank Group. All Rights Reserved. Statistical Project Monitoring Section A 1.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
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.
UU Master Class Earned Value 17 July Earned Value Contents What is Earned Value / Earned Value Analysis Why and where is it used A brief history.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Project Setup and Execution For PMPlan Enterprise Presented by AlNik Solutions Copyright ©
Chapter 12 Auditing Projects.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Microsoft Project 2010 ® Tutorial 4: Assigning Resources and Costs.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Asset accounting-29.pptx This course will give an overview of the following Workbreakdown Structure Network Project Builder Project Planning.
SOFTWARE PROJECT MANAGEMENT
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
Information Technology Project Management, Seventh Edition Note: See the text itself for full citations.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
© 2008 Prentice Hall6-1 Introduction to Project Management Chapter 6 Managing Project Scheduling Information Systems Project Management: A Process and.
Project Cost Management
ANSI/EIA-748-B Earned Value Management Systems (EVMS)
Project Management MGT 30725
Copyright All Rights Reserved by
Software Documentation
Information system analysis and design
Presentation transcript:

Software Cost and Schedule Estimation [and Tracking] By: Richard D. Stutzke Presenter: Stephen Lopez-Couto

Discussion Topics Introduction Creating an Estimate Identification Size Productivity Parametric Models Risks Scheduling Costing Putting the Estimate Together “Good Ideas” for Improving Estimates Tracking Execution Managing Estimate Changes Conclusion

Introduction The main purpose of the paper is to present approaches for deriving an estimate of the cost and schedule of a software project Discusses methods to track and alter the estimates as development progresses Discusses ways to get a project back on track after changes have been made to a schedule

Creating an Estimate… Estimates Generally focus on labor hours, quantity of materials and amount of services, not the cost This is computed later Requires determining the work required to meet requirements and the effort required to perform that work

Creating an Estimate… Step 1: Identify the tasks They fall under four main categories: 1. Engineering 2. Program Management 3. Configuration Management 4. Quality Assurance Tasks are recorded in a Work Breakdown Structure (WBS) Hierarchically identifies all tasks in a project Each successive layer should be more descriptive than its parent For a software project, the lowest level should be detailed enough to show class names This is not always possible, or even necessary

Creating an Estimate… Step 2: Estimate the resources required per task There are many types of resources (that are often billed differently) Materials Subcontracted Items Travel Labor (the biggest one) The focus of the paper is mainly applied to estimating labor based on the engineering (development) efforts

Creating an Estimate… Step 3a: Estimating the Software Development Effort Basic Method E = S/P (Estimate = Size/Productivity) The hard part is determining the size and productivity variables Estimating Size – three main factors 1. Units of measure 2. Software included in the measurement 3. Amount of reused code Reused code is generally counted differently than newly written code Must track code Added, Changed and Deleted from the reused code

Creating an Estimate… Step 3a Continued… Estimating Productivity – An aggregate of the capabilities of the development team Often based on historical project data New project must use the same size measure and must be implemented with equivalent approaches - same programming language, platform, etc. There are a lot of variables that are difficult to quantify that play a role in this estimate Diseconomy of scale – project size and productivity are inversely related

Creating an Estimate… Step 3b: Estimating the Software Development Effort Parametric Estimation Methods Some algorithm is used to determine the estimation based on some set of independent inputs Algorithm and Inputs must be created by an expert estimator and tested to fit legacy data Based on theory, experience and expert judgments Algorithms can change between evaluations for the different lifecycle phases or components RA, design, test, etc.

Creating an Estimate… Step 3b: Parametric Estimation Methods…Continued Allocations can be automatically made against WBS items to provide schedule detail along with cost Performance: Validation and calibration of the method is very important Models calibrated against general industry data usually provide estimates within 20% of the actuals Models calibrated with an organization’s own historical data provide estimates within 5% of the actuals These models ONLY provide an estimate of the SW development activities, not the other tasks and items that form a complete estimate

Creating an Estimate… Step 4: Estimating Risks Risks are areas that are identified as possible causes of problems in the future Severity is determined by two variables Likeliness of occurrence Impact if it occurs Generally a label of High, Medium or Low is applied to the risk based on those variables Main Risk areas are: Cost, Schedule, Technical and Business During estimation creation a lot of the system risks should become apparent Additional effort should be added to the proposal to track and handle these risks Often taken care of with “Management Reserve”

Scheduling Tasks When all of the tasks are identified and decomposed a schedule must be created Generally based on the WBS (if it goes down to the appropriate level) May also be based on outputs of detailed design There are often multiple related schedules created with each representing a greater level of detail Highest level shows major milestones A milestone is an event that will occur at a specified date Lowest level shows individual tasks creation of specific classes

Scheduling Tasks Dependency checking is important when creating a schedule Some tasks have prerequisites that must complete before they can begin Others are completely independent Which means they can be worked in parallel Creating a Schedule does four main things 1. Sequences tasks Requires analyzing dependencies 2. Assigns resources to tasks Not specific people, but notional resources 3. Calculates the length of the tasks Critical Path is the length of time for the longest path through the schedule. This is the program time to complete. 4. Compares interim milestones with those from the master schedule It is important to ensure that the schedule begins and ends cleanly, with no dangling tasks

Costing Tasks Converts the effort calculated previously into actual dollar amounts Must take into account the classification of each person working on the tasks Jr. Engineer, Lead Engineer, Program Manager, etc. Each of these roles are costed at different base amounts So two Jr. Engineers may make different amounts of money, but the customer is charged a single “Jr. Engineer” rate Work is charged based on a loaded labor rate This rate (generally per hour) includes not only the cost of the salary for the employee, but additional costs that cover things such as Profit Contracts, IT (and other support departments) Overhead

Putting The Estimate Together The final estimate is put together by a business office within the organization Inputs are required from lots of others Planners and Engineers define the job Engineers and estimators determine the resources required Business office calculates the real costs Schedulers create the schedule Managers evaluate the results and set the total price They must work in profit and other costs that may affect the project in the future Such as adjustments to labor rates

Improving Estimation Accuracy Some “Good Ideas” for improving estimations Understand the requirements Ensure that the appropriate development environment, programming language, etc. are used Collect and use legacy project data Validate the estimation technique against industry or organizational data Mix estimating techniques and see where and why they produce different results

Tracking Expenditures Control accounts are created to logically split up the total project funding among the many tasks Charge codes are setup so that labor can be charged against the funding in the control accounts For overhead and other support purchases there is generally a “buyer” that all requests must go through This allows a greater ability to track expenditures on these types of items

Tracking and Updating To track the progress of development three sources of data are used 1. Overall project plan 2. Cost accounting data 3. Project status These sources provide inputs into the Earned Value variables BCWS – Budgeted Cost of Work Scheduled ACWP – Actual Cost of Work Performed BCWP – Budgeted Cost of Work Performed ACWP > BCWP = Over Budget BCWS > BCWP = Over Schedule

Managing Estimates During Execution Initial estimates are used to acquire initial funding But in software projects these often change throughout the development process The progress of the development must be closely tracked to determine when things have gone awry When changes must be made the following options are available: Reinterpret the requirements (work with customer) Apply COTS or reuse instead of new build Use automated tools Revise WBS element development resources Change development sequencing Possibly change model to an iterative one Apply additional resources to tasks

Caveats to Using Additional Resources Some software components take a minimum amount of time to complete…no matter how many people work on it Insert overused baby in nine months joke here Mythical Man Month It is often worse to apply additional resources to a software development team when in a crunch They must be trained They don’t have experience with the component Often causes a greater slip in the development Additional resources are not free The money to pay for them must come from somewhere, usually another component in the system

CAIV and SAIV Cost as an Independent Variable Used to determine what items will be built and when they will be completed based on the funding available Schedule as an Independent Variable Used to determine what items will be built and what they will cost based on the schedule that must be met

Conclusion Good primer on estimations of software size and cost Left out additional costs such as Design Test Are these “rolled in” with the coding cost in the general case? End focus on tracking and adjusting cost/schedule was useful, but somewhat out of place

Questions Questions?