FAST Function Points. David Seaver Director Estimation and Measurement Fidelity Investments 8-563-6753

Similar documents
Introduction to Function Points

FUNCTION POINT ANAYSIS DETERMINING THE SIZE OF ERP IMPLEMENTATION PROJECTS By Paulo Gurevitz Cunha

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what?

Why SNAP? What is SNAP (in a nutshell)? Does SNAP work? How to use SNAP when we already use Function Points? How can I learn more? What s next?

Fundamentals of Function Point Analysis

MEASURING THE SIZE OF SMALL FUNCTIONAL ENHANCEMENTS TO SOFTWARE

Software Development: Tools and Processes. Lecture - 16: Estimation

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT

Derived Data in Classifying an EO

SIZING ANDROID MOBILE APPLICATIONS

Calculation of the Functional Size and Productivity with the IFPUG method (CPM 4.3.1). The DDway experience with WebRatio

DETERMINING THE SIZE OF ERP IMPLEMENTATION PROJECTS. Paulo Gurevitz Cunha EDS EDS --Electronic Data Systems Data Engineering West,

IPA/SEC Data entry form Version 3.0 for IPA/SEC White Paper 20xx on software development projects in Japan

Function Point Measurement from Java Programs

Counting Infrastructure Software

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

Full Function Points for Embedded and Real-Time Software. UKSMA Fall Conference

Industry Metrics for Outsourcing and Vendor Management

Measuring Change Requests to support effective project management practices.

How to Avoid Traps in Contracts for Software Factory Based on Function Metric

Industry Metrics for Outsourcing and Vendor Management

Function Point Counting Practices Manual. Release 4.1.1

Does function point analysis change with new approaches to software development? January 2013

Change Request Process Overview

SIZE & ESTIMATION OF DATA WAREHOUSE SYSTEMS

Copyright 2014 Alvin J. Alexander All rights reserved. No part of this book may be reproduced without prior written permission from the author.

Figure 1: Security Warning Enable Macros Excel 2003

System Administration and Log Management

How to Determine Your Application Size Using Function Points

Sizing Logical Data in a Data Warehouse A Consistent and Auditable Approach

Welcome to the topic on Master Data and Documents.

Function Points Analysis Training Course

Function Points Analysis Training Course ANSWERS

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

5. CHANGING STRUCTURE AND DATA

Guidelines for Accessing and Using the VDOT Scheduling Application (Primavera P6)

McAfee Endpoint Encryption Reporting Tool

FUNCTION POINT ESTIMATION METHODS: A COMPARATIVE OVERVIEW

Software Quality Assurance Plan

Eloqua Discover Frequently Asked Questions

Applications Manager Version 8.0

Release Management Release, Release Features and Migration. Release Management

TECH BULLETIN NETGEN1 DOOR CONTROLLER WI-FI NETWORK CONFIG

Define Activities Sequence Activities Estimate Activity Resources Estimate Activity Durations Develop Schedule Control Schedule

Piston Ring. Problem:

IGSS. Interactive Graphical SCADA System. Quick Start Guide

Testing PCI/ISA & PCMCIA Serial Cards

GARDINER TECHNOLOGY. Gardtec Speech Dialler UG4100 Rev1.0. The Gardtec Speech Dialler Step by Step User Guide

Measuring Software Functionality Using Function Point Method Based On Design Documentation

Using Entity-Relationship Diagrams To Count Data Functions Ian Brown, CFPS Booz Allen Hamilton 8283 Greensboro Dr. McLean, VA USA

UCBI Web Capture Remote Deposit User Instructions

NOTES ON XER EXPORT AND IMPORT BETWEEN ASTA POWERPROJECT AND IMPORT TO PRIMAVERA VERSION 5.0 PAUL E HARRIS EASTWOOD HARRIS

Password Self Help Password Reset for IBM i

Client applications are available for PC and Mac computers and ios and Android mobile devices. Internet

Deltek Touch Time & Expense for GovCon. User Guide for Triumph

WINDOWS 7 EXPLORE INTERNET EXPLORER 8

