1 / 33

Estimation - Software Metrics

Estimation - Software Metrics. Managers frequently have to measure the productivity of software engineers. How is productivity measured?. What is Productivity ? Why are we trying to measure Productivity ? What do these measures really mean?. Estimation - Software Metrics.

haru
Download Presentation

Estimation - Software Metrics

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. Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.

  2. How is productivity measured? What is Productivity? Why are we trying to measure Productivity? What do these measures really mean?

  3. Estimation - Software Metrics Estimates are needed for: • project estimates • time to completion • cost • manpower • measure whether technological improvements are effective • measure individual productivity for salary review

  4. Estimation - Software Metrics Project estimation effects project scheduling!

  5. Estimation is on-going -- • Is progress being made? • What happens if progress falls behind? • What if "expenditures" are greater than estimates?

  6. Estimation - Software Metrics TOTAL COST: (1) hardware + software + maintenance (2) travel and training * (3) effort costs??

  7. Effort costs??? SE salaries Overhead • support staff • physical plant • networking and communications • benefits

  8. Software Metrics • Effort costs are approximately twice (2x) SE salaries • So... Overhead is approximately equal to SE salaries!

  9. Software Metrics Productivity = measuring some attribute of the software and dividing this by the total effort required for development.

  10. Software Metrics Two types of measurements are available: • Size-related and • Function-related

  11. Software Metrics SIZE-related = Direct Measures What are they? What about an SE project can we measure directly? •  cost •  effort •  LOC (lines of code) •  speed •  memory size •  errors

  12. Software Metrics • Function-related = Indirect Measures • Examines overall/useful functionality over a period of time  functionality  quality  complexity  efficiency  reliability  maintainability

  13. Software Metrics Software cost and effort estimation will never be an exact science

  14. Software Metrics Too many variables • human • technical • environmental • political

  15. Software Metrics • No estimation technique will be entirely accurate. • Estimates fed back into the project, alter the behavior being modeled

  16. Size-oriented metrics • KLOC (thous. lines of code) were developed with 24-person-months of effort at a cost of $168,000 • values represent all software activities (analysis, design, code and test) not just coding

  17. Size-oriented metrics • pages of documentation developed • 29 errors were encountered after software was released to the customer within the first year of operation • 3 people worked on the development of the software

  18. Size-oriented productivity and quality metrics: • Productivity = KLOC/person-month • Quality = error/KLOC • Cost = $/KLOC • Documentation = Pages doc./KLOC

  19. Size-oriented productivity and quality metrics: • Controversy: Why LOC as a key measure?

  20. Size-oriented productivity and quality metrics: Pro: LOC are "artifact" of all software development project that can be easily counted. Con: LOC measures are programming language dependent. They penalize well-designed but shorter programs. They cannot easily accommodate non-procedural languages . Con: When used in estimation, LOC requires may be difficult to determine; planner must estimate the LOC long before analysis and design have been completed.

  21. Function-related metrics Examples: • number of user inputs • number of user outputs • number of user inquiries/interactions • number of files • number of external interfaces

  22. Function-related metrics • Relate to overall functionality of delivered software. • Function points try to give a weight to these functionality measures. • Each Function point (FP) is individually assessed for complexity and given a weight.

  23. Function points EX. • Weight of 3 for simple external inputs, • Weight of 15 for complex internal files.

  24. Function points FPs (function points) can create similar estimation formulas: • productivity=FP/person-mth • quality = error/FP • cost = $/FP • documentation=pages doc./FP

  25. Alternative techniques: • Unadjusted Function Point Count = UPC • UPC = # of elements of a given type X weight This is further adjusted by a measure (a value) for overall project complexity.

  26. But -- What counts as complexity?

  27. Function points • Final Function Count (FFC) • FFC = UFC x project complexity factors • These values can compare individuals on a single project or across projects.

  28. Function Points are Controversial

  29. Function Points Controversy Pro: FP is programming language independent making it ideal for applications using conventional and non-procedural languages • based on data more likely to be known early in the evolution of the project • attractive as an estimation approach

  30. Function Points Controversy Con: method requires some "slight of hand" in that computation is based on subjective rather than objective data • difficult to collect after-the-fact data to verify • no direct physical meaning -- its just a number

  31. But, any measuring tool Can easily be misused- With enough adjustment, you can get the numbers to say almost anything.

  32. Estimation Accuracy • Regardless of model • Care must be exercised when using the results of cost estimation • Often the case that external factors really drive the schedule

  33. Estimation Accuracy Note: The OS/360 operating system was developed in 2 yrs because the hardware was going to be ready in 2 yrs

More Related