Cost Estimation

Document Sample
Cost Estimation Powered By Docstoc
					Project Planning

     CIS 375
  Bruce R. Maxim
   UM-Dearborn

                   1
       Planning Objectives
• To provide a framework that allows a
  software manager to make an estimate
  of resources, cost, and schedule.
• Project outcomes should be bounded by
  'best case' and 'worst case' scenarios.
• Estimates should be updated as the
  project progresses.

                                        2
           Software Scope
•   data to be processed or produced
•   control parameters
•   function
•   performance
•   constraints
•   external interfaces
•   reliability
                                       3
           Scope Definition
• Determine the customer's overall goals for
  the proposed system and any expected
  benefits.
• Determine the customer's perceptions
  concerning the nature of a good solution to
  the problem.
• Evaluate the effectiveness of the customer
  meeting.

                                                4
        Product Feasibility
• Technical feasibility is not a good
  enough reason to build a product.
• The product must meet the customer's
  needs and not be available as an off-
  the-shelf purchase.



                                          5
       Resource Estimation
• Human Resources
  – number of people required and skills needed to
    complete the development project
• Project Methods and Tools
• Reusable Software Resources
  – off-the-shelf components
  – modifiable components
  – new components
• Development Environment
  – hardware and software required during the
    development process
                                                     6
         Estimation Options
• Delay estimation until late in the project.
• Base estimates on similar projects already
  completed.
• Use simple decomposition techniques to
  estimate project cost and effort.
• Use empirical models for software cost and
  effort estimation.
• Automated tools may assist with project
  decomposition and estimation.

                                                7
Decomposition Techniques -1
• Software sizing
  – fuzzy logic
  – function point calculation
  – standard component
  – %change
• Process-based estimation
  – decomposition based on tasks required to
    complete the software process framework

                                               8
Decomposition Techniques - 2
• Problem-based estimation
  – using lines of code (LOC) decomposition
    focuses on software functions
  – using function point (FP) decomposition
    focuses on information domain
    characteristics



                                              9
 Empirical Estimation Models
• Experiential Models
  – Typically derived from regression analysis of
    historical software project data with estimated
    person-months as the dependent variable
• Static Estimation Model
  – does not include time as an independent variable
  – Constructive Cost Model (COCOMO)
• Dynamic Estimation Models
  – usually takes time or development phase into
    account
  – Software Equation Model
                                                       10
Regression




             11
    Correlation and Regression
• Mean = (xi)/n
• Variance
  x = (xi2)/n - (mean)2
• Covariance
  xy = (xi yi)/n – (meanx)(meany)
• Correlation
  r = xy / x y
• Regression
  y = mx + b
  m = xy / (x)2
  b = meany – m * meanx
                                      12
         X    Y    X^2   X*Y   Y^2



         1    1     1     1     1



         3    2     9     6     4



         4    4    16    16    16



         6    4    36    24    16



         8    5    64    40    25



         9    7    81    63    49



         11   8    121   88    64



         14   9    190   126   81



         56   40   524   364   256
Totals
                                     13
14
        Make Buy Decision
• It may be more cost effective to acquire a
  piece of software rather than develop it.
• Decision tree analysis provides a systematic
  way to sort through the make-buy decision.
• As a rule outsourcing software development
  requires more skillful management than does
  in-house development of the same product.


                                             15
          Decision Process
1. Develop specifications.
2. Estimate internal cost & delivery.
3. Select 3 or 4 candidate packages.
4. Select reasonable components.
5. Build a cost-benefit comparison matrix (key
   function performance) or use conduct
   benchmark tests of candidate software
6. Evaluate each software package or
   component based on history with the
   product or vendor.
7. Contact other users.                       16
Decision Tree




                17

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:45
posted:8/31/2012
language:Unknown
pages:17