Configuring the WT-4 for Upload to a Computer (Ad-hoc Mode)

The IFPUG Counting Practices On-Going Effort in Sizing Functional Requirements. Janet Russac

Oracle Database 12c: Introduction to SQL Ed 1.1

The Windows Command Prompt: Simpler and More Useful Than You Think

Press 1 for How to count Press 2 for an IVR Press 3 for using Function Points

Automated Function Points in a Continuous Integration Environment (Agile AFP)

2 SYSTEM DESCRIPTION TECHNIQUES

!"#"$%&'(()!!!"#$%&'())*"&+%

Productivity Measurement and Analysis

PRODUCTIVITY THROUGH INNOVATION 600 CONTROL DIRECT DRIVE TECHNICAL/OPERATION MANUAL

Samsung SDS. Enterprise Mobility Management

EPL603 Topics in Software Engineering

SNMP Manager User s Manual

Agile Estimating: My DPS Dissertation

User s Manual. Management Software for ATS

3 IDE (Integrated Development Environment)

CHAPTER 11: Flip Flops

Extending Function Point Estimation for Testing MDM Applications

Now that you have a fleet management system, what should you do with it?

Set Top Box User Guide. Global Reach with a Local Touch

The service note describes the basic steps to install a ip camera for the DVR670

DSTV DECODER SETUP MANUAL July 2013

2009 Braton Groupe sarl, All rights reserved.

Auditing UML Models. This booklet explains the Auditing feature of Enterprise Architect. Copyright Sparx Systems Pty Ltd

TISSOT TWOTIMER SETTING INSTRUCTIONS

Working with Multiple Devices

Configuring a Check Point FireWall-1 to SOHO IPSec Tunnel

Assessing Software Productivity with An Estimation Model: A Case Study. Elizabeth A. Miller, Galorath Incorporated

Project Management with Enterprise Architect

IBM i Version 7.2. Systems management Advanced job scheduler

Note: A WebFOCUS Developer Studio license is required for each developer.

Registry Tuner. Software Manual

Government of Saskatchewan Executive Council. Oracle Sourcing isupplier User Guide

BT Billing Analyst Quick guide

Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET

Transcription:

FAST Function Points David Seaver Director Estimation and Measurement Fidelity Investments david.seaver@fmr.com 8-563-6753

Outline of the Presentation Overview of function points (IFPUG based Technique) FAST Function Points Overview An example of a requirements based Function Point Count An example of a Screen based completed project Function Point Count

What is a Function Point Function Points measure software size by quantifying the functionality provided to the user based solely on logical design and functional specifications. With this in mind, the objectives of FP counting are to: measure functionality that the user requests and receives measure software development and maintenance rates and size independently of the technology used for implementation provide a normalizing measure across projects and organizations

What is Function Point? External Input Application Being Considered External Interface Files External Output External Inquiry Internal Logical File External Input External Output External Inquiry Other Applications Functionality as viewed from the user s perspective

How to Count Function Points

How to Count Function Points Displays Reports Master Files Size Control Files Reference Files Signals

Steps in FP Counting Determine Type of Count Identify Counting Scope and Application Boundary Count Data Functions Count Transactional Functions Determine Unadjusted Function Point Count Determine Value Adjustment Factor Calculate Adjusted Function Point Count

FP Overview: What Is Counted EI P1 Update Master File ILF Master File P2 Produce Weekly Report EO Weekly Summary Report Key Details EQ P3 Master File Details Reference File on another System EIF System Boundary

Data Storage Internal Logical File (ILF) Logical group of data maintained by the application (e.g., Employee file) External Interface File (EIF) Logical group of data referenced but not maintained (e.g., Global state table)

Transactions External Input (EI) Maintains ILF or passes control data into the application External Output (EO) Formatted data sent out of application with added value (e.g., calculated totals) External Query (EQ) Formatted data sent out of application without added value

