Chapter 5: Software effort estimation

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
By: MSMZ. Objective After completing this chapter, you will be able to: Explain 2 contract review stage List the objective of each stage of the contract.
 Chapter 6: Activity Planning – Part 1 NET481: Project Management Afnan Albahli.
Activity-Based Costing: A Tool to Aid Decision Making
Ch 5 – Activity based accounting
Metrics for Process and Projects
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
The Comparison of the Software Cost Estimating Methods
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Software project management (intro)
GPII-2A Planning a software project: Estimation & Measurement.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Measuring process attributes. Good Estimates Predictions are needed for software development decision-making (figure 12.1) A prediction is useful only.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Project Time Management
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Chapter 2 A Strategy for the Appraisal of Public Sector Investments.
HIT241 - COST MANAGEMENT Introduction
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
6-1 Copyright © 2013 McGraw-Hill Education (Australia) Pty Ltd Pearson, Larson, Gray, Project Management in Practice, 1e CHAPTER 6 Estimating Project,
Cost Management Week 6-7 Learning Objectives
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Software Project Management Fifth Edition
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
Project Management Project Planning Estimating Scheduling.
©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.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Chapter 4: Project Cost Management
Software cost estimation Predicting the resources required for a software development process 1.
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.
Time Management Personal and Project. Why is it important Time management is directly relevant to Project Management If we cannot manage our own time.
~ pertemuan 9 ~ Oleh: Ir. Abdul Hayat, MTI April 2009 [Abdul Hayat, Project Cost Management-1, Semester Genap 2008/2009] 1 PROJECT COST MANAGEMENT (1)
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
Measurement (II)1 Measurement - Productivity, Estimation, Effort Advanced Software Engineering COM360 University of Sunderland © 1998.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Chapter 13: Software Quality Project Management Afnan Albahli.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 7: Project Cost Management
Software Project Management
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
Project Cost Estimation and Management. Learning Objectives Understand the importance of project cost management. Explain basic project cost management.
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Project Cost Management
Software Project Management 4th Edition
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Project Management 4th Edition
Constructive Cost Model
Software Development & Project Management
UNIT-3 Software Effort Estimation
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Chapter 23 – Project planning
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Project Management 4th Edition
Software Cost Estimation
Presentation transcript:

Chapter 5: Software effort estimation NET481: Project Management Afnan Albahli

Topics to be covered Difficulties of Estimation‭ ‬ Where are estimates done? Problems of over- and under- estimate Estimation techniques SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

What makes a successful project? Delivering: agreed functionality on time at the agreed cost with the required quality Stages: 1. set targets 2. Attempt to achieve targets BUT what if the targets are not achievable? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

What makes a successful project? Targets are set for a project and the project manager tries to meet them A project manager has to produce‭: An estimate of the effort‭. An estimate of the activity durations‭. An estimate of effort‭ affects Cost activity durations‭ affects The delivery time

Some problems with estimating Nature of software‭. ‬ Complexity and invisibility of software‭. Subjective nature of much of estimating Over-estimating small tasks and‭ Under-estimating large ones‭. Managers may wish to reduce estimated costs in order to win support for acceptance of a project proposal ‬ ‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Some problems with estimating Changing technologies Technology is rapidly changing‭, ‬making the experience of previous‭ ‬project estimates difficult to use in new ones‭. ‬ Projects differ Experience on one project may not be applicable to another SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Where are estimates done‭? Estimates are carried out at different stages of a software‭ project for a variety of reasons‭. Feasibility study‭ Estimates here conforms that the benefits of the potential system will justify the costs‭ ‬ Strategic planning‭ Project portfolio management will involve‭: Estimating benefits and costs of new applications‭ (‬projects‭) ‬to allocate priorities‭. Such estimates may also influence the scale of development staff recruitment ‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Where are estimates done‭? System specification‭ Design shows how user requirements will be fulfilled‭. Estimating The efforts needed to implement different‭ design proposals‭. Estimates at the design stage will also confirm that the feasibility study is still valid‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Where are estimates done‭? Evaluation of suppliers proposals‭ Potential contractors would examine the system‭ specifications and produce estimates‭ (‬their bid‭). ‬ ‬ليضع المتعاقدين المحتملين الصرفية The manager can still produce his own estimates why‭? ‬ To question a bid that for instance that seems too low‭ which could be an indication of a bad understanding‭ of the system specifications‭. Or to compare the bids to in-house development SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Where are estimates done‭? Project planning As the planning and implementation of the project‭ becomes more detailed ‬ More estimates of smaller work components will be‭ made SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Over- and under- estimating An over-estimate is likely to cause project to take longer than it would otherwise This can be explained by the application of two laws‭: Parkinson’s Law: ‘Work expands to fill the time available’ Thus‭, ‬e.g‭. ‬for an easy task over estimating the duration required to complete it will cause some staff to work less‭ hard to fill the time‭. Brook’s Law‭: ‬putting more people on a late job makes it‭ later So overestimating the effort required to perform a task‭ (‬activity‭) ‬means more staff assigned to it than needed‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Over- and under- estimating Underestimating a project‭: Can cause the project to not be delivered‭ on time or cost but still could be delivered faster than a more generous estimate On the other side the danger of underestimating a project is the effect on the quality ‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Basis for successful estimating The need for historical data‭. Most estimating methods need information about past projects Care has to be considered when applying past performance to new projects because of possible‭ differences in factors such as‭: Different programming languages Different experience of staff‭‭ Different terminology There are international Data Base containing data about thousands of‭ projects that can be used as reference‭‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Basis for successful estimating Measuring work‭. The time and cost to implement software depends on‭: The developer’s capability and experience The technology that will be used‭ The usual practice is to start by expressing work size ‭‭independently of the effort‭, using measures such as: (‬a) SLOC OR KLOC‭: ‬Source lines of code or thousands of lines of‭ code (‬b) Alternative size measure is Function Points‭ (‬FP‭) SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

