Software Cost estimation

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

FROM DIALOGUE TO SYNERGY: BUILDING COLLABORATIVE RELATIONSHIPS Janet Salmons, Ph.D.
Applied Software Project Management Estimation
Project Planning Dr. Jane Dong Electrical and Computer Engineering.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Lesson 2: Software Project Planning
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering: A Practitioner’s Approach
This document is proprietary to Project Consulting Group, Inc. and contains confidential information which is solely the property of Project Consulting.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Estimation Why estimate? What to estimate? When to estimate?
Estimation Chapter 3 Applied Software Project Management, Stellman & Greene.
Software Project Planning Chapter 2 Applied Software Project Management, Stellman & Greene.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
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.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Applied Software Project Management LESSON 3: ESTIMATION Applied Software Project Management 12:02:37 PM 1.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Wideband Delphi Technique George Ukkuru. Introduction Consensus based approach for estimation Developed in the 1940’s at Rand Corporation Team of experts.
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.
Applied Software Project Management
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.
SOW / Open Workbench By Wilmer Arellano Summer 2013.
Project Risk Management Planning Stage
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Software Engineering (CSI 321) Project Planning & Estimation 1.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Chapter 13: Managing Groups and Teams Learning Objectives
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Viking Estimation Team Assignment 13 Team 2-1. Content 1/ Introduction 2 / Wideband Delphi & COCOMO II 3 / The assemble task formula 4 / Wideband Delphi.
7 November 2006Program Management Basics Purdue FIRST Programs Slide 1 Program Management Basics Purdue FIRST Programs Chris Fultz Rolls-Royce Corporation.
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
University of Palestine Faculty of Applied Engineering & Urban Planning Civil Engineering Department Engineering Project Management Chapter 1 Introduction.
Software Project Management
Chapter 33 Estimation for Software Projects
Project Cost Management
By Wilmer Arellano Spring 2010
Work Breakdown Structures (WBS)
For University Use Only
Software Engineering (CSI 321)
Recognization and management of RISK in educational projects
Chpter#5 -part#1 Project Scope and Human Resource Planning
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
REKAYASA PERANGKAT LUNAK
Software Project Planning &
The Importance of Project Risk Management
COCOMO Model Basic.
What is Project Cost Management?
For University Use Only
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
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#8:Project Risk Management Planning
Chapter 26 Estimation for Software Projects.
Chapter#8:Project Risk Management Planning
Presentation transcript:

Software Cost estimation

COCOMO II COCOMOII was developed in 1995 It could overcome the limitations of calculating the costs for non-sequential, rapid development, reengineering and reuse models of software. It has 3 modules Application composition: - good for projects with GUI interface for rapid development of project. Early design: - Prepare a rough picture of what is to be designed. Done before the architecture is designed.

Post architecture: - Prepared after the architecture has been designed. COCOMO II USES Helps in making decisions based on business and financial calculations of the project. Establishes the cost and schedule of the project under development, this provides a plan for the project. Provides a more reliable cost and schedule, hence the risk mitigation is easy to accomplish. It overcomes the problem of reengineering and reuse of software modules. Develops a process at each level . Hence takes care of the capability maturity model

Decision Tree Means 30% probability Estimated path cost 0.70 means 70% probability that job will be difficult

Decision Tree Expected value of cost computed along each branch of the decision tree is: where i is the decision tree path, for example, For Build path expected cost = 0.30($380K)+0.70($450K) = $429K Similarly, for Reuse path, expected cost is $382K; for Buy path, it is $267K; for Contract path, it is $410K. So the obvious choice is “to buy” expected cost = Σ (path probability)i x (estimated path cost)i

Outsourcing Acquisition of software (or components) from a source outside the organization Software engineering activities are contracted to a third party who does the work at lower cost and (hopefully) at higher quality Software work within the company is reduced to contract management activity Outsourcing is often a financial decision Positive side Cost saving can usually be achieved by reducing own resources (people & infrastructure) Negative side Company loses some control over the software and bears the risk of putting its fate in hands of a third party

