Cost Estimation I've got Bad News and Bad News!.

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

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.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
CS351 © 2003 Ray S. Babcock Cost Estimation ● I've got Bad News and Bad News!
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Simulation.
GPII-2A Planning a software project: Estimation & Measurement.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
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.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Introduction to Systems Analysis and Design
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Four P’s People – software engineers People – software engineers Product – software to be produced Product – software to be produced Process – framework.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture 6: Estimation Techniques Lecturer: Hermann Lehner.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©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.
Software cost estimation Predicting the resources required for a software development process 1.
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
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
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
PROJECT PLANNING & MANAGEMENT Brittany Hamilton. PROGRESS TRACKING Do we understand customer’s needs? Can we design a system to solve customer’s problems.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
Lecture 6 Title: Project Cost Management MIS 434.
Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Cost Estimation Software Quality Assurance and Testing.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Software Development.
Pepper modifying Sommerville's Book slides
Software Quality Assurance
Chapter 33 Estimation for Software Projects
Project Cost Management
Introduction to Project Management Chapter 7 Managing Project Resources Information Systems Project Management: A Process and Team Approach, 1e Fuller/Valacich/George.
Supply Chain Management for Non Supply Chain Management Professionals
Software Metrics 1.
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
XACML and the Cloud.
Software Project Planning &
Constructive Cost Model
What do you need to know about XP?
Module 2: Demand Forecasting 2.
Software Cost estimation
Chapter 3 Planning and Managing the Project Shari L. Pfleeger
Chapter 5: Software effort estimation
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
Chapter 23 – Project planning
COCOMO Models.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Chapter 33 Estimation for Software Projects
CS385T Software Engineering Dr.Doaa Sami
Software Cost Estimation
Rekayasa Perangkat Lunak
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Configuration management
Extreme Programming.
Software cost estimation
Presentation transcript:

Cost Estimation I've got Bad News and Bad News!

Cost Estimation I've got Bad News and Bad News! Accurate estimation of the cost to develop software projects is NEARLY IMPOSSIBLE.

Cost Estimation I've got Bad News and Bad News! Accurate estimation of the cost to develop software projects is NEARLY IMPOSSIBLE. NEARLY EVERY project manager expects you to come up with an accurate estimate of cost.

Some Observations The only time you can be 100% accurate in the cost of the project is after the project is completely finished.

Some Observations The only time you can be 100% accurate in the cost of the project is after the project is completely finished. Most software projects are never completely finished.

Some Observations The only time you can be 100% accurate in the cost of the project is after the project is completely finished. Most software projects are never completely finished. Experience helps.

Cont. If computer efficiency has increased multiple orders of magnitude, and size of memory has increased multiple orders of magnitude and disk space has increased multiple orders of magnitude and the object oriented paradigm has permitted software reuse, WHY HASN'T THE COST OF DEVELOPING SOFTWARE DRAMATICALLY BEEN REDUCDE??

Some Answers Software complexity has increased by many orders of magnitude. Salaries continue to increase and most of the cost to develop software is people oriented.

Observations A majority of the cost to develop software is the human effort involved. So, cost estimation is really effort estimation. It appears intuitive that the effort is proportional to the complexity of the project.

Cont. Complexity is relative. It's not always related just to size. A small project that is done by new software engineers unfamiliar with the company or the project is complex. A large project that is done by experienced software engineers familiar with previous (almost identical) projects is not as complex.

So what to do??? Begin day one to establish a history of your development effort at your company. Keep records of the unexpected cost factors that come up. Customer changes their mind about a functional requirement. Environment changes (Windows NT -> Windows XP) Additional functionality is requested. Plan to become an expert in estimating your effort in software development.

Causes of Inaccurate Estimates Frequent requests for changes by users. Overlooked tasks User's lack of understanding of their own requirements. Insufficient analysis when developing an estimate (pressure to get it done NOW!). Lack of coordination of systems development, technical services, operations, data administration, and other functions during development. Lack of an adequate method or guidelines for estimating.

Aspects of the project that are key estimate influences Complexity of the proposed application system. Required integration with existing system. Complexity of the programs in the system. Size of the system expressed as number of functions or programs. Capabilities of the project team members. Project team's experience with the application.

Cont. Anticipated frequency or extent of potential changes in user requirements. Project team's experience with the programming language or hardware. Database management system. Number of project team members. Extent of programming or documentation standards. Availability or tools such as application generators. (Familiarity of the team)

Accuracy of Estimates (Show overhead slide from Boehm.)

Estimation Techniques Expert Judgement. Algorithmic Methods. Machine-Learning Methods.

Expert Judgement The accuracy of the prediction is based on the competence, experience, objectivity, and perception of the estimator. An “educated guess” Based on a “top-down” or “bottom-up” analysis of what is needed. Analogies are used to estimate effort.

Cont. The analogy process can be formalized by asking several experts to make three predictions: A pessimistic one (x). A most likely guess (y). An optimistic one (z). Then these are combined as the mean of the beta probability distribution. ( x + 4y + z ) / 6

Delphi Experts are asked to make individual predictions secretly, based on their expertise and using whatever process they choose. Then the average estimate is calculated and presented to the group. Each expert has the opportunity to revise his or her estimate, if desired. The process is repeated until no expert wants to revise.

Delphi cont. Sometimes a discussion is allowed before the revised estimates are calculated. Another variation is to allow the extreme estimators to make a case for their decisions anonymously.

Wolverton Model Cost Matrix

Other conflicts Adding people to a late project simply makes it later. Two people cannot produce code twice as fast as one person. A model that may work for one organization may not apply to another. Most expert judgement techniques are simplistic, neglecting a large number of factors So.......

Algorithmic Methods Empirical models to express the relationship between effort and the factors that influence it. Models are usually described using equations E = (a + bS ) m(X) S = estimated size of the system a,b,c constants X is a vector of cost factors, m is an adjustment multiplier based on X Ac

One of the first by Walston and Felix 0.91 E = 5.25 S For 60 projects ranging in size from 4000 to 467,000 lines of code, written in 28 different high-level languages on 66 computers and representing from 12 to 11,758 person-months of effort.