Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M11 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.

Slides:



Advertisements
Similar presentations
Homework 3 Solution Lecture Packet 16 © John W. Brackett.
Advertisements

Effort Estimation and Scheduling
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Chapter 3: Modules, Hierarchy Charts, and Documentation
Chpter#5 -part#1 Project Scope and Human Resource Planning
Chapter 4 Design Approaches and Methods
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M30 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
The Comparison of the Software Cost Estimating Methods
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Software Project Planning Infsy 570 Dr. R. Ocker.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
The Art and Science of Estimating Software Development Cost Glenn Briskin Partner, Sierra Systems Group A. Nicklas Malik Technical Architect Certified.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
S/W Project Management
Week 5: Business Processes and Process Modeling MIS 2101: Management Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M29 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Week 2 Seminar: Project Scope Management
SE: CHAPTER 7 Writing The Program
Ch 4 - Learning Objectives Scope Management You should be able to: n Discuss the relationship between scope and project failure n Describe how strategic.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M14 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
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.
Quality Software Project Management Software Size and Reuse Estimating.
~ pertemuan 9 ~ Oleh: Ir. Abdul Hayat, MTI April 2009 [Abdul Hayat, Project Cost Management-1, Semester Genap 2008/2009] 1 PROJECT COST MANAGEMENT (1)
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
Project Cost Management
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
February 15, 2004 Software Risk Management Copyright © , Dennis J. Frailey, All Rights Reserved Simple Steps for Effective Software Risk Management.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
Copyright © Dennis J. FraileyDay 1 1/11/2004 CSE 7315 Software Project Planning and Management Dr. Dennis J. Frailey Principal Fellow Raytheon.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M18 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Project management Topic 2 Planning.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Chapter 7: Project Cost Management
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
CSE SW Project Management / Module 30 - Managing with Earned Value / Measurement Issues Copyright © , Dennis J. Frailey, All Rights Reserved.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M21 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Copyright © Dennis J. FraileyDay 5 8/8/2004 CSE 7315 Software Project Planning and Management Dr. Dennis J. Frailey Principal Fellow Raytheon.
Viking Estimation Team Assignment 13 Team 2-1. Content 1/ Introduction 2 / Wideband Delphi & COCOMO II 3 / The assemble task formula 4 / Wideband Delphi.
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.
CSE SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M14.
CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315 v3.0.
CSE SW Project Management / Module 11 - Overview of Size Estimating Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M11 Slide.
CSE SW Project Management / Module 18 - Introduction to Effort Estimating Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M18.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M20 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Information Technology Project Management, Seventh Edition Note: See the text itself for full citations.
Information Technology Project Management, Seventh Edition.
Project Cost Estimation and Management. Learning Objectives Understand the importance of project cost management. Explain basic project cost management.
Chapter 5: Software effort estimation
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 8/8/2004 Day 2, Part 1 Estimating Software Size Section 1 Estimating.
INFSY 570 DR. R. OCKER Software Project Planning.
Developing the schedule – Tracking Gantt charts Critical path method – Longest path, earliest time Schedule trade-offs using CPM – Free slack, total slack.
Project Cost Management
Managing the Project Lifecycle
Software Documentation
Chapter 2 SW Process Models
Personal Software Process Software Estimation
Chapter 5: Software effort estimation
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Presentation transcript:

Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M11 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project Module 11 Overview of Size Estimating

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Objectives of This Module  To examine why size estimating is useful  To discuss how to measure size  To review several categories of estimating methods

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version When do you Do Estimating  Before writing proposals –To get rough estimates in support of marketing efforts  When writing proposals –To develop a bid  When starting a project –Once you know the final terms of the contract and the budgets  During a project –When things have changed enough to justify updating the estimate Rough Estimates Good Estimates Better Estimates Even Better Estimates

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Detailed Planning - Processes Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost ScheduleOK Complete Detailed Planning Revise & Negotiate Not OK Estimate Size Estimate Effort and Cost

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Why Do You Need to Estimate the Size?  To help you estimate the effort, schedule and cost  And to help you estimate the memory requirements, if you need to know them  In theory, you could estimate effort and cost without knowing size –Since you know the tasks to be performed from the WBS, you can (in theory) compute effort and cost directly

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version How To Estimate Cost and Effort Without Estimating Size For each task, you determine effort and then cost, as follows: Task > Effort > Cost This is known as a “bottom up” estimating technique

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version TaskEffortx factorCost staff months$5000/sm$115, staff months$4000/sm$ 20, (3 trips)$1000/trip$ 3, _______________________ Total$435,000 “Bottom Up” Cost Estimating The highlighted tasks are to develop the software. Other tasks are for related activities required by SOW, etc.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version But Sometimes This is Not So Easy  In practice, the software development tasks may be hard to estimate in this fashion  It is very hard to estimate the effort to perform a software development task unless you know something about the size and the complexity of the software

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Moreover...  Large software projects cost more than small ones; complex software costs more than simple software  So you often need to estimate the size and complexity as part of the process of determining the effort required to develop the software

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version In Fact...  It may be easier and faster to estimate the effort to do a whole software project than to estimate the exact effort of performing each task  Example: -- How long will it take you to answer the questions on the test? vs. -- How long will it take you to answer each individual question?

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version “Short Cut” to Estimate Software Development Effort For Software Development Tasks: use software items rather than tasks: Software ----> Size > Effort > Cost Item & Complexity For Other Tasks: Task > Effort > Cost

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Estimating Software Development Effort SW ItemSizeComplexity File System2400 unitssimple User I/F3000 unitsmoderate _____ __________ _______ Total35,000 unitsmoderate Historical Data Effort Estimate

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Inputs to Size Estimate  What you must do (job analysis)  How you will do it (Initial Planning)  Past experience and data

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Good job analysis and initial planning will have identified all of these things and summarized them in the work breakdown structure (WBS) “What You Must Do” Inputs  Statement of work  System design information  Requirements of the software  Tasks to be Performed

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version “How You Will Do It” Inputs  How you will break it into software items  Programming language(s) to be used  Initial concepts of software design  Process and methods to be used for development  Reusable software information These are also identified during job analysis and initial planning

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version “Past Experience” Inputs  Prior experience on similar tasks is valuable in helping you estimate –People who have worked on something similar can be a good source - but they may be biased - or may be unavailable –Historical data can provide useful facts to counteract natural human biases  An organizational data base of past project experience is one of the best investments an organization can make

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Past History May Be Particularly Hard to Find Cindy Wilson did that the last time & she left the company last year. We never have time around here to write down what we learned.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version You May Have to Scramble to Get What Information You Can Hello, Cindy? Can you tell me about how big the user interface module was in project Zing? Hey, George! Who around here knows the most about the HP X123 test station? Anne, can you participate in an estimating session next week? Let’s look at the source code of the old data base module.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Size Estimating Concept Size Estimate WBS Source Documents (SOW, Requirements, Contract, Test Criteria, etc,) Estimate Size Past Experience & Data

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Size Estimate Step 1 - Determine the Gross Size Estimate Size for Each Distinct SW Item  Gross Size Estimate for All Software Items WBS etc.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Gross Size Estimate for All Software Items Equivalent Size Estimate for All Software Items Size Estimate Step 2 - Evaluate the Impact of Reuse Analyze Impact of Reuse

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Risks of Size Estimating 1) Statistical variance & fundamental inaccuracy of estimating methods –Multiple methods are recommended to increase confidence 2) Biases due to lack of knowledge, optimism, etc. –The earlier in the lifecycle, the less accurate the estimates –Therefore, plan to update estimates when you have more facts

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version  Accurate estimates are seldom attained, especially early in the lifecycle –Early estimates tend to be underestimates  The goal of estimating is –to help plan the project –to educate estimators –to manage risk Warning -- Estimate = Goal You don’t need a perfect prediction to manage a project effectively

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Units of Size

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version How Would You Measure the Size of a House?  Square Feet  Number of bedrooms, bathrooms, garages, etc  Number of floors  Size of lot required to build it ... What are the advantages and drawbacks of each measure?

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Important Questions  What unit will you use to measure size? –It should be related to effort  How will you define it? –Everyone should be measuring the same thing  How will you measure it? –Can you measure it accurately? –Can you measure it easily? These questions are important whether you are measuring the size of houses or software

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version The decision about which unit is best should be based on the suitability of a unit to your application domain Some Possible Units of Size for Software  Lines of Code –Which ones count? –Do comments count?  Functions performed  Objects in the design  Required bytes of computer memory  Number of requirements  Web pages

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version How to Decide Between Options?  Are data available to help you estimate? –previous, similar projects are best  Is your unit of measure suited to the application & your organization’s processes?  How easy is it to measure? Consistency between projects is more important than the measure itself.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Keep the Goal in Mind  The primary goal of a software size measure is to help you estimate effort  A secondary goal is to help you estimate how much memory you need to hold the software  The goal is not to have the most precise and perfect unit for measuring size –Don’t get hung up in debates about what unit to measure –If it works, use it

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version How to Define a Unit - Example - What Is a Line of Code?  Source line images? –80 characters/carriage return character  Source statements? –Semicolons (in some languages)  Do comments count? (usually not)  Data Declarations? (usually yes)

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Notes Most methods of size estimating will work with just about any size unit you choose We will often illustrate the process with “lines of code”, and will later discuss other units

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Estimating Methods and Models Note: Except where noted, these methods can be used for estimating size OR effort.

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Analogy Models –Compare with past experience History is a good ally –But truly similar models seldom exist –Use as a baseline for “sanity” checks or when no other method is available Categories of Estimating Methods Stukes, Sherry, “A Guide to Cost Estimation for Space Systems Software,” Management Consulting and Research, 1995/1999

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Expert Judgment Models –Consult with experts Examples:  Hire a consultant  Wideband Delphi –Good for new, unique & different situations –High risk of biased/insufficient knowledge –Use in conjunction with other models Categories of Estimating Methods (continued)

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Prototyping –Build a model of the parts that are riskiest or least well understood Prototypes take time –But they can answer questions raised by other estimating methods Categories of Estimating Methods (continued)

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Bottom-up Models –Estimate each component –And add them all up Expensive and time consuming, but –Good for tracking costs later –“Buy-in” from developers –Use if data and time are available –Won’t work if you lack key information –Ignores integration/support Categories of Estimating Methods (continued)

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Categories of Estimating Methods (continued) 5. Top-Down Models –Estimate based on general characteristics of application, environment, personnel, etc. –Normally these are used for effort, not size Examples: Cocomo, Price-S, SEER, etc. –Fast, easy to use, requires little detail, captures system costs –Less accurate and stable than bottom-up –Does not foster buy-in to estimate –Use - but calibrate to your own data

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Architecture of Spreadsheet for assignments 3 and 4 Model Based Effort Estimate Other Effort Estimates... Analogy based Size Estimate Software Reuse Analysis Size / Reuse EffortEffort & Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Expert Based Size Estimate

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Architecture of Spreadsheet for assignments 3 and 4 Model Based Effort Estimate Other Effort Estimates... Analogy based Size Estimate Software Reuse Analysis Size / Reuse EffortEffort & Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Expert Based Size Estimate This diagram serves as a guide to the next several modules

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version Module Summary  Size estimates help you estimate effort and memory size  They can also be helpful for tracking (this will be shown in later modules)  Most estimating methods benefit from past experience or history data  Units of size should be chosen based on availability of data in those units

Copyright , Dennis J. Frailey CSE7315- Software Project Management CSE7315 M11 - Version END OF MODULE 11