Functional Size (Unadjusted Function Size) Function Type Low Average High EI x 3 x 4 x 6 EO x 4 x 5 x 7 EQ x 3 x 4 x 6 ILF x 7 x 10 x 15 EIF x 5 x 7 x 10

Value Adjustment Factor Based on 14 General System Characteristics (User Business Constraints Independent of Technology) Examples: data communications, response times, end user efficiency, multiple sites and flexibility Adjusts FP count by up to + / - 35%

Software Development Challenges Size of Requirements Changes to Requirements Estimation Based on Requirements Measuring and Improving Productivity and Quality

Size of Requirements Requirements Complete Business Terms Mutual Understanding Document Assumptions Size

Changes to Requirements Changes to Requirements Change Inevitable Trade-offs Customer Definition of Quality Size

Estimation Based on Requirements Estimation Based on Requirements Multiple Models Weighted Inputs: Language Skills Methodology Risk Factors Size Historical Base

Function Points Some Resources International Function Point Users Group http://www.ifpug.org/ International

Problems (real and alleged) with Function Points Takes a long time experienced counter can count 1500 function points a day Boring Cannot perform accurate count until design in reasonably complete Inconsistency

Function Points (My personal opinions) Core strength of the technique is the relationship it establishes between user transaction & data and software costs & schedules Very strong communication tool Proactively applied early in a project function points can accelerate the requirements and high level design process

Steps in FP Counting IFPUG Determine Type of Count Identify Counting Scope and Application Boundary Count Data Functions Count Transactional Functions Determine Unadjusted Function Point Count Determine Value Adjustment Factor Calculate Adjusted Function Point Count FAST Document Purpose of Estimate Identify Scope and Boundary Count Transactions Assign Data Functions to appropriate transactions Determine Unadjusted Function Point Count Determine Value Adjustment Factor Calculate Adjusted Function Point Count

How to Accelerate FP Counts Develop a profile of your Transactions and Data Functions Example Most of my use case have following attributes Create/new data function Edit No delete Edit or delete has an implicit inquiry Maintain 1 logical data group 1 report In function point speak 2 inputs add/edit 1 inquiry 1 file 1 ouput

How to Accelerate FP Counts Develop a profile of your typical complexity outputs are medium 5 Function Points inputs are low 3 Function Points inquiries are low 3 Function Points files are low 7 Function Points external interface files are not found 0 Function Points For my typical Use Case 2 inputs 6 Function Points 1 inquiry 3 Function Points 1 output 5 Function Points 1 File 7 Function Points General System Characteristics =1.12 AFP =23.52 round up to 24 Function Points for each use case

Accelerate Function Point Counts Take advantage of available Data ISBGS has average complexity numbers for the projects in the data base (700) Also have product delivery rate data for industry and platform PDR = hour/function point Platform Mainframe Midrange PC Useful as a inexpensive benchmarking tool

Accelerate Function Point Counts Low Average High ISBGS inputs 3 4 6 4.3 outputs 4 5 7 5.4 queries 3 4 6 3.8 files 7 10 15 7.4 xfiles 5 7 10 5.5 Low, Average and High are the IFPUG values for Transactions and Data Functions Values in ISBGS column are the average values for the Transaction and Data Functions from the International Software Benchmarking Groups Database of projects

Estimating Examples Cost Categories BSV PPI SRA Function Points 93 819 1,436 total hours 947 8,859 15,788 Total Cost $ 99,481 $ 885,876 $ 1,578,803 rate/hour 105 105 105 person months 6 57 102 person years 0.5 4.8 8.5 Defects 13 147 273 FP/PM 15 14 14 Project Start 6/1/00 6/1/00 6/1/00 SRA/PPI Complete 6/10/00 7/25/00 8/8/00 TSD Complete 8/1/00 11/21/00 1/4/01 TPD Complete 9/7/00 2/14/01 4/21/01 SIT Complete 9/7/00 2/14/01 4/21/01 System Test Complete 9/21/00 3/24/01 6/7/01 Install Complete 9/27/00 4/8/01 6/25/01 Management wants to know how cost went from $100K to $1.5M You can use function points to explain what happened You can use function points to get approval of what's happening before you get into trouble

