A (new) unified model of custom software costs determination



Similar documents
Software Measurement and Function Point Metrics

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

Measures to get the best performance from your software suppliers

How to Decide which Method to Use

SEER for Software - Going Beyond Out of the Box. David DeWitt Director of Software and IT Consulting

CPM -100: Principles of Project Management

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

Development Effort & Duration

Measuring Change Requests to support effective project management practices.

Function Point: how to transform them in effort? This is the problem!

CMMI: Specific Goals and Practices

Software cost estimation

Software cost estimation

Chapter 23 Software Cost Estimation

2013 TAGLaw International Conference. Legal Project Management : A New Model for Enhancing Profitability & Competitive Edge

Oracle Order Management

Project Planning and Project Estimation Techniques. Naveen Aggarwal

Implementing a Metrics Program MOUSE will help you

Project Management Using Earned Value

Software Estimation: Practical Insights & Orphean Research Issues

Software cost estimation. Predicting the resources required for a software development process

Practical guide to IFRS

Chapter 2 INDUSTRIAL BUYING BEHAVIOUR: DECISION MAKING IN PURCHASING

IIA Super Conference

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

CISC 322 Software Architecture

Avoid software project horror stories. Check the reality value of the estimate first!

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?

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES

MTAT Software Economics. Lecture 5: Software Cost Estimation

A PERFORMANCE MANAGEMENT SOLUTION

Introduction to Function Points

Develop Project Charter. Develop Project Management Plan

<name of project> Software Project Management Plan

Module 5 Cost Management PMP Exam Questions

Validating the Possible

A DIFFERENT KIND OF PROJECT MANAGEMENT

Key Risk Areas for Banks in contracting with IT Suppliers. Dan Holland Partner, Stephenson Harwood LLP, London

Project Management Office (PMO)

Software Cost Estimation: A Tool for Object Oriented Console Applications

PDSA Special Report. Custom Software vs Off the Shelf

Lecture 8 About Quality and Quality Management Systems

Defining, Modeling & Costing IT Services Integrating Service Level, Configuration & Financial Management Processes

To discuss project planning and the estimation process. To show dependencies within projects (size, quality, duration, effort)

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

Project Management Planning

Managed Solution. for Staffing Industry

Software Measurement Services Ltd. Outsourcing with Output-Based Contracts. Written by. P. Grant Rule. January Ref: 02PGROutputBased

Supporting the Perfect Order: Collaborative S&OP and VMI

Four Topics to Consider when Using Inventory as Collateral

Project Governance Concepts Issues and Constraints. Dick Patterson

Project Management Guidebook

Planning and Scheduling Time it Right

Software Engineering CSCI Lesson 9 Project Management Part 1- Planning & Estimating. February 23, 2015

THE VALUE OF SOURCE-TO-PAY SUITES MODEL

How To Save Money On A Data Center

NUMBER: 12.PM-004 RESPONSIBILITY: Office of Project Support Services REVISION: 4 APPROVED BY: TITLE SUBJECT: Head, Office of Project Support Services

BAL2-1 Professional Skills for the Business Analyst

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Cost Estimation for Secure Software & Systems

Software Measurement Frameworks

Cost Estimating Procedure. Table of Contents

Oracle Primavera P6 Enterprise Project Portfolio management Overview Programme Reference # 201A

Project Management Plan for

The Public Administrator may be appointed under the following circumstances:

Demonstrate and apply knowledge of project management in

Schedule to Regulation PR No. 30/53

CCM Enterprise Business Management Software - Functional Schema

PRODUCT DEVELOPMENT TRAINING COURSE

SUPPLEMENTARY GREEN BOOK GUIDANCE

PROCESS GROUP: PLANNING PROCESS GROUP: INITIATION. Oracle Projects. PMBOK Oracle Mapping. Scope Planning. Develop Project Charter

The Sourcing Canvas: A Strategic Approach to Sourcing Decisions. By Ralph Loftin, Richard Lynch and Jack Calhoun

SAP Corporate Connectivity

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.

Chapter 6. Transfer Pricing Methods Introduction to Transfer Pricing Methods

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

Project Type Guide. Project Planning and Management (PPM) V2.0. Custom Development Version 1.1 January PPM Project Type Custom Development

WHITE PAPER. Reducing Inventories and Cost of Operations While Improving Customer Support

Economic Ordering Quantities: A Practical Cost Reduction Strategy for Inventory Management

Realizing CMMI using Enterprise Architect and UML for Process Improvement

Head, Office of Project Management Oversight

New Horizons in Simulation Games and Experiential Learning, Volume 4, 1977 A SIMPLIFIED, NONCOMPUTERIZED MARKETING CHANNELS GAME

