1 / 48

Sizing Your Development Effort Using Function Point Analysis

Sizing Your Development Effort Using Function Point Analysis. Mike Pasley Logic Central http://www.logicentral.com. C/S Order Entry System. Proposal: planned budget-$100k, schedule-18 Mos Common scenario: $150k, 24Mos Pre-release bug fixes: $50k Post-release bug fixes: $25k

donny
Download Presentation

Sizing Your Development Effort Using Function Point Analysis

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. Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central http://www.logicentral.com

  2. C/S Order Entry System • Proposal: planned budget-$100k, schedule-18 Mos • Common scenario: $150k, 24Mos • Pre-release bug fixes: $50k • Post-release bug fixes: $25k • Unhappy Customers, sales personnel • Going to competition • Lost Business: another $200k

  3. C/S Order Entry System • Does Not Have To Be That Way!! • Other companies, same application • $75k or less, 16 Mos • All Defect Removal: $15k • What are they doing differently? • 5 Steps to Software Quality Control • (Applied Software Measurements - Capers Jones)

  4. 5 Steps • Establish Software Quality Metrics Program • Establish Tangible Performance Goals • Establish Meaningful Software QA • Develop Leading Edge Corporate Culture • Determine SW Strengths & Weaknesses Where to begin?

  5. How would you build a house?

  6. What Is Function Point Analysis? • Synthetic metrics derived from enumerating and weighing five external attributes of software applications: • Inputs • Outputs • Inquiries • Internal Logical Files • External Interface Files Plus Factor: index of system's overall complexity

  7. What Is Function Point Analysis? • Function points are indicators of size based on the 'logical' view of a piece of software. • Make it possible to measure the size of information systems according to what the user sees and interacts with • Quantify functionality delivered to user based primarily on logical design

  8. Summary of Benefits • Scheduling, effort, cost estimates • Easier • Greater Accuracy • Improves communications, sharpens management judgement, improves development process • GUI, Algorithms, Objects

  9. Who Needs Function Points • Anyone who has responsibility for estimating and sizing software or measuring productivity • Anyone who is responsible for setting and meeting customer expectations for software projects

  10. FPA fits Engineering Method • Use of heuristics (a decision-making aid) to cause the best change in a poorly understood system given available resources

  11. Identify Problem Gather Information Search for Creative Solutions Do Preliminary Design Select Preferred Solution Prepare plans, specifications, reports Implement Engineering Method Steps

  12. Agenda • Fundamentals Involved: 20 Minutes • Simple Example: 10 Minutes • Using Results: 10 Minutes • Current Issues: 5 Minutes • Reference Materials: 5 Minutes • Questions & Answers: 10 Minutes

  13. Development Goals • Software should be completed • Software should work

  14. Relationship Goals • Clients should be satisfied • Developers should be satisfied • Clients/Developer relationship should be trusting, respectful

  15. Connections • If everyone understands size of project , all parties will work better together • Three blind men/elephant effect: • One near the tail described it as a snake • One near the leg described it as a tree trunk • One near the side described it as a wall • Each description gives an accurate picture of some aspects of the elephant, but a false picture of the elephant as a whole.

  16. User Viewpoint • Productivity: “Goods or services produced per unit of labor or expense” • Customers do not buy lines of code • Customers care about functionality • Focus: “What” is being delivered without clouding the issue with “how” it is being done. • User business function and exists for business reasons not just for technical or design reasons

  17. Terminology • Application Boundary • Inputs • Outputs • Inquiries • Internal Logical Files • External Interface Files

  18. Application Boundary • Drawn around entire application Inquiries Boundary Input Output Internal Logical Files External Interface Files

  19. External Inputs (EI) • An elementary process in which data crosses the boundary from outside to inside. • Data input screen • Electronically • Another application • Business data: does update internal logical file • Control data: does not update internal logical file

  20. External Outputs (EO) • An elementary process in which derived data passes across the boundary from inside to outside. • Creates reports • Creates output files sent to other applications • Created from internal logical files/external interface file

  21. External Inquiries (EQ) • An elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files • Sent outside the application boundary • Input process does not update ILF • Output side does not contain derived data

  22. Internal Logical Files • A User identifiable group of logically related data that entirely within the applications boundary and is maintained through External Inputs

  23. External Interface Files (EIF) • A User identifiable group of logically related data that is used for reference purposes only. • Resides entirely outside application • Maintained by another application • It is an ILF for another application

  24. Application Boundary • Drawn around entire application Inquiries Boundary Input Output Internal Logical Files External Interface Files

  25. Data communications Distributed functions Perfomance objectives Heavily used configuration Transaction rate On-line data entry End-user efficiency On-line update Complex processing Reusability Installation ease Operational ease Multiple sites Facilitate change General System Characteristics

  26. Complexity of Files • Data Element Type (DET) • A unique user recognizable field from a business perspective which participates in a transaction or is stored on a logical data file. • Includes radio buttons, check boxes, command buttons, static images, and sound bytes • Record Element Type (RET) • A user recognizable subgroup of data elements within an ILF or EIF. (orders types)

  27. Determining File Complexity

  28. Complexity of Transactions • The complexity of an transaction is determined by counting the number of logical File Types Referenced (FTRs) and the number of Data Element Types.

  29. Complexity of Outputs

  30. Complexity of Inputs

  31. Complexity of Inquiries • Determined by using the more complex of its input and output components (usually this is the output component).

  32. The total function points for the system are then determined by counting the number of elements with each type and complexity and applying a weighting factor according to the following table:

  33. File Complexity

  34. Transaction Complexity

  35. The total function points for the system are then determined by counting the number of elements with each type and complexity and applying a weighting factor according to the following table:

  36. Results • Unadjusted total: 29 function points • Total then adjusted by a ranking of 0 to 5 to each of the 14 general system characteristics • Maximum possible score of 70 for the general system characteristics (5 x 14). • Formula: [.65 + (.01 x GCS score)] * Unadjusted Total • Count can vary a maximum of 35% above or below the unadjusted count

  37. Results • Do The Sanity Check!!! • Validate Results • Team Review • All Components Included? • User Viewpoint Only

  38. Summary • User Viewpoint • Application Boundary • Transactions • Inputs • Outputs • Inquiries • Files • Internal • External

  39. User Viewpoint • Productivity: “Goods or services produced per unit of labor or expense” • Customers do not buy lines of code • Customers care about functionality • Focus: “What” is being delivered without clouding the issue with “how” it is being done. • User business function and exists for business reasons not just for technical or design reasons

  40. Application Boundary • Drawn around entire application Inquiries Boundary Input Output Internal Logical Files External Interface Files

  41. Benefits of Function Points • Scheduling, effort, cost estimates • Effects on communications, sharpens management judgement, improves development process • GUI, Algorithms, Objects

  42. Gather Documentation • Users’ perceived objectives, problems and needs. • Documentation regarding the current system, • Refined objectives and constraints for the proposed system. • Requirements documentation • All Window and Report Layouts • Interfaces with other systems • Logical and/or preliminary physical data models

  43. Production FP per person-month Work/hrs per FP $Dev per FP $Maint per FP Consumption FP owned by enterprise FP needed by end users Build, lease, or purchase Contract vs In-House Value Analysis Economic Applications • Quality • Test cases per FP • Defects discovered per FP • Defect Potential per FP • Defect Removal per FP

  44. Issues • Too prone to human misinterpretation • the use of certification programs and exams has narrowed the range of counting variance to within about 10 percent. • Too labor-intensive • automated counting tools • Not adequate for non- business information systems • consumer devices , real -time, embedded • Continually revised, adapted (feature points, Engrg , object, etc) • Standardization • 20 variations , IFPUG dominant • International Standards Organization

  45. Where to get more information and presentation references • Int’l Function Point User Group (www.ifpug.org) • Software Productivity Research (www.spr.com) • Longstreet Consulting (www.ifpug.com) • Geneer (www.geneer.com) • Capers Jones Books on Software Quality • Software Quality, Analysis & Guidelines • Applied Software Measurement

  46. Questions ????

  47. Contact Information Mike Pasley Email Address: mpasley@logicentral.com Logic Central Web Page: http://www.logicentral.com

More Related