Function Point Count at BSV BSV Estimate 8 2 4 3 0 93 83 34 11 15 22 0 Name inputs outputs inquiries files ex files Index Note inputs outputs inquiries files ex files maintain core personnel data 3 2 1 1 35 data elements, add, edit, delete 13 11 4 7 0 online help 2 2 1 9 0 8 7 0 maintain users access data 3 1 1 13 0 4 7 0 Simple project, administer 35 data elements for all employees in the company, simple GUI, online help, maintain user access for security reasons Total of 93 Function Points Created from system context diagram

Assumption Made to Generate Estimate System developed in Oracle Team has completed several Oracle Projects Team has completed several projects of this type Team has experience in this industry Requirements are stable

Estimate At BSV Function Points BSV Estimate Defects/ Function Points/ Function Hours Points 93 1.97 0.14 Activity Requirements Analysis Preliminary Design System Designers/ Analysts Programmers Test Engrs. Project Mgt. QA/ CM Tech Pubs Total Hours Activity Length (Days) Start Dates End Dates 104 0 49 12 17 7 189 9 6/1/2000 6/10/2000 76 24 30 10 12 6 157 28 6/2/2000 6/30/2000 Detail Design 115 36 45 15 18 9 236 54 6/7/2000 8/1/2000 Code and Unit Test 8 45 11 3 12 2 80 58 6/21/2000 8/18/2000 Integration and Test 35 24 59 7 39 7 171 72 6/27/2000 9/7/2000 System Integn & Test 20 7 20 3 16 3 68 112 6/1/2000 9/21/2000 Installation 17 6 9 2 11 2 47 62 7/27/2000 9/27/2000 Total 374 141 223 51 124 35 947 118 6/1/2000 9/27/2000

Function Point Count at SRA SRA Size Estimate 74 13 24 34 0 819 731 318 70 91 252 0 Name inputs outputs inquiries files ex files Index Note inputs outputs inquiries files ex files maintain core personnel data 3 2 1 1 35 data elements, add,edit,delete 13 11 4 7 0 online help 2 2 1 9 0 8 7 0 maintain users access data 3 1 1 13 0 4 7 0 0 0 0 0 0 add 4 other data types 12 4 4 4 support 5 different data feed formats 52 22 15 30 0 international data differences 2 1 1 UK 9 0 4 7 0 4 1 1 Japan 17 0 4 7 0 10 1 5 Germany 43 0 4 37 0 2 1 1 China 9 0 4 7 0 0 0 0 0 0 Data Providers 7 7 7 data providers 0 38 0 52 0 0 0 0 0 0 Data Consumers 36 12 12 12 data consumers 155 0 46 89 0

Assumption Made to Generate Estimate System developed in Oracle Team has completed several Oracle Projects Team has completed several projects of this type Team has experience in this industry Requirements are stable?

Estimate At SRA Function Points Defects/ Function Points FP/Person Month 819 14.3 0.18 SRA Estimate Activity System Designers/ Analysts Prog. Test Engrs. Project Mgt. QA/ CM Tech Pubs Total Hours Activity Length (Days) Start Dates End Dates Requirements Analysis 958 0 451 107 155 63 1733 54 6/1/2000 7/25/2000 Preliminary Design 725 225 283 92 113 54 1490 81 6/19/2000 9/9/2000 Detail Design 1087 337 424 138 169 81 2235 118 7/26/2000 11/21/2000 Code and Unit Test 61 359 90 26 94 14 643 104 9/17/2000 12/30/2000 Integration and Test 343 229 571 68 382 69 1662 119 10/18/2000 2/14/2001 System Integn & Test 190 68 195 27 152 27 659 296 6/1/2000 3/24/2001 Installation 155 56 89 18 100 18 436 163 10/27/2000 4/8/2001 Total 3519 1273 2102 475 1164 326 8859 311 6/1/2000 4/8/2001

