workshop - estimating packaged software - nesma - eric van der vliet - frank vogelezang v1.0
TRANSCRIPT
Eric van der Vliet / Frank Vogelezang
Agenda
1. Packaged software estimation
2. Cost estimation model
3. Cost Drivers
4. EPS Framework
5. Sizing methods
6. Summary
|IWSM2016 – Estimating Packaged Software
Trends
Trend towards less custom made software
Increasing use of packaged software
Vendors and implementation partners use their own proprietary
techniques for estimation
No generic framework for estimating the effort and cost of packaged
software
Hard to compare estimates from different sources
Hard to build up benchmark data for public reference
|IWSM2016 – Estimating Packaged Software
Differences packaged vs bespoke software
Aspect Packaged software Bespoke software
Functionality overdose exact fit
creation of functionality configuration (bulk) and tailor
made (missing parts)
completely bespoke
lifecycle cost usually cheaper mostly more expensive
size ability poor: a few aspect methods
(RICEF, CEMLI)
good: detailed and global
(FP’s, Cosmic, UCP, LOC)
estimate ability vague (supplier standards, no
common methods)
good: market shared
productivity rates
Benchmarking poor: due to size ability good: tooling; benchmark
data available
cost engineering more complex due to different
element types
mostly straightforward
popularity CxO fast growing only when necessary
|IWSM2016 – Estimating Packaged Software
Packaged software
Standard functionality
Functionality prepared for specific markets
E.g. HRM, CRM, Logistics, Finance, …
Strong interaction between business and IT
Understand business process
Understand IT
Make the translation
Packaged software
Packaged software consists of readymade core modules with standard functionality that
requires configuration to offer ready to run functionality for the intended business.
Packaged software can be enhanced with custom built functionality and interfaces with
internal or external systems
|IWSM2016 – Estimating Packaged Software
Structure packaged software
1. Configuration
2. Custom built functionality
3. Core module(s) / standard
functionality
4. External interfaces
5. Internal interfaces
6. Data
|IWSM 2016 - Estimating Packaged Software
Solution breakdown packaged software
Packaged Software
Implementation
Configuration
Finance config
Order config
Custom built functionality
Internal Clearing
Order Routing
Core modules
Finance
Order
External interfaces
Payments
Fleet
Internal interfaces
Finance Order
Data
Converted Ledger
Converted Catalog
Converted Stock
|IWSM 2016 - Estimating Packaged Software
Solution breakdown packaged software
Packaged Software
Implementation
Configuration
Finance config
Order config
Custom built functionality
Internal Clearing
Order Routing
Core modules
Finance
Order
External interfaces
Payments
Fleet
Internal interfaces
Finance Order
Data
Converted Ledger
Converted Catalog
Converted Stock
$ $ $ $ $ $
$ $ $ $ $ $
$ $ $ $
$
$
$
|IWSM 2016 - Estimating Packaged Software
Packaged software cost estimation model Size Driver XSize dependent
Cost:
Size Effort= Delivery Rate1
Size Driver XSize Effort= Delivery Raten
. . .
Productivity
Drivers
Combined
EffortX
Total Effort
Size
independent
Cost:
CostSize dependent
CostSize independent
Total Cost
|IWSM 2016 - Estimating Packaged Software
Packaged software elements are created in phases
Blue-print Realization Deployment
|IWSM 2016 - Estimating Packaged Software
Packaged software elements are created in phases
Blue-print Realization Deployment
Run Event-driven maintenance
Planned maintenance
|IWSM 2016 - Estimating Packaged Software
Packaged software cost drivers
Blue-print Realization Deployment
Run Event-driven maintenance
Planned maintenance
|IWSM 2016 - Estimating Packaged Software
Size dependent cost drivers - 1 Size Drivers
Blue-print
• Processes
• Workshops
• Key users
• (external) interfaces
Realization
• Standard functionality
• Configuration
• Custom build functionality
• Interfaces (ext, int)
• Data
Deployment
• # Users (per category)
• # Trainings
• # Modules
• Data conversion
Run
• #Named users
• #Key users
• #(Sub) modules implemented
Event-driven maintenance
• # named users
• # key users
• # (sub) modules implemented
Planned maintenance
• Size tailor made software / customizations
• Size configuration
|IWSM 2016 - Estimating Packaged Software
Size dependent cost drivers - 2 Productivity Drivers
Blue-print
• # of organizational units
• # of end users
• # of modules
• Non Functional Requirements (NFR)
Realization
• Number of concurrent users
• Maturity of the packaged software technology
• Supplier of the packaged software
• Percentage of reusable components
• Available knowledge
• Process
• Required system reliability
• Performance constraints
Deployment
• Maturity demand organization
• Governance
Run
• Maturity technology
• Maturity Demand organisation
• Governance
• Service level reporting
• Data center costs
Event-driven maintenance
• Age application
• # external interfaces
Planned maintenance
• Volatility (# changes / period)
• Version / update (relative to latest)
• # external interfaces
|IWSM 2016 - Estimating Packaged Software
Implementation realization Package Implementation Cost Drivers Example
Deliverable Elements Typical cost drivers (realization) Parameter examples
Configuration Solution complexity #Config parameters
Organization complexity #Stakeholder workshops
Custom built functionality Functional size #Use cases, FPs
Implementation technology
API calls,
Programming language
Core module(s) /
standard functionality
Vendor IP pricing Modules, options
#Users, #Transactions…
External interfaces Interface complexity I/F protocol, technology
Non-functional reqs
Internal interfaces Interface complexity I/F protocol, technology
Non-functional reqs
Data Data size #TB, #tables, #records
Data quality Pollution, redundancy
Data compatibility (ETL) tooling availability
|IWSM 2016 - Estimating Packaged Software
Size independent cost drivers Productivity Drivers
Blue-print
• None
Realization
• Licenses for development
• Workplace cost
• Travel expenses
• Training cost (for domain knowledge)
Deployment
• Infrastructure
Run
• Infrastructure
Event-driven maintenance
• Support desk
Planned maintenance
• Support desk
|IWSM 2016 - Estimating Packaged Software
Estimating Packaged Software
EPS-Framework
Generic cost estimation framework for packaged software
Two types of cost drivers
Size dependent cost drivers
Size drivers
Productivity drivers
Size independent cost drivers
Cost drivers are specific for each lifecycle stage
|IWSM 2016 - Estimating Packaged Software
Size dependent cost drivers
Since...
where: size = almost linear dependent
productivity = logarithmic dependent due to complexity expression
...our model exists of two size dependent cost drivers: size drivers, and
productivity drivers
(*) effort = effort to realise functionality
effort(*) = size x productivity
|IWSM 2016 - Estimating Packaged Software
Size drivers
Size drivers measure the size of the package architecture elements
Each size driver can have its own size measure
Each size driver has a delivery rate
Package architecture elements: 1. Configuration
2. Custom built functionality
3. Implemented modules
4. External interfaces
5. Internal interfaces
6. Data
|IWSM 2016 - Estimating Packaged Software
Size drivers - continued
Size drivers measure the size of the package architecture elements
Size dep. driver Size x Delivery rate = Effort
This adds up to
a combined
effort
|IWSM 2016 - Estimating Packaged Software
Productivity drivers
Cost-drivers that influence the effort are called productivity drivers
Productivity drivers are different for each stage
The stages for implementation are blueprint, realization and deployment
Examples of productivity drivers for the realisation stage are:
Number of concurrent users
Maturity of the packaged software technology
Supplier of the packaged software
Percentage of reusable components
Available knowledge
Process
Required system reliability
Performance constraints
© NESMA 2012; IWSM 2012 22
In formula:
Size dep. driver productivity driver x combined effort = total effort
|IWSM 2016 - Estimating Packaged Software
Size independent drivers
Cost-drivers that are independent of any type of sizing are called size independent drivers
Examples are:
Licenses
Hardware
Data center floor space
|IWSM 2016 - Estimating Packaged Software
Packaged software cost estimation model Size Driver XSize dependent
Cost:
Size Effort= Delivery Rate1
Size Driver XSize Effort= Delivery Raten
. . .
Productivity
Drivers
Combined
EffortX
Total Effort
Size
independent
Cost:
CostSize dependent
CostSize independent
Total Cost
|IWSM 2016 - Estimating Packaged Software
Estimating packaged software
Sizing methods
RICEF Reports, Interfaces, Conversions, Enhancements and Forms
CEMLI Configurations/Customization, Extensions, Modification, Localization and
Integration
Configuration Points A Gartner proprietary technique to measure the configuration activities in
existing packaged software to realize new functionalities
COSMIC An ISO standardized functional sizing method
Function Point Analysis An ISO standardized functional size measurement method
|IWSM 2016 - Estimating Packaged Software
Applicability Method Configuration Custom Interfaces Data Modules
RICEF Yes, if the
elements are
defined
Yes, if the
functionality is
defined
Yes, if the
elements are
defined
Yes, if the
elements are
defined
No
CEMLI Yes, if the
elements are
defined
Yes, if the
functionality is
defined
Yes, if the
elements are
defined
Yes, if the
elements are
defined
No
Configuration
points
Yes No Yes Yes No
COSMIC Yes, if the
functionality is
defined
Yes, if the
functionality is
defined
Yes, if the
interface
specifications
are defined
Yes, if a data
model is
available
No
FPA Yes, if the
functionality is
defined
Yes, if the
functionality is
defined
Yes, only
external
interfaces
Yes, if a data
model is
available
No
|IWSM 2016 - Estimating Packaged Software
Estimating Packaged Software - Framework
Summary
A first release of the EPS-framework published by Nesma
Model based on cost drivers
Size drivers
Productivity drivers
Size independent cost drivers
Basis for Packaged Software Costing models
Use of internal data
Use of benchmark data
|IWSM 2016 - Estimating Packaged Software
Working group members
Frank Vogelezang
Ordina – Application Management & Outsourcing | Pricing Office
Eric van der Vliet
CGI – Global Estimation Centre
René Nijland
Capgemini – Application outsourcing
|IWSM 2016 - Estimating Packaged Software
More information
Website: www.nesma.org
Twitter: @nesma_org
SlideShare: NESMA-NL
|IWSM 2016 - Estimating Packaged Software
|IWSM 2016 - Estimating Packaged Software