1 / 72

Information System Design IT60105

Information System Design IT60105. Lecture 20 Project Estimations. Lecture #20. Project Estimation Techniques Empirical estimation techniques Expert judgment technique Delphi cost estimation technique. Project Estimation Techniques. Empirical Estimation Techniques.

susan
Download Presentation

Information System Design IT60105

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Information System DesignIT60105 Lecture 20 Project Estimations

  2. Lecture #20 • Project Estimation Techniques • Empirical estimation techniques • Expert judgment technique • Delphi cost estimation technique Information System Design (IT60105), Autumn 2007

  3. Project Estimation Techniques Information System Design (IT60105), Autumn 2007

  4. Empirical Estimation Techniques

  5. Empirical Estimation Techniques • Making an educated guess of the project parameters • Prior experience with the development of similar project is helpful • Two empirical estimation techniques are known: • Expert Judgment Technique • Delphi Cost Estimation Information System Design (IT60105), Autumn 2007

  6. Expert Judgment Technique • Expert thoroughly analyze the problems and then guess the problem size • Estimations are usually based on measuring attributes of software • Size related metrics • Function related metrics Information System Design (IT60105), Autumn 2007

  7. Empirical Cost Estimation • Size related metrics • These are related to the size of some outputs from a project • The most commonly used size related metric is LOC (Lines Of delivered Code) • Other metrics are • The number of delivered object code instruction • The number of pages of system documentation etc. Information System Design (IT60105), Autumn 2007

  8. Empirical Cost Estimation • Function related metrics • These are related to the overall functionality of the delivered software • Measured in terms of number of functionalities produced in some given time • Example of function related metrics are • Function points (FPs) • Object points etc. Information System Design (IT60105), Autumn 2007

  9. Basic Approach • A metric is chosen as an estimation variable • Project planner begins by estimating a range of values for each information domain • Using historical data or intuition, the planner estimates an optimistic (Sopt), most likely (Sm), and pessimistic (Spess) values or counts for each information domain value • A three-point or expected-value can then be computed as a weighted of the three values S = (Sopt+4Sm+Spess)/6 Information System Design (IT60105), Autumn 2007

  10. An Example of LOC Based Estimation • Let us consider the SANJOG project • Following values for LOC metrics have been evaluated Information System Design (IT60105), Autumn 2007

  11. An Example of LOC Based Estimation • After the calculation of beta probabilistic values, the expected values can be calculated as shown Information System Design (IT60105), Autumn 2007

  12. An Example of LOC Based Estimation • From the historical data assume the following • A review of historical data indicates that the organizational average productivity for system of the project type is 420 LOC/PM • Cost for a person-month, a = Rs. 20,000/ • Cost per line of code, b = Rs.50/ • We can estimate Effort = LOC/a = 94 Person-months Cost = LOC *b = Rs. 19,71,700  Rs. 21 lakhs Information System Design (IT60105), Autumn 2007

  13. LOC: Size Related Metric • Salient features • Simple yet useful • At the beginning of a project • Based on previous experience of the similar type of project • Shortcomings in LOC calculation • Can not address coding style • Coding activity only, not measure analysis, design, testing, documentation etc. • Does not correlates with quality and efficiency • Does not proper for 4GL, Library based, or HLL • Does not address structural, logical complexities (only lexical) Information System Design (IT60105), Autumn 2007

  14. Function Point Based Metric • The FP-based metric is first proposed by A. J. Albercht (1979) • FP can be used to • Estimate the cost or effort required to design, code and test the software • Predict the number of errors that will be encountered during testing • Forecast the number of components and/or the number of projected source lines in the system under implementation Information System Design (IT60105), Autumn 2007

  15. Project Size Estimation: FP-Based Metric • Information domain values for the FP-metric are • Number of external inputs (EIs) • Each external inputs from originates from a user or is transmitted from another application and provides distinct application-oriented data or control information. Inputs are often used to update Internal Logical Files • Number of external outputs (EOs) • Each external output is derived within the application and provides information to the user. External outputs refers to report, screen, error messages etc. Information System Design (IT60105), Autumn 2007

  16. Project Size Estimation: FP-Based Metric • Information domain values for the FP-metric are • Number of external inquiries (EQs) • An external enquiry is defined as an online input that results in the generation of some immediate software response in the form of an online output • Number of internal logical files (ILFs) • Each internal logical file is a logical grouping of data that resides within the application’s boundary and is maintained via external inputs • Number of external interface files (EIFs) • Each external interface file is a logical grouping of data resides external to the the application but provides data that may be of use to the application Information System Design (IT60105), Autumn 2007

  17. Project Size Estimation: FP-Based Metric • To compute function points (FP), the following empirical relationship is used Here CountTotal is the sum of all FP entries The Fi(i = 1 to 14) are value adjustment factor (VAF) Information System Design (IT60105), Autumn 2007

  18. CountTotal in FP-Based Metric Information System Design (IT60105), Autumn 2007

  19. VAF in FP-Based Metric Information System Design (IT60105), Autumn 2007

  20. VAF in FP-Based Metric (Cont’d) Information System Design (IT60105), Autumn 2007

  21. Values in FP-Based Metric • Each of the VAF is evaluated in scale of range from 0 (not important or applicable) to 5 (absolute essential) • The constant values in the equation for FP is decided empirically • The values for weighting factors that are applied to information domain counts are also determined empirically Information System Design (IT60105), Autumn 2007

  22. An Example of FP-Based Estimation Information System Design (IT60105), Autumn 2007

  23. An Example of FP-Based Estimation External inputs Password Panic Button Activate/deactivate External outputs Messages Sensor status External inquiries Zone inquiry Sensor inquiry Internal Logical file System configuration file External Interface Files Test sensors Zone setting Activate/deactivate Alarm alert Information System Design (IT60105), Autumn 2007

  24. An Example of FP-Based Estimation External inputs Password Panic Button Activate/deactivate External outputs Messages Sensor status External inquiries Zone inquiry Sensor inquiry Internal Logical file System configuration file External Interface Files Test sensors Zone setting Activate/deactivate Alarm alert Information System Design (IT60105), Autumn 2007

  25. An Example of FP-Based Estimation Information System Design (IT60105), Autumn 2007

  26. An Example of FP-Based Estimation • The estimated number of FP can be derived as = 50 X [0.65 + 0.01 X 62] = 63.5 Information System Design (IT60105), Autumn 2007

  27. An Example of FP-Based Estimation Suppose the organizational average productivity for system of this type = 1.2 FP/PM Cost of a PM = Rs. 20,000/ Effort = FP/Productivity = 63.5/1.2 = 53 PM Cost = 53 X 20,000 = Rs. 10,60,000  11 lakhs Information System Design (IT60105), Autumn 2007

  28. Pros and Cons of FP-Based Estimation • This metric is language independent and can be easily computed from the SRS document during project planning • This metric is subjective and require a sleight of hand • Different engineer can arrive at different FP for the same project Information System Design (IT60105), Autumn 2007

  29. Expert Judgment Technique: Summary • Expert thoroughly analyze the problems and then guess the problem size: LOC or FP • Drawback: • Technique is subject to human errors and biased with individual • Expert may overlook some factors inadvertently • Expert may not have experience and knowledge of all aspects of projects • Remedy • Estimation made by a group of experts Information System Design (IT60105), Autumn 2007

  30. Delphi Cost Estimation • Estimated by a team (composed with a group of experts) and a coordinator • Individual team member estimates based on SRS supplied by the coordinator • Estimator points out typical characteristic (s) by which s/he has been influenced while estimating • Based on the input from all estimators, coordinator prepared a summary sheet and distributes the same to all estimators emphasizing the important things noted by others • Based on the summary, estimators re-estimate and the process may be iterated depending on the satisfaction of the coordinator. Coordinator is responsible for compiling final results and preparing the final estimates Note: An estimator is opaque to any other estimators Information System Design (IT60105), Autumn 2007

  31. Heuristic Estimation Techniques

  32. Heuristic Estimation Techniques • Project Estimation Techniques • Heuristic estimation techniques • COCOMO (1981) • COCOMO II (2000) Information System Design (IT60105), Autumn 2007

  33. Project Estimation Techniques Information System Design (IT60105), Autumn 2007

  34. Heuristic Estimation Models • Heuristic estimation models are derived using regression analysis on data collected from past software projects • The overall structure of such models takes the form • Where A, B, and C are empirically derived constants, E is effort in person-months, and ev is the estimation variable (either LOC or FP) Information System Design (IT60105), Autumn 2007

  35. Heuristic Estimation Models • In addition to the general form, they have some project adjustment component that enables E to be adjusted by other project characteristic (e.g. problem complexity, staff experience, development environment etc.) • Based on the study of different types of project, a rule of thumbs in the form of mathematical expression • The heuristic estimation models are also alternatively termed as Algorithmic Cost Models Information System Design (IT60105), Autumn 2007

  36. Some Heuristic Estimation Models Information System Design (IT60105), Autumn 2007

  37. Boehm’s COCOMO (1981) • COCOMO (COnstructive COst estimation MOdel) – A heuristic estimation technique proposed by Boehm (1981) • It has been widely used and evaluated in a range of organizations • It is a comprehensive models with a large number of parameters that can each take a range of values Information System Design (IT60105), Autumn 2007

  38. Boehm’s COCOMO 81 • Boehm’s classification of projects: • Organic • Size is reasonably small • Project deals with developing a well-understood application • Team is experienced in developing similar types of projects • Semidetached • Relatively larger size • Development team consist of mixed members with experienced and inexperienced staff • Team may not familiar with some aspects of system parts • Embedded • Very big systems • Team with inexperienced staff • Team members are unfamiliar to the most of the system parts Information System Design (IT60105), Autumn 2007

  39. Boehm’s COCOMO 81 • Three-level model of estimations: • Basic (provides an initial rough estimation) • Approximate estimation of the cost Information System Design (IT60105), Autumn 2007

  40. Boehm’s COCOMO 81 • Intermediate (modification of the basic estimation) • Use the nominal cost as estimated in Basic COCOMO and multiplied by 15 cost drivers on product complexity, computing environment, personnel, development tools etc. • Complete (detailed estimation) • More improved than the previous two models • Suitable for heterogeneous projects • At the perspective of a system with several subsystems with various complexity (not a single entity rather) Information System Design (IT60105), Autumn 2007

  41. Need to Re-Engineer COCOMO 81 • New software processes • New sizing phenomena • New reuse phenomena • Need to make decisions based on incomplete information Information System Design (IT60105), Autumn 2007

  42. COCOMO II • COCOMO assumed that the software would be developed according to a Waterfall Process • Using standard imperative programming language such as C or FORTRAN • COCOMO II is to take the latest development in software technology into account • COCOMO II supports a Spiral model of development • Also embeds several sub-models that produce increasingly detailed estimates Information System Design (IT60105), Autumn 2007

  43. Sub-models in COCOMO II Information System Design (IT60105), Autumn 2007

  44. Application-Composition Model • It is introduced to estimate • Prototyping of software • Composing software by existing software components • This model assumes that systems are created from reusable components, scripting or database programming • Software size estimates are based on application points (same as the object points) Information System Design (IT60105), Autumn 2007

  45. Application-Composition Model • The formula for computing effort for a system prototype according to this model is where PM is the effort estimate in person-month. NAP is the total number of application points in the delivered system. %reuse is an estimate of the amount of reused code in the development. PROD is the object point productivity. Information System Design (IT60105), Autumn 2007

  46. Object Point Productivity • The PROD can be calculated using the following table Information System Design (IT60105), Autumn 2007

  47. Early Design Model • It is used at Exploration phase when, • User requirement is known • Detailed architecture is not developed yet • Goal is to make an approximate estimate without much effort • The estimate produced at this stage are based on standard formula for algorithmic models Information System Design (IT60105), Autumn 2007

  48. Early Design Model • The estimation formula is Effort = AΧSizeBΧM where A, B, and M are constants The Size of the system is expressed in KSLOC, which is the number of thousands of lines of source code M is a multiplication of 10 other drivers Information System Design (IT60105), Autumn 2007

  49. Significance of the Constants • The value of coefficient A used by Boehm is 2.94, calculated from a large data set • B depends on novelty of the project, development flexibility, process maturity level of the organization etc. and varies between 1.1 and 1.24 • The multiplier M depends on a simplified set of seven project and process characteristics e.g.: Product reliability and complexity, Reuse required, Platform difficulty etc. Information System Design (IT60105), Autumn 2007

  50. The Reuse Model • Used to estimate the effort required to integrate reusable or generated code • Two types of reused codes • Black box type: Code can be integrated without understanding the code or making changes to it: development effort is zero e.g. ActiveX used in VB or VC++ projects • White box Type: Code has to be adapted before reusing e.g. downloaded programs from internet • Another type of reusable code is automatically generated code by CASE tools, e.g. code generated by Rational Rose. COCOMO II includes a separate model to tackle this type of code Information System Design (IT60105), Autumn 2007

More Related