Function Point Analysis

Integrating Greater Accuracy, Functional Flows and Process Steps

Progress Function Point Analysis EBook

 

PFPA

 

The Progressive Function Point Analysis EBook has been released.  This book has all the answers to the questions that you have been wanting to know about Progressive FPA.  The book consists of four parts, the first chapter is the introduction to FPA, the second chapter is Progressive FPA, the third chapter is Progressive FPA worksheet, and final chapter is Performance Tweaking and Auditing for senior analysts to work on domain specific adaptation.

NOW AVAILABLE EXCLUSIVELY ON KINDLE: http://www.amazon.com/dp/B00NH0MMAG

Progressive Function Point Analaysis vs. IFPUG FPA

Greater Accuracy in FPA estimation compared to IFPUG static FP counts using Coefficient Index

IFPUG_COEFF

We use coefficient index to obtain an accurate estimate and also to avoid the static range of FP values and provide a dynamically computed function point value based on the IFPUG FP Reference Index.

To illustrate the difference the FP values are plotted below

UFPvsPFP

Given a scenario of a user input form with 4 DETs and 2 FTR in a function, the UFP count is 3FP as shown in the table above, 2 DETs will result in 1.5 FP in Progressive FP instead of 3 in standard FPA.  The immediate benefit is that there is greater accuracy though it results in a lower count.  The primary benefit of having coefficient index is there is no high value cut off.  A user input page having 32 DETs which may be 31 user input fields and 1 save command with 2 FTRs may be counted with complexity level of High and allocated an FP value of 6 as per IFPUG standard.  In progressive FP the value is computed as 32 x .375 =12 FP.  Any value above 16 DETs with 3 RETs are considered as High value FP and assigned a static value of 6.  This causes sizing problems in projects where there are many complex forms with consistently higher number of inputs/outputs than present in the standard IFPUG range.

Inclusion of Workflows within each Data & Transaction Function

Process flows are operations performed within each data and transaction function.  For most simple CRUD (Create, Read, Update, and Delete) operations, there are single step process flows and hence it does not cause any estimation drawbacks.  In larger projects with many business processes, rules and alternative flows, the lack of counting the process steps in a function leads to under estimation of effort and size of the project.

In a user login process flow there are only two inputs the username and password, 2 DETs however there may be 10 or more process calls.  In a standard IFPUG FP count is 3 FP for any DETs below 4, 2 DETs results in lesser count of 1.5 for Progressive FP count, but when adding the process count with the actual progressive FP count, the total value is 4+ FP as illustrated below.  The difference is that both the input variables and process steps are considered in the equation thus gives a better sizing estimate and effort.

Process Flow

It is required to list the steps in the process flow and may be followed up with an simple activity diagram, this provides a clear blueprint on the approach and ensures that the developer is provided with a guideline to follow.

The process steps are as follows:login_act

  1. Encrypt Password
  2. Validate Failed Login Count
  3. Login User
  4. Create SAML Request
  5. Authenticate
  6. Parse SAML Response
  7. Store Key to Session
  8. Redirect to Cutomer Page (or)
  9. Increment Failed Login Count
  10. Reset Page

We have 3 swim-lanes which are identified as LCS participants (User, SessionManager, IAM).

Preview of Progressive Function Point Analysis Workbook 3.0

ProgressiveFPA
fpaFUNCTION POINTS – VERSION 3.0
1. Support for Standard IFPUG FPA and Progressive FPA with comparison.
2. Complete code rewrite for standardization.
3. Uses IFPUG standard reference card for FPA.
4. Includes Adaption Adjustment Factor for application and component reuse.
5. Tested worksheet with test data (100%) Bug free till date.

Function Point Analysis Sheet – Adding Project Details and Project Requirements

There are standard FP tools available in the market today, but one of the finest ways to work with Project estimation is to build your own tool set that can be customized to your organizational requirements and gives you a great deal of flexibility.  I am going to use an excel worksheet to do the FPA analysis as showcased on this website.  There have been customization made to the standard FPA principles in order to include workflow management and improve accuracy using progressive estimation techniques which will be discussed shortly.

Let us begin by creating a sheet for including all project related details and a summary of calculations in the FP sheet.

FPA-OverviewHere we enter the internal project related details; ID, Name, associated Work Order, Language(s) used,Client, Tentative Start date and End date of this project.  The second part showcases the project summary, which is taken from the FP calculation sheet.  The details shown here are the calculated FPs in the project which comprises of the total FP count, the Reuse FP count, and the Process FP count, and the total man hours for the project.  Process FP is used to include workflows which we will describe shortly.  As the estimation provided uses multiplicity factor instead of static ranges of high/medium/low, it has a greater deal of accuracy so it is possible to compute both estimated man hours and total cost of the project.

The next section is the Licensing, which is issued to all who support the project, licensing helps to support the project and it is requested that all commercial projects may purchase a copy when possible.

The next sheet is the Project Use Case/User Story/Scenario list which we will refer to for each data and transaction functions by means of a reference ID.  There may also be references to Non-Functional tasks which is indicated by Has FP column.

FPA-UCSThere are four columns which consists of Reference ID, Description, UFP and Reuse FP.  All the individual use cases or user stories are listed here.  You are required to provide a unique ID and description of the use case.  Once you provide all the data and transaction functions in the use case/user story the Unadjusted FP count and Reuse FP count will be visible here to help you understand the workload in each UC/US.

Introductory Tutorial: https://sourceforge.net/p/functionpoints/wiki/FPA/

FPA Template with Integrated Process Flow for Workflow Management: https://sourceforge.net/projects/functionpoints/