Function Point Count at SDS 124 47 25 54 0 1435 1282 533 254 95 400 0 Name inputs outputs inquiries files ex files Reference Note inputs outputs inquiries files ex files Data Encryption 5 5 encryp any standard phone inputs if international 22 0 0 37 0 0 0 0 0 0 Ad HOC report Writer 3 6 1 1 13 32 4 7 0 0 0 0 0 0 error notification 14 initial error notification and correction notification 0 76 0 0 0 0 0 0 0 0 data push 21 7 7 initiate data correction to providers 90 38 0 52 0 data pull 21 7 7 initiate data correction from consumers 90 38 0 52 0

Assumption Made to Generate Estimate System developed in Oracle Team has completed several Oracle Projects Team has completed several projects of this type Team has experience in this industry Requirements are stable?

Estimate At SDS Function Points Defects/ Function Points FP/Person Month 1,436 14.1 0.19 SDS Estimate Activity System Designers/ Analysts Programmers Test Engrs. Project Mgt. QA/ CM Activity Tech Pubs Total Hours Length (Days) Start Dates End Dates Requirements Analysis 1699 0 800 190 274 111 3074 68 6/1/2000 8/8/2000 Preliminary Design 1297 402 506 165 201 96 2667 100 6/26/2000 10/4/2000 Detail Design 1945 603 759 247 302 145 4000 145 8/12/2000 1/4/2001 Code and Unit Test 104 611 153 45 160 23 1095 131 10/13/2000 2/21/2001 Integration and Test 617 411 1029 122 688 124 2991 151 11/21/2000 4/21/2001 System Integn & Test 342 122 350 48 272 49 1185 371 6/1/2000 6/7/2001 Installation 277 99 159 32 179 32 777 204 12/3/2000 6/25/2001 Total 6281 2248 3754 847 2077 581 15788 389 6/1/2000 6/25/2001

Function Points for Estimate Tab 16 3 8 8 0 196 175 69 16 30 59 0 Name inputs outputs inquiries files interfaces Index Note inputs outputs inquiries files interfaces Model 2 1 2 2 9 5 8 15 0 Equation 1 0 5 0 0 0 Increment Phasing 2 1 1 1 9 5 4 7 0 Increment Breakage 2 1 1 9 0 4 7 0 Labor Cost 2 1 1 9 0 4 7 0 APM 3 1 1 13 0 4 7 0 MN APM 3 1 1 13 0 4 7 0 Description 2 1 1 9 0 4 7 0

8 17 9 5 0 221 197 34 92 34 37 0 Name inputs outputs inquiries files interfaces Me Note inputs outputs inquiries files interfaces New Estimate 1 1 4 0 0 7 0 Open Estimate 1 0 0 4 0 0 Save Estimate 0 0 0 0 0 Save Estimate As 1 4 0 0 0 0 Copy Estimate 0 0 0 0 0 Close Estimate 0 0 0 0 0 Load Model 1 1 4 0 0 7 0 Import Comands 1 1 4 0 0 7 0 Save Commands as 1 1 4 0 4 0 0 Exit 0 0 0 0 0 0 0 0 0 0 Component List 1 0 0 4 0 0 Component Tree View 1 0 0 4 0 0 Estimate List 1 0 0 4 0 0 Window List 1 0 0 4 0 0 Create Component Window 0 0 0 0 0 Close Reports for Other Estimates 0 0 0 0 0 Close All Reports 0 0 0 0 0 0 0 0 0 0 Reports 16 0 86 0 0 0 0 0 0 0 0 Constrain Project 2 1 1 1 9 5 4 7 0 0 0 0 0 0 Set Default Model 1 1 1 4 0 4 7 0 Start with empty estimate 0 0 0 0 0 reset preferences 0 0 0 0 0 Help 1 0 0 4 0 0

Function Points for COSTAR Function Points Component # Component Name Component Summary inputs outputs inquiries files interfaces 1 Estimate TAB 196 77 18 34 66 0 Component 2 TAB 202 77 24 34 66 0 3 Menu Items 221 39 103 38 41 0 Total 618 193 145 106 174 0