A taxonomy of estimating methods Bottom-up - activity based, analytical Parametric or algorithmic models e.g. function points Expert opinion - just guessing? Analogy - case-based, comparative Parkinson and ‘price to win’ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Bottom-up versus top-down use when no past project data identify all tasks that have to be done – so quite time- consuming use when you have no data about similar past projects Top-down produce overall estimate based on project cost drivers based on past project data divide overall estimate between jobs to be done SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Bottom-up estimating 1. Break project into smaller and smaller components 2. Stop when you get to what one person can do in one/two weeks 3. Estimate costs for the lowest level activities 4. At each higher level calculate estimate by adding estimates for lower levels SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Top-down Estimation‭ It is associated with parametric or algorithmic models‭. A formula for a parametric model‭: Effort‭ = (‬System Size‭) * (‬Productivity Rate‭) The model of forecasting the SW development effort has two components System size is a method of assessing the amount of‭ work Productivity rate is a method of assessing the rate of‭ work at which the task can be done‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Top-down Estimation‭ Example: System Size‭ = ‬3‭ ‬KLOC‭.‭ Productivity Rate‭ = ‬40‭ ‬days per KLOC‭. Effort‭ = (‬System Size‭) * (‬Productivity Rate‭) Effort‭ = ‬3‭* ‬40‭ =‬120‭ ‬Days‭. System Size is a size driver‭. Productivity Rate is a productivity driver‭. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Top-down Estimation‭ Other parametric models‭: Function points is concerned more with task sizes‭. COCOMO is concerned more with productivity rate‭. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Top-down estimates Estimate 100 days overall project design code test Produce overall estimate using effort driver(s) distribute proportions of overall estimate to components Estimate 100 days overall project design code test 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Estimation by Analogy‭ It is also called case-based reasoning‭. For a new project the estimator identifies the previous‭ completed projects that have similar characteristics to it‭. The new project is referred to as the target project or target case The completed projects are referred to as the source projects or source case The effort recorded for the matching source case is used as the base estimate for the target project‭ The estimator calculates an estimate for the new project by‭ adjusting the‭ (‬base estimate‭) ‬based on the differences that exist‭ between the two projects SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Estimation by Analogy‭ There are software tools that automate this process by‭ selecting the nearest project cases to the new project‭. Some software tools perform that by measuring the‭ ‬ Euclidean distance between cases‭ (‬projects‭). The Euclidean distance is calculated as follows‭: ‬ distance‭= ‬square-root of‭ ((‬target_parameter1-source_parameter1)2 …. + (‬target_parameter‭n -‬source_parameter‭n )‬2‭ )‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Estimation by Analogy‭ Example Assume that cases are matched on the basis of two‭ parameters‭, ‬the number of inputs and the number of outputs‭. The new project‭ (‬target case‭) ‬requires 7‭ ‬inputs and 15‭ output You are looking into two past cases‭ (‬source cases‭) ‬to find a better analogy with the target project‭: ‬ Project A‭: ‬has 8‭ ‬inputs and 17‭ ‬outputs‭. Project B‭: ‬has 5‭ ‬inputs and 10‭ ‬outputs‭. Which is a more closer match for the new project A or project B‭? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009

Answer Distance between new project and project A‭: Square-root of‭ ((‬7-8‭) ‬2‭ + (‬15-17‭) ‬2‭)= ‬2.24‭ Distance between new project and project B‭: Square-root of‭ ((‬7-5‭) ‬2‭ + (‬15-10‭) ‬2‭)= ‬5.39 Project A is a better match because it has less distance than project B to the new project‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009