Factoring and Banks. International workshop Factoring around Europe: Italy - Spain. Fausto Galmarini CEO UniCredit Factoring September 21 st 2007

300 Scheduling and Budgeting

Summary of GAO Cost Estimate Development Best Practices and GAO Cost Estimate Audit Criteria

PROCESSING & MANAGEMENT OF INBOUND TRANSACTIONAL CONTENT

Sizing Application Maintenance and Support activities

Below is a general overview of Captives with particular information regarding Labuan International and Business Financial Centre (Labuan IBFC).

[project.headway] Integrating Project HEADWAY And CMMI

IT2403-SOFTWARE PROJECT MANAGEMENT 2 MARKS QUESTIONS

Project Cost Management.

Application Outsourcing: The management challenge

QAD Service and Support Management

Chapter 8 Topic 1. Chapter 8: Topic 1 Valuation of Inventories The Basics. Student Learning Outcomes. Inventories: Financial Analysis

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

ITIL-CMMII Comparison

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

The Software Development Life Cycle: An Overview. Last Time. Session 8: Security and Evaluation. Information Systems Security Engineering

Transcription:

A (new) unified model of custom software costs determination in contracts. Roberto Meli (CEO) roberto.meli@dpo.it - www.dpo.it April 2015 SOFTENG 2015 1

Preliminary considerations The discipline and practice for software contracts is not as mature as in other industrial sectors. Legal expert Buyer Software manager Account Administrative No measurement culture for software procurement 2

Houston, we have many problems! current software development trends show an increasing relevance of the outsourcing option Too many Litigations pure time & material contracts are not preferred anymore by customers software procurement practices and organizations are not mature enough High # of inadequate SW Contracts Too many Wasted Resources Too many software measurement Low Quality discipline is overlooked by Systems customers & suppliers 3

Scope identification ex novo Development Activities extra-ordinary Functional Enhancement Maintenance (FEM) Custom Software Production cost Selling gprice Ordinary Maintenance Non Functional Maintenance COTS 4

A little healthy provocation... In 2014 AD, custom software is still valued in the market in the same way as oranges by the greengrocer: Type of orange Net weight in kg Price per kg Any transportation to home or collateral services Actually, in many custom software acquisitions the collateral services component is even not considered... 5

Decoding the metaphor The most popular type of orange corresponds to the technological environment of the custom software followed by the software application type. The most popular weight unit corresponds to IFPUG FP followed by COSMIC FP The most articulate and courageous price engine is a two-dimensional matrix in which the unitary price depends on two variables 6

Is custom software like oranges? Built on demand based on requirements versus Standard product with default characteristics. Many not evident and interdependent quality attributes versus Few evident quality attributes. Each supply is different from other supplies even in the same class versus within a specific class (type of oranges) all the supplies are very similar. 7

Custom software as a market good. Custom software is produced on demand based on customer ss requirements. Custom software is still a "labor intensive product and therefore its development cost is usually strongly correlated to the work to be done to release the required quantities. In a perfect market, selling prices should be strongly correlated with development costs. Two important modifiers are emerging... The reuse of already done components Automatic production technologies 8

Relations among variables Process Requirements Indirect Direct effect effect DURATION SIZE (FP) Indirect effect Direct effect EFFORT STAFF Non Functional Requirements COSTS 9

What kind of measures are available? Technical vs. Logical 10

Technical metrics LOC, number of programs, modules, reports, screens, classes, objects, components, boxes, widgets etc. 11

FSM (ISO 14143): a real revolution! 12

Effort = f(size)?? Ln(Effort t) Extremely variable productivity There is a correlation between size and effort Ln(Size) 13

Not all costs are proportional to the FP It makes no business and technical sense to spread" the fixed costs of the project or related project components not proportional to FP on the price of the proportional component. For example: the cost of installing an application does not depend on how big it is in FP but how many times it must be done and in what logistic situations 14

Effort derivation variables effort FUR 55% Effort = f (FP) Effort = f (FP, PAF i ) NFR Q & T PR WBS 100% Effort = f (FP) * Π i PAF i + Σ j NFDE j FUR = Functional User Requirements NFR = Non-Functional Requirements PR = Process Requirements PAF = Productivity Adjustment Factors NFDE = Non Functional Dependent Effort 15

From effort to cost 16

From cost to price Margin Contingency Years 90 General costs Production costs Price Today History of previous competitions Expectations / information on competitors Client s available budget 17

The goal A model for market valuation of custom software must: Help to increase the predictability of the transactional costs Help to achieve the fairness of the transactions for the delight of customers and suppliers 18

