270 likes | 370 Views
NYC SPIN. UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group www.davidconsultinggroup.com. PRESENTATION HIGHLIGHTS. The Need for Sizing Function Point Overview Effective Use of Function Points . CRITICAL SOFTWARE ISSUES.
E N D
NYC SPIN UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group www.davidconsultinggroup.com
PRESENTATION HIGHLIGHTS • The Need for Sizing • Function Point Overview • Effective Use of Function Points
CRITICAL SOFTWARE ISSUES • Understanding the Customer’s Requirements • Effectively Sizing the Requirements • Accurately Estimating the Deliverable • Managing a Successful Delivery
CHARACTERISTICS OF AN EFFECTIVE SIZING METRIC • Meaningful to developer and user • Defined (industry recognized) • Consistent (methodology) • Easy to learn and apply • Accurate, statistically based • Available when needed (early)
FUNCTION POINTS IS AN EFFECTIVE SIZING METRIC Function Point Analysis is a standardized method for measuring the functionality delivered to an end user. • Consistent method • Easy to learn • Available early in the lifecycle • Acceptable level of accuracy • Meaningful internally and externally • Results are normalized across different environments
FUNCTION POINT ANALYSIS • Definition • Standard method for measuring software development • from the customer’s point of view Objectives • Measure software development and maintenance • independently of technology used for implementation • Measure functionality that the user requests and receives
FUNCTION POINT ANALYSIS - A LOGICAL VIEW • Logical • Functionality required • Logical groups of user data • Business processes • Physical • Lines of code or programs/modules • Physical database or files • Physical transactions (screens)
THE FUNCTION POINT METHODOLOGY • External Inputs • External Outputs • External Inquiries • Internal Logical Files • External Interface Files Five key components are identified based on logical user view External Input External Inquiry External Output Internal Logical Files External Interface File Application
LOGICAL VIEW OF USER REQUIREMENT External Inquiries VENDOR SUPPLY USER USER Interface WORK CENTERS LIST OF MOLDS VENDOR INFORMATION External Output PARTS PLANT MOLDS PARTS LISTING Internal Logical Files BILL OF MATERIALS USER ORDER PARTS PLANT INFORMATION CENTER External Inputs USER CHANGE BILL
THE FUNCTION POINT METHODOLOGY Each identified component is assigned a Function Point size value based upon the make-up and complexity of the data Complexity Components: Low Avg . High Total Internal Logical File (ILF) __ x 7 __ x 10 __ x 15 ___ External Interface File (EIF) __ x 5 __ x 7 __ x 10 ___ 1 3 External Input (EI) __ x 3 __ x 4 __ x 6 ___ External Output (EO) __ x 4 __ x 5 __ x 7 ___ External Inquiry (EQ) __ x 3 __ x 4 __ x 6 ___ 3 ___ Total Unadjusted FPs Record Element Types Data Elements (# of unique data fields) or File Types Referenced Data Relationships Low Low Average Average High Low Average High High
THE FUNCTION POINT METHODOLOGY General System Characteristics Data Communication On-Line Update Distributed Data Processing Complex Processing Performance Objectives Reusability Heavily Used Configuration Conversion & Install Ease Transaction Rate Operational Ease On-Line Data Entry Multiple-Site Use End-User Efficiency Facilitate Change 14 General Systems Characteristics are evaluated and used to compute a Value Adjustment Factor (VAF) The final calculation is based upon the Unadjusted FP count X VAF
PURCHASEORDERSYSTEM USER USER PAYMENTS ADD, CHG INVOICES PURCHASEORDER INFO PAYMENTS INVOICES VENDOR USER PAYMENT STATUS ACCOUNTS PAYABLE USER PAIDINVOICES SIZING THE REQUIREMENT External Input External Inputs External Interface File External Inquiry Internal Logical Files External Output
DETERMINE THE FUNCTION POINT COUNT Components: Low Avg. High Total Internal Logical File (ILF) X 7 2 X 10 1 X 15 35 External Interface File (EIF) X 5 X 7 1 X 10 10 External Input (EI) 1 X 3 X 4 2 X 6 15 External Output (EO) 1 X 4 X 5 X 7 4 External Inquiry (EQ) X 3 1 X 4 X 6 4 68 COMPONENTS ARE ASSESSED BASED UPON COMPLEXITY: Data Element Types (Fields or Attributes) File Types Referenced (ILFs or EIFs) Record Element Types (Data Sub-Groups) Complexity Function Point Count
WHEN TO COUNT FUNCTION POINTS PROPOSAL REQUIREMENTS CONSTRUCTION CORRECTIVEMAINTENANCE TESTING DESIGN DELIVERY Scope Adjustment Initial User Requirements Feasibility Study Change Request SIZING SIZING Initial Technical Requirements SIZING SIZING Final Functional Requirements SIZING
INTERNATIONAL FUNCTION POINT USERS GROUP (IFPUG) • Purpose • To promote and encourage use of Function Points • To develop consistent and accurate counting guidelines • Benefits • Networking with other counters • IFPUG Counting Practices Manual • Research projects • Hotline • Newsletter • Certification • Utilization • Member companies include all industry sectors • Over 1200 members in more than 30 countries
EFFECTIVE USE OF FUNCTION POINTS • Requirements Management • Estimating • Benchmark Comparisons • Managing Change
PURCHASEORDERSYSTEM USER USER External Input PAYMENTS ADD, CHG INVOICES External Inputs External Interface File PURCHASEORDER INFO PAYMENTS INVOICES External Inquiry VENDOR USER Internal Logical Files PAYMENT STATUS ACCOUNTS PAYABLE External Output USER PAIDINVOICES MANAGING REQUIREMENTS Functionality requested by the user may be organized into logical parts that match the five function point components
FUNCTION POINT SIZE – SO WHAT? = 3200 square feet How long will it take to build?
RISK FACTORS PROJECT COMPLEXITY PROJECT SIZE X X REQUIREMENT ESTIMATING MODEL ESTIMATE CAPABILITY DEFINITION Schedule Costs Effort FUNCTION POINTS
RISK FACTORS Estimates will also vary based upon a variety of risk factors: • Technology Applied such as tools, languages, reuse, platforms • Process/Methodology including tasks performed, reviews, testing, object oriented • Customer/User and Developer skills, knowledge, experience • Environment including locations, office space • System Type such as information systems; control systems, telecom, real-time, client server, scientific, knowledge-based, web • Industry such as automotive, banking, financial, insurance, retail, telecommunications
2200 2000 1800 1600 1400 Software Size 1200 1000 800 600 400 200 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 Rate of Delivery Function Points per Person Month ESTABLISHING A BASELINE Performance Productivity Size is expressed in terms of functionality delivered to the user A representative selection of projects is measured Organizational Baseline Rate of delivery is a measure of productivity
COMPARISONS TO INDUSTRY Industry Baseline Performance 2200 2000 1800 1600 1400 Software Size 1200 1000 800 600 400 200 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 Rate of Delivery Function Points per Person Month
BASELINE PERFORMANCE PERFORMANCE PRODUCTIVITY CAPABILITIES BUSINESS VALUE DELIVERABLES DEFECTS SKILL LEVELS RESOURCES COSTS TECHNOLOGY PROCESS TIME TO MARKET MEASURED PROFILE BARRIERS PERFORMANCE PROCESSIMPROVEMENT
CHANGE OF SCOPE MANAGEMENT Initial Interim Estimate Estimate Estimate Variance Function Points 500 650 +150 Effort (months) 33 43 +10 Schedule (months) 11 14 +3 Staffing Levels (FTE) 3 3 -0- Production Rate (FP/mo) 15 15 -0-
COMMUNICATING CHANGES IN SCOPE Change of ScopeInputs OutputsInquiries Files InterfacesTotal Add vendor function 6 - 4 3 2 100 Graphical display - - 5 - - 20 Banking System 3 1 1 1 - 20 Mandatory Changes - 2 - - - 10 Total 150 Function Point Change of Scope Summary
COMMUNICATING IMPACT AND OPTIONS Additional Additional Additional FP Effort Cost Schedule Change in ScopeCount (staff mo.) ($000)___ (calend. mo.) Add Vendor Function 100 7 100 2.0 Graphical Displays 20 1.2 20 .4 Banking System 20 1.2 20 .4 Mandatory Changes 10 .6 10 .2 Total 150 10 $150 3.0 mos. OPTIONS 1. Increase funding level and schedule 2. Reduce functionality, or do not accept change 3. Trade off quality and maintenance costs for schedule 4. Delay delivery of change
GENERAL INFORMATION • International Function Point Users Group www.ifpug.org • International Software Benchmarking Standards Group www.isbsg.org.au • Measuring The Software Process: A Practical Guide To Functional Measurements, Prentice Hall, 1996 • Function Point Analysis; Measurement Practices for Successful Software Projects, Addison-Wesley, 2001