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



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

Derived Data in Classifying an EO

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT

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

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

SIZING ANDROID MOBILE APPLICATIONS

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

FAST Function Points. David Seaver Director Estimation and Measurement Fidelity Investments

Counting Infrastructure Software

Measuring Change Requests to support effective project management practices.

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

Measuring Software Functionality Using Function Point Method Based On Design Documentation

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

Fundamentals of Function Point Analysis

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?

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

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

Function Point Measurement from Java Programs

Appendix G Technical Methodology and Approach Document

Introduction to Function Points

Function Points Analysis Training Course

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

Function Point Counting Practices Manual. Release 4.1.1

EPL603 Topics in Software Engineering

Agile Estimating: My DPS Dissertation

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

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

MEASURING THE SIZE OF SMALL FUNCTIONAL ENHANCEMENTS TO SOFTWARE

FUNCTION POINT ESTIMATION METHODS: A COMPARATIVE OVERVIEW

A FRAMEWORK FOR AUTOMATIC FUNCTION POINT COUNTING

ALGORITHM OF SELECTING COST ESTIMATION METHODS FOR ERP SOFTWARE IMPLEMENTATION

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

How to Determine Your Application Size Using Function Points

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

SIZE & ESTIMATION OF DATA WAREHOUSE SYSTEMS

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

ERP. Enterprise Resource Planning. Presented at May, 21st by. Mümtaz Copur Andreas Reichert. for. ITTM-class SS Managers and stakeholders

Defining the Scope of a Project

Enabling Data and Analytics. for Enterprise Asset management (EAM) Devang Patel & Arun Narayanan. SEAL Consulting Inc SESSION CODE: EM2098

Managing Projects with Practical Software & Systems Measurement PSM

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

Controlling Risks Safety Lifecycle

Rödl Enterprise Application Integration Bus

Extending Function Point Estimation for Testing MDM Applications

A Specific Effort Estimation Method Using Function Point

SUMMARY NOMENCLATURE 1. INTRODUCTION

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

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

A TOOL FOR SOFTWARE PROJECT MANAGEMENT FOR ESTIMATION, PLANNING & TRACKING AND CALIBRATION

Large Scale Systems Design G52LSS

ATTACHMENT II - WRITTEN PROPOSAL RESPONSE AND GUIDELINES

Software Cost Estimation using Function Point with Non Algorithmic Approach

TEN TIPS FOR A SUCCESSFUL INFOR IMPLEMENTATION

Statement of Work. Shin Woong Sung

Book 3 Cost Estimating in an Agile Development Environment. (early release)

New Jersey Transportation Authority (NJTA) Request For Proposal And Optional PeopleSoft Financial System

Timesheet Instructions

Function Points Analysis Training Course ANSWERS

Business Intelligence. A Presentation of the Current Lead Solutions and a Comparative Analysis of the Main Providers

ENTERPRISE RESOURCE PLANNING SYSTEMS

An Integrated Methodology for Implementing ERP Systems

REVIEWS ON FUNCTIONAL SIZE MEASUREMENT IN MOBILE APPLICATION AND UML MODEL

CMMS/EAM AND FINANCIAL INTERFACES. Joe Grassi, Grassi & Associates

Course Outline. Business Analysis & SAP BI (SAP Business Information Warehouse)

Corporate Performance Management Framework

Brillig Systems Making Projects Successful

Query Organizer Tool for Oracle DBA Chennakeshava Ramesh Oracle DBA

Course Title: ITAP 3383: Enterprise Resource Planning Systems

Printshop Workflow Automation System

Business Process and Test Automation For Instrumentation & Measurements Software

A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle

Implementing ERP Systems in Government: Case Study of Saudi Organization

Seven Reasons to Use PlanView for Timesheets

OCR LEVEL 3 CAMBRIDGE TECHNICAL

MSACMT260A Use planning software systems in manufacturing

Retained Fire Fighters Union. Introduction to PRINCE2 Project Management

The software maintenance project effort estimation model based on function points

ICT Project Management. Software Project Planning By J. Ogutu

Proposal to be returned PRIOR to time and date above.

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

Understanding ERP Architectures, Security and Risk Brandon Sprankle PwC Partner March 2015

Sizing Application Maintenance and Support activities

OCR LEVEL 3 CAMBRIDGE TECHNICAL

PeopleSoft Compare Process

Transcription:

FUNCTION POINT ANAYSIS DETERMINING THE SIZE OF ERP IMPLEMENTATION PROJECTS By Paulo Gurevitz Cunha Introduction In general, when we receive a request to implement a package, the first question that comes in the PM s minds is how can we estimate such project as we don t have similar experience? The first step to estimate any project is to determine its size, with which we can estimate effort, duration and staff based on historical data and team experience. This paper shows an approach to calculate the size in Function Points for projects implementing ERP packages such as SAP, PeopleSoft, Oracle Applications, etc Implementing an ERP is no different from implementing any enhancement project and all FPA techniques apply. It generally involves adding, changing and deleting business functionality, reflected in the specific designs by programs, screens, reports and data structures (files or database sets). Understanding the impact on the business functionality is the basis for determining the size in FP. The steps to calculate the functional size involve determining the boundaries impacted by the project scope, identifying the data and transaction functions, calculating the unadjusted FP size and adjusting the FP size. On the present paper the focus is only on the first two steps, determining the boundaries and identifying the functions, as the other steps are exactly the same as in any other type of project. Determining the Boundaries Usually one of the most emphasized lessons taught in function points classes refers to the difficulty in determining the boundaries of the project being counted, which would be like building a context diagram under the FPA viewpoint. It is very difficult for students to visualize how important and complex this task can be because the samples presented on the FPA courses are usually of low complexity new developments and/or enhancements with one single application, which represent the simplest case in terms of boundaries identification. Look at the following example extracted from the IFPUG CPM and some other courses:

Direct Charge EI-Add EI-Change EQ Overhead Employee EQ EI-Add EI-Change Project Application Time Accounting System EO-Project Hours EIF EIF Project File EQ-Employee List Project Tasks EQ-Project Tasks Time Data Human Resources Application EQ-Supervisor List EIF Supervisor Name EO Project Hours HardCopy EO-Project Hours O/L EO-Direct Charge EO Overhead Hours Employee Name/ID On this example we show the classical timesheet application, simply called here by Time Data, interacting with some external applications, such as Human Resources and Projects. It is important to clarify the difference between applications and projects. Usually, a project s life cycle begins with a request for proposal (RFP) from the customer for a service that will be estimated, and when approved it maybe broken down into multiple projects. What drives the decision of what is in the scope of each project are commercial or political issues and/or the logistics of project management. Each project may involve building or enhancing several applications which, under FPA point of view, form a software unit that corresponds to a functional area as recognized by the business under the user s perspective. During a function point counting, for each application impacted by the scope of the project, a boundary should be determined and the data and transaction functions identified around it. Following is presented a generic example that illustrates the complexity of determining the boundaries, especially important for ERP implementation projects.

In this example, it is presented a scenario of a very large company whose IT philosophy is driven to developing global solutions to be implemented in each of its units around the world. This global solution can be an ERP or a best practice application identified among its units that is adapted to be a global solution. After the ERP is chosen or a best practice application is developed it needs to be implemented in all units, replacing some legacy applications and adapting the remaining existing applications to interface with the new application. This generic example will show the approach to determine the size of the project to adapt all remaining applications, usually a very large and complex enhancement project. Following is a fictitious legacy architecture in one of the units: Interfaces APPL-1 1 2 3 4 5 APPL-2 7 6 8 In this case the solution adopted is going to replace APPL-1 and APPL-2 as follows: Interfaces 1 APPL-1 2 3 4 5 APPL-2 GLOBAL SOLUTION/ERP 7 8 6

The implementation project includes the decommissioning of applications APPL1 and APPL-2 (outside of the scope of this paper as its size is not measurable in function points) and the enhancement of applications, and APPL- C to adapt its functions and interface with the new solution/application. In this case four counting boundaries must be identified, one for the Global Solution/ERP that needs to be enhanced and one for each legacy application (, and APPL_C) impacted by the project, as follows: BOUNDARY 1 GLOBAL SOLUTION/ERP Fig. 3 BOUNDARY 2 Fig. 3 GLOBAL SOLUTION/ ERP Fig. 4

BOUNDARY 3 GLOBAL SOLUTION/ ERP Fig. 5 BOUNDARY 4 GLOBAL SOLUTION/ ERP Fig. 6 Completing the counting models for each boundary with the identified functions (EIs, EOs, EQs, ILFs and EIFs) is only possible after the Study or Define phase is finished, determining the high level requirements that will be part of the scope. The study will determine interfaces, reports, inquires and data structures (and corresponding updating transactions) to be changed or created due to the new implemented solution. For example, there could be reports on the decommissioned applications that are still needed but not produced by the Global Solution/ERP, or reports that exist on the Global Solution/ERP but require modification. Also, there could be files that are not currently sent to the decommissioned applications but are required by the Global Solution/ERP and therefore calls for a new interface to be created on some legacy remaining application, or the same interface already exists but need modification. All these objects will be represented in the counting model by FP functions being added, changed or deleted, like any other enhancement project.

Identifying Functions With the assumption that the study phase is concluded and all requirements mentioned above identified, lets see how the boundary model for the Global Solution/ERP looks like, based on the following requirements: Produce interfaces 1 and 6 (External Outputs EO) Receive interface 5 (External Input EI, that updates the ILF XPTO-1) Produce a new report (External Output EO) Modify two existing ILFs (XPTO1 and XPTO-2) and corresponding functions to update it and inquire from it. Add a new ILF (XPTO-3) and corresponding functions to update it and inquire from it. BOUNDARY 1 SISTEMA GLOBAL EO - Interface 1 EO -Interface 6 ILF XPTO-1 EQ Inquire XPTO-1 EI - Add, Change and Delete XPTO-1 EI - Interface 5 ILF XPTO-2 EQ Inquire XPTO-2 EO - Report ILF XPTO-3 EI - Add, Change and Delete XPTO-2 EQ Inquire EI - Delete EI - Change Fig. 7 EI - ADD

The following table shows the summary of the count to adapt the Global Solution/ERP: Function Function Type Operation (Added, Changed or Deleted) 1. Interface 1 EO C 2. Interface 6 EO C 3. Interface 5 EI A 4. Report EO A 5. ADD XPTO-3 EI A 6. Change XPTO-3 EI A 7. Delete XPTO-3 EI A 8. Inquire XPTO-3 EQ A 9. XPTO-1 ILF C 10. XPTO-2 ILF C 11. XPTO-3 ILF A 12. ADD XPTO-1 EI C 13. Change XPTO-1 EI C 14. Delete XPTO-1 EI C 15. Inquire XPTO-1 EQ C 16. ADD XPTO-2 EI C 17. Change XPTO-2 EI C 18. Delete XPTO-2 EI C 19. Inquire XPTO-2 EQ C Fig. 8 The above table will be the basis for the unadjusted FP calculation, when complexities of each function are determined, which is outside of the scope of this study. Now we need to do the same as we did for the Boundary 1, to all boundaries identified (, and ). Let s use the Boundary 4 () as our next example. Following is the list of requirements identified: Change Interface 7 (External Output EO) to a new format compatible with the ERP. Produce a new Interface 8 (External Output EO) Change an ILF (XYZ-1) and corresponding updating and inquire functions. Change the reception of a file (External Interface File EIF) that is sent from APPL_B and is also changed as part of this project.

EO - Interface 7 EO - Interface 8 GLOBAL SOLUTION/ ERP EIF - Interface B ILF XYZ-1 EQ Inquire EI Delete EI - Change EI - Add Fig. 9 The following table shows the summary of the count to adapt : Function Function Type Operation (Added, Changed or Deleted) 1. Interface 7 EO C 2. Interface 8 EO A 3. ADD XYZ-1 EI C 4. Change XYZ-1 EI C 5. Delete XYZ-1 EI C 6. Inquire XYZ-1 EQ C 7. Interface D EIF C 8. XYZ-1 ILF C

Conclusion After the conclusion of those tables for each of the four applications impacted by the project, we must calculate separately the adjusted (AFP) and unadjusted (UFP) function points, keeping in mind that each of these applications can reside in different platforms and programming languages and have different project characteristics, what can lead to different value adjustment factors (VAF). Then, and only then, we can add up all sizes counted to come up with the total size of the project of implementing a Global Solution or ERP in one of the units of this fictitious company. Estimating the project (effort, duration and staff) is another story. Whether this is going to be treat as a single project or one project for each application depends on the particular strategies adopted by each organization. Having several counts, one for each application will give also the flexibility of having multiple projects and estimates. It is also important to consider that, although not part of the scope of this study, the legacy applications decommissioned and replaced by the ERP are being deactivated and there is an effort associated that must be estimated and added to the project estimates, but is not based on function points.