Broad agreement General agreement between customer and supplier which defines the context in which individual supplies may take place with simplified procedures inheriting the general conditions and tailoring them to specific cases. Rules to apply to specific supplies Unitary Prices Measuring Guidelines Etc. 19

Global fairness vs. Local fairness 12 Ln(Impegno) 10 y = 0,7407x + 3,9295 R² = 0,4244 8 Ln(Effort) Each project should achieve a 6 Ln(Impegno) local fairness because there is Lineare (Ln(Impegno)) Lno guarantee to have a 4 compensating project in a broad contract. No project loss 2 is accepted in the hope of a future major gain. Do not expect an average behavior at 0 the global level. 0 1 2 3 4 5 6 7 8 9 Ln(Size) 20

The first very common error! To have only one (or few) fixed or constant unitary price for all the initiatives in a broad contract. No warranty that, during the specific contract, the projects will be equally distributed around the average. Compensations tend to happen at the project level in any case but they may be biased depending on the power of the contractual parts. Ln(Impegno) Ln(Impegno) 12 12 10 y = 0,7407x + 3,9295 R² = 0,4244 10 y = 0,7407x + 3,9295 R² = 0,4244 8 8 6 Ln(Impegno) 6 Ln(Impegno) Lineare (Ln(Impegno)) Lineare (Ln(Impegno)) 4 4 2 2 0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 21

A typical workaround So let me see how much this project should cost I need a FP count within tomorrow Hey Boss, the size of the application is 400 FP Well, using the ISBSG equations, some COCOMO adjustment factors, a little bit of analogy... The cost is 120 000, let s call the procurement department Sorry, Joe but that supplier has signed an agreement with us for a unitary price of 200/FP this year OK, in order to respect the budget then the required FP size should be: 120 000/200. Oh yes this application must be 600 FP big! 22

Lack of control If no control is done on the delivered FP quantities on which the supplier s invoices are based then there is the eventuality that the contractual price is not the actual price used to manage the contract. 23

What elements are to be considered? Scope of the supply Software size Reuse - Replication Software quality Technical constraints Production factors On going Change Request Early termination 24

Scope of the supply It does not influence size It does influence unitary prices 25

Software size YES, Function Pi Points! 26

Generic Reuse The Generic Reuse is a mean of interception of reuse of specifications, code documentation and test cases based on the recognition of "functional similarities" between transactions and logical archives. 27

Component Reuse elementary process service component 28

Replication Same functionalities (EI,EO,EQ, ILF,EIF) Different platforms 29

Product Quality 30

Technical constraints Imposed by Customer s requirements! Programming Language Architecture etc. etc. 31

Production factors 32

Only visible factors please! 33

Unifyed Cost Model Price = CFM * AUP + Σ j NFDP j Reuse by similarity Reuse by component Replication On going CR From NFR From process requirements NUP - Nominal Unitary Price PAF from NFR PAF from process requirements CFM = Contractual Functional Measure AUP = Adjusted Unitary Price NFDP = Non Functional Dependent Price PAF = Productivity Adjustment Factor 34

Simple tender rules Only one tender discount 30% Code Description Required Volume Unitary Price Maximum Value Offered Value C1-A Functional Dependent Price (FDP) 50 000 FP 250,00 /FP 12 500 000,00 8 750 000,00 C1-B Non Functional Dependent Price (NFDP) 1 000 PD 350,00 /PD 350 000,00 245 000,00.. 35

general fairness vs. local fairness 12 Ln(Impegno) 10 NUP y = 0,7407x + 3,9295 R² = 0,4244 8 6 Ln(Impegno) 4 Lineare (Ln(Impegno)) 2 0 Price = CFM * AUP + Σ j NFDP j 0 1 2 3 4 5 6 7 8 9 36

Resource migration FP Person days 37

Simple as a form. Project Price Contractual Functional Measurement (CFM) 0 Nominal Unitary Price (NUP) - Production Model Correction (PMC) 1.00 NUP General Adjustment Factor (GAF) 1.00 Adjusted Unitary Price (AUP) - Functional Dependent Price (FDP) - Non Functional Dependent Price (NFDP) - Total Price - Professional Mix Unitary Price (PMUP) - Non Functional Dependent Factors NFDF 1 NFDF NFDF N Person days Price 0-0 - 0 - Non Functional Dependent Price (NFDP) 0.00-38

Conclusions Software is a complex asset and can not be acquired by the same rules of a vegetable food. The functional measure is a primary driver of cost because it is linked to the needs and the value for the user but needs correctives. The corrective actions may impact the size in itself (reuse / replication), the unitary price of the size or may be not proportional to the size. A new contractual cost model must take into account all these aspects but merely those visible in the customer-supplier supplier relationship. The model requires a local calibration to be adapted to different companies. 39

Any question? 40