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



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

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

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

Measuring Change Requests to support effective project management practices.

Derived Data in Classifying an EO

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

Introduction to Function Points

Fundamentals of Function Point Analysis

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

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT

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

SIZING ANDROID MOBILE APPLICATIONS

Measuring Software Functionality Using Function Point Method Based On Design Documentation

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?

Merrill Lynch Team s Development Plan v.1

Function Point Counting Practices Manual. Release 4.1.1

How to Determine Your Application Size Using Function Points

How to Decide which Method to Use

EPL603 Topics in Software Engineering

Accounting for Non-Functional Requirements in Productivity Measurement, Benchmarking & Estimating

Mobile Applications, Function Points and Cost Estimating. Tammy Preuss International Cost Estimation & Analysis Association Conference June 11, 2013

Counting Infrastructure Software

SOFTWARE VALUE ENGINEERING IN DEVELOPMENT PROCESS

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

Function Points Analysis Training Course ANSWERS

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

Function Point Measurement from Java Programs

FUNCTION POINT ESTIMATION METHODS: A COMPARATIVE OVERVIEW

Extending Function Point Estimation for Testing MDM Applications

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

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

Function Points Analysis Training Course

The software maintenance project effort estimation model based on function points

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

Appendix G Technical Methodology and Approach Document

A FRAMEWORK FOR AUTOMATIC FUNCTION POINT COUNTING

MEASURING THE SIZE OF SMALL FUNCTIONAL ENHANCEMENTS TO SOFTWARE

Increase ICT Project Success with Concrete Scope Management. Bachelor of SPI

An Expert Estimator Tool to Estimate Project Cost and Risk with early stage of function points

SOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007

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

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

Using Productivity Measure and Function Points to Improve the Software Development Process

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

SIZE & ESTIMATION OF DATA WAREHOUSE SYSTEMS

Function Points? David Longstreet

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

Automated Software Testing With Macro Scheduler

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

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

the state of the practice Variations in Software Development Practices

Industry Metrics for Outsourcing and Vendor Management

CALCULATING THE COSTS OF MANUAL REWRITES

Reducing Gaps In Software Process Performance Through Identification And. Implementation Of Best Software Practices

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

Survey on Impact of Software Metrics on Software Quality

Software Cost Estimation: A Tool for Object Oriented Console Applications

Agile Estimating: My DPS Dissertation

More than functional insights from comparison among functional methods of software measurement

The Latest Industry Data for Application Development And Maintenance

Hiking in a Fog. Scope Management of the Actual Software Requirements. Robyn Lawrie robyn.lawrie@charismatek.com

Cloud Perspectives. Steven Woodward CFPS, CSQA

Software Cost Estimation using Function Point with Non Algorithmic Approach

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Managing Projects with Practical Software & Systems Measurement PSM

Together. Free your energies The Capgemini Approach to Sizing Non-Custom Software Development Projects/Project Elements

risks in the software projects [10,52], discussion platform, and COCOMO

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

Software Cost Estimating Methods for Large Projects

A Fool with a Tool: Improving Software Cost and Schedule Estimation

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

Software Cost Estimating. Acknowledgments

Learning outcomes. Systems Engineering. Software Quality Management. Product reflects Process. Lecture 5. Introduction to Software Quality Management

What do you think? Definitions of Quality

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

REVIEWS ON FUNCTIONAL SIZE MEASUREMENT IN MOBILE APPLICATION AND UML MODEL

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

Industry Metrics for Outsourcing and Vendor Management

Chap 1. Software Quality Management

Business Intelligence Systems: a Comparative Analysis

Software as a Service: Guiding Principles

Early FP Estimation and the Analytic Hierarchy Process

Measurement for Successful Projects. Authored by Michael Harris and David Herron

Project Planning and Project Estimation Techniques. Naveen Aggarwal

RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS

A Specific Effort Estimation Method Using Function Point

Design of automatic testing tool for railway signalling systems software safety assessment

Using Functional Complexity Measures in Software Development Effort Estimation

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

Software Requirements, Third Edition

IMPROVED SIZE AND EFFORT ESTIMATION MODELS FOR SOFTWARE MAINTENANCE. Vu Nguyen

Quality Management. Managing the quality of the software process and products

King Fahd University of Petroleum and Minerals

Enterprise Services for Defense Transformation

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.

A Project Estimator Tool: for Software Estimation using Neuro-Fuzzy

ALGORITHM OF SELECTING COST ESTIMATION METHODS FOR ERP SOFTWARE IMPLEMENTATION

MSP How to guide session 2 (Resources & Cost)

Performance Measurement of Software Application Development & Maintenance

Transcription:

How to Avoid Traps in Contracts for Software Factory Based on Function Metric Claudia Hazan Serviço Federal de Processamento de Dados (SERPRO) SGAN Quadra 601 Modulo V Brasilia, DF, CEP: 70836-900 BRAZIL 1

Introduction - Scenario There is an enormous demand for Information System. Information Technology Departments need more human resources to develop new software projects and to maintain the legacy software. Organizations establish contracts with external software factories to help them support the demand for software products and services. Function Point (FP) Metric has been used as a basis to software contracts, specially by Brazilian government organizations. 2

Introduction - FP Benefits FP measures the project function size, independently of technology used. FP makes possible the size estimation of the software project on the early phases of the software life cycle. There are objective rules to count FP. These counting rules are published on CPM (Counting Practices Manual). FP considers the user view. FP is independent of requirements modeling. 3

Introduction - Motivation Problem: How do organizations establish contracts for software factories? Solution: Establish a contract based on FP metric. Define a contract clause: The FP Counting must be performed according to CPM 4.2.1 (or the current release) Some contractor organizations establish their software contracts based on FP and have conflicts and problems with their contracted. WHY? 4

Introduction - Objectives Presenting the use of FP in software contracts Showing some frequent errors in FP counting, observed in the counting validation. Discussing some common problems of software contracts based on FP and suggesting solutions. Purpose: Reducing the conflict between contractors and contracted 5

Function Point Analysis (FPA) FPA measures software projects by quantifying the functionality that the software provides to the user based on functional user requirements. The main purposes of FPA: Measure the functionality that the user requests and receives Measure software development and enhancement independently of technology used for implementation 6

Software Requirements FP Counting Overview Unadjusted Function Points FucntionTypes Identification External Inquiry (EQ) Princess Ariel Aurora Belle Cinderella Jasmine External Input (EI) Application Boundary APPLICATION Internal Logical Files (ILF) Data Functions (Internal) Data Functions (External) Transactional Functions FP Counting External Output (EO) Month Sales June US$100 July US$50 Total US$150 Other Application External Interface Files (EIF) 7

FP Counting Overview Formulas Software Development Projects DFP = (UFP + CFP) x VAF Software Enhancement Projects EFP = [(ADD + CHGA + CFP) x VAFA + (DEL x VAFB) 8

Ten Errors FP Counting 1 Error in the Definition of Functional Size x Development Effort FP: functional size metric based on functional requirements Effort Estimation: considers size estimation and non-functional requirements. FP may be used as an input to cost and effort estimations. 9

Ten Errors FP Counting 2 Error in the Usage of FP Counting Formulas described in CPM DFP = (UFP + CFP) x VAF CFP: Conversion Function Point Old Application SHR Data Extraction Employees External Input Employees Application being Counted 10

Ten Errors FP Counting 3 Error: External Inquiries x External Outputs Students Inquiry calculated data Name David 11 Giselle 10 Nancy 11 Robert 11 Age External Output (EO) Report of Students Name retrieval data Code David 2008_1 Giselle 2008_2 Nancy 2008_3 Robert 2008_4 External Inquiry (EQ) 11

Ten Errors FP Counting 4 Error in the Identification of Logical Files Some physical data are counted as ILF or EIF, for instance strong and independent entities. Some physical data may be a part of ILF or EIF, for instance weak entities. Some physical data are not counted, for instance Code Data. 12

Ten Errors FP Counting 5 Error in the Elementary Process Identification Input Data Screen 1 Employee Code: Output Data Screen 2 Employee Details: Name: Phone: E-mail: Department: Manager: Only one Elementary Process 13

Ten Errors FP Counting 5 Error in the Elementary Process Identification an elementary process must be self-contained and leave the business of the application being counted in a consistent state CPM 4.2.1 Hint Sequential functionalities make part of the same elementary process and independent functionalities make part of different elementary processes. 14

Ten Errors FP Counting 6 Error in the Identification of Implicit Inquiries Professor Data Update Code: 2008_1_8 Name Claudia Hazan Birth date: July 8th e-mail: claudinhah@yahoo.com Course: Function Point Analysis OK Cancel 15

Ten Errors FP Counting 7 Error in the Determination of the Value of Adjustment Factor The application being counted has: Reuse of components of another application Internal reuse Reusability: 1 There is still much difficulty in identifying the degree of influence (DI) of the General System Characteristics (GSC) 16

Ten Errors FP Counting 8 Error in the Calculation Formula Implemented in Spreadsheet of FP Counting Function Type Complexity Low Complexity Average Complexity High Internal Logical File (ILF) 7 FP 10 FP 15 FP External Interface File (EIF) 5 FP 7 FP 10 FP External Input (EI) 3 FP 4 FP 6 FP External Output (EO) 4 FP 5 FP 7 FP External Inquiry (EQ) 3 FP 4 FP 6 FP 17

Ten Errors FP Counting 9 Error in the Determination of Complexity of Changed Functions in Enhancement Projects EFP = [(ADD + CHGA + CFP) x VAFA + (DEL x VAFB) CHGA: FP of the functions modified by the enhancement project Considers the new functionality available to the user by the application, for instance: add 1 DET to an EI high 6 FPs. CHGA: 6 FPs 18

Ten Errors FP Counting 10 Error in the CPM Use: FP Counting of Maintenance Projects How do you count FP of software maintenance projects such as Corrective maintenance and Cosmetic maintenance in a software contract based on CPM 4.2.1? Answer: Unfortunately, You can t count FP of these kinds of project according to CPM. They have zero FP. There aren t functional changes. 19

Software Contracts Problems The project X has a lot of bugs. The project Y is delayed. Software Factory Contract Payment based on FP Counting following CPM 4.2.1 CPM doesn t consider all of the important aspects which must be observed in Software contracts in order to avoid conflicts between contractors and contracted. 20

Software Contracts Problems How to avoid traps? 1 Getting a Software Requirement Document with Quality The Requirements Document constitutes: the common agreement term of contractor and contracted; the basis for the FP Estimation; the basis for the software project construction. It is essential the quality assurance of requirements document. Bad Requirements Documents or a Nightmare? 21

Software Contracts Problems How to avoid traps? 1 Getting a Software Requirement Document with Quality Suggestion: inspect the requirement during the FP Estimation. Hazan has applied the CEPF method to estimate FP. As a side effect of this estimation, she finds defects in the requirements documents, e.g., missing requirements, inconsistencies, incompleteness, and ambiguities. HAZAN, C. et. al. É possível substituir processos de Engenharia de Requisitos por Contagem de Pontos de Função? 8th International Workshop on 22 Requirements Engineering (WER2005), Porto, Portugal, June 2005.

Software Contracts Problems How to avoid traps? 2 Establishing Rules to the Treatment of the Scope Creep Software Requirements don t remain frozen. Suggestion: Establish a percentage to each software process task, e.g.: Requirements: 20%, design: 10%, implementation: 50%, test: 15%, installation: 5%. When a requirement is changed, identify the tasks performed. Example: Report of Clients EO average 5 FP was changed at the end the requirement phase. Thus, the number of FP for the payment is: New changed requirement: EO average 5 FP + 20% of the original requirement (1 FP) Total: 6 FPs 23

Software Contracts Problems How to avoid traps? 3 Establishing Clauses of Quality Assurance CPM doesn t establish rules to ensure the quality of the software project received. However, the FP Counting considers the functionality required and received (without defects). Sometimes, the wait to the defects correction is too long. Then, it is important to establish contractual clauses to deal with Quality Assurance. Suggestion: Define a indicator defects/ FP and a clause of penalty. For instance, a penalty if the result of defects indicator is greater than 0,3 defects/fp. It is important to define the considered defects in the contract. 24

Software Contracts Problems How to avoid traps? 4 Establishing Clauses of Schedule and Assurance of a Delivery Rate Some organizations have the following problem: the contracted doesn t deliver any software project Suggestion: Establish a monthly delivery rate, e.g.: 500 FP/month Define the estimation model used to estimate the schedule. You can use the Capers Jones formula Td (in months) = V**t JONES,C. Estimating Software Costs Bringing Realism to Estimating. 2nd Edition, Mc Graw Hill, New York, 2007. New York. 25

Software Contracts Problems How to avoid traps? 5 Establishing the CPM as a basis to count FP instead conversions Common Situation: Some organizations establish the use of the CPM on the Contract., however they don t count FP following CPM. Sometimes, the FP Counting is based on FP conversion formula, e.g. Use Case Points (UCP) to FP. There isn t a formula to convert UCP to FP with accuracy. Sometimes, the contract is based on FP, however the contract is administrated as a contract related hours allocated (timesheet). The contracted reports the allocated hour without the contractor management. These reported hours are converted to FP, based on a productivity rate defined based on FP price. Count FP according to CPM only. 26

Software Contracts Problems 6 How to avoid traps? Establishing rules to addressing maintenance projects FP counting is applied only to development and enhancement projects according to CPM. How to address the other maintenance projects in contracts based on FP counting? Suggestion: Define the kinds of maintenance projects common in your organization. Define formulas based on CPM enhancement project formula in your software contract. 27

Software Contracts Problems 6 How to avoid traps? Establishing rules to addressing maintenance projects Cosmetic Maintenance: when the contractor requests the contracted to change static text in screens, such as screen captions or organization logotype. Suppose the contractual clause considering the percentage of 10% for changed functionality in a cosmetic maintenance project. Thus, if the contractor requests a change in the caption of a screen, which is contained within inquiry functionality, identified as: EQ Low 3 FP. Then, the size of this project, supposing the VAF = 1, is: (3 x 1) x 0.10 = 0.3 Adjusted FPs. 28

Conclusion It is important to count FP correctly according to CPM rules. FP is the best metric to be considered by Software Factory contracts. Software contracts based on fixed price by FP, for instance US$500/ FP, is not a good practice. Because the effort and the cost of software projects depend on non-functional requirements too. Define a contract based on price by work hour. The work hour must be calculated based on FP Counting. Establish a model to derive hours by FP. 29

THANKS Contact and Questions Claudia Hazan claudinhah@yahoo.com Certified Function Point Specialist Software Metrics Consultant Dreams come true 30