What is estimation? The project manager must set expectations about the time required to complete the software among the stakeholders, the team, and the organization’s management. If those expectations are not realistic from the beginning of the project, the stakeholders will not trust the team or the project manager. http://www.stellman-greene.com

Elements of a Sound Estimate To generate a sound estimate, a project manager must have: A work breakdown structure (WBS), or a list of tasks which, if completed, will produce the final product An effort estimate for each task A list of assumptions which were necessary for making the estimate Consensus among the project team that the estimate is accurate http://www.stellman-greene.com

Assumptions Make Estimates More Accurate Team members make assumptions about the work to be done in order to deal with incomplete information Any time an estimate must be based on a decision that has not yet been made, team members can assume the answer for the sake of the estimate Assumptions must be written down so that if they prove to be incorrect and cause the estimate to be inaccurate, everyone understands what happened Assumptions bring the team together very early on in the project so they can make progress on important decisions that will affect development http://www.stellman-greene.com

Wideband Delphi Wideband Delphi is a process that a team can use to generate an estimate The project manager chooses an estimation team, and gains consensus among that team on the results Wideband Delphi is a repeatable estimation process because it consists of a straightforward set of steps that can be performed the same way each time http://www.stellman-greene.com

The Wideband Delphi Process Step 1: Choose the team The project manager selects the estimation team and a moderator. The team should consist of 3 to 7 project team members. The moderator should be familiar with the Delphi process, but should not have a stake in the outcome of the session if possible. If possible, the project manager should not be the moderator because he should ideally be part of the estimation team. http://www.stellman-greene.com

The Wideband Delphi Process Step 2: Kickoff Meeting The project manager must make sure that each team member understands the Delphi process, has read the vision and scope document and any other documentation, and is familiar with the project background and needs. The team brainstorms and writes down assumptions. The team generates a WBS with 10-20 tasks. The team agrees on a unit of estimation. http://www.stellman-greene.com

The Wideband Delphi Process Step 3: Individual Preparation Each team member independently generates a set of preparation results. For each task, the team member writes down an estimate for the effort required to complete the task, and any additional assumptions he needed to make in order to generate the estimate. http://www.stellman-greene.com

The Wideband Delphi Process Step 4: Estimation Session During the estimation session, the team comes to a consensus on the effort required for each task in the WBS. Each team member fills out an estimation form which contains his estimates. The rest of the estimation session is divided into rounds during which each estimation team member revises her estimates based on a group discussion. Individual numbers are not dicsussed. http://www.stellman-greene.com

The Wideband Delphi Process Step 4: Estimation Session (continued) The moderator collects the estimation forms and plots the sum of the effort from each form on a line: http://www.stellman-greene.com

The Wideband Delphi Process Step 4: Estimation Session (continued) The team resolves any issues or disagreements that are brought up. Individual estimate times are not discussed. These disagreements are usually about the tasks themselves. Disagreements are often resolved by adding assumptions. The estimators all revise their individual estimates. The moderator updates the plot with the new total: http://www.stellman-greene.com

The Wideband Delphi Process Step 4: Estimation Session (continued): The moderator leads the team through several rounds of estimates to gain consensus on the estimates. The estimation session continues until the estimates converge or the team is unwilling to revise estimates. Step 5: Assemble Tasks The project manager works with the team to collect the estimates from the team members at the end of the meeting and compiles the final task list, estimates and assumptions. Step 6: Review Results The project manager reviews the final task list with the estimation team. http://www.stellman-greene.com

Other Estimation Techniques PROBE, or Proxy Based Estimating PROBE is based on the idea that if an engineer is building a component similar to one he built previously, then it will take about the same effort as it did in the past. Individual engineers use a database to maintain a history of the effort they have put into their past projects. A formula based on linear regression is used to calculate the estimate for each task from this history. COCOMO II In Constructive Cost Model, or COCOMO, projects are summarized using a set of variables that must be provided as input for a model that is based on the results of a large number of projects across the industry. The output of the model is a set of size and effort estimates that can be developed into a project schedule. http://www.stellman-greene.com