Software Estimation Technique 1

  • Uploaded by: tfxp
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Software Estimation Technique 1 as PDF for free.

More details

  • Words: 673
  • Pages: 20
Software Estimation Technique By……… Abhijit Karmakar Subhra Roy Arnab Ray Joy Banerjee Soumyadeep Bhattacharya

Topic Overview • The “Bad News” • Why estimate ? • Why is it difficult? • What can be done about? Some approaches. • LOC • FPM • COCOMO Model

Why are we bad at estimating?

• Infrequency - How often do we do the "same thing" •

Vs manufacturing or construction



Underestimation bias



Computers are "easy"; software is "easy"



We deal with Goals not estimates

Why Estimate Software? • 30% of project never complete • 100-200% cost overruns not uncommon • Average project exceeds cost by 90%; Schedule by 120% • 15% of large project never deliver anything • Only 16.2% of projects are successful

Problem for Estimates



Software development is then a gradual process of refinements of requirements.

• Yet, in the face of existing evidence, some companies want cost estimates to within ± 10%.

• We often begin with a fuzzy picture

Earlier Estimation • No "real" money in the bid • Must estimate on your dollar • What is important for this estimate • Can I compare to history • Done as quickly and cheaply as possible • How important is it?

Common Estimation Methods • Decomposition techniques - project is decomposed into tasks until an estimate for each task can be made.

• Empirical models for the estimation using past experience to predict cost and effort.

• Automated estimation tools that use a combination of

decomposition and empirical models, but develop the estimates automatically from project information.

Effort Estimation

Size Estimation

Duration

Cost Estimation

Staffing Estimation

Scheduling

Software Estimation Diagram

Estimation Process Overview Three Steps: • Estimate size of the product

(LOC, function points and/or history of similar projects) • Estimate the effort (person months) • Estimate the schedule (calendar months).

Cooperation & Covergence • Help customers by telling

the parts you are able to estimate accurately

• Tell customers you will

Actual Schedule

Estimate too high

refine estimates at the end of various phases.

• Estimates too low ⇒

planning inefficiencies which drive costs up

• Estimates too high ⇒

Parkinson’s law drives up actual costs.

minimum actual schedule

actual schedule = estimated schedule

Estimate too low

Estimated Schedule

Lines of code (LOC) • What's a line of code? – Proposed when programs were typed on cards with one line per card – In modern languages, a statement can span several lines or there can be several statements on one line

Disadvantage of LOC • Size varies with coding. • Focus on coding activities. • Difficult to estimate.

Function Points Metrics • To overcome some of the short coming of LOC • It was proposed by Albreacht in1980’s. • FP=4#input +5#output + 4#inquries +10#files +10#interfaces.

COCOMO COnstructive COst MOdel

• Constructive Cost Model proposed by BOEHM. • An empirical model based on project experience • Well-documented, ‘independent’ model which is not tied to a specific software vendor

• Long history from initial version published in 1981 (COCOMO-81)

• COCOMO takes into account different approaches to software development, reuse, etc.

COCOMO COnstructive COst MOdel

It divides the software product development into three categories. Organic Semidetached Embedded

COCOMO COnstructive COst MOdel

COCOMO COnstructive COst MOdel • COCOMO is a 3 level model that allows increasingly detailed • • •

estimates to be prepared as development progresses Early prototyping level – Object points and a simple formula is used for effort estimation Early design level – Function points that are then translated to LOC Post-architecture level – Lines of source code

Estimation vs Control

Product Size

Product Size Initial desired feature set Features Resources Initial available resources Evolution of Product

Initial desired feature set Features Resources Initial available resources Evolution of Product

Estimation accuracy • Estimation accuracy The size of a software system can only be known accurately when it is finished Several factors influence the final size

• Use of components Programming language Distribution of system

• As the development process progresses then the size estimate becomes more accurate

THANK YOU………..

Related Documents


More Documents from "Shahid"