Estimating Software Migration

Estimating Software Migration
Experiences in the Real World
Terry Vogt
Galorath User Conference
El Segundo CA
October 8 – 9 2009
Ready for what’s next
Booz Allen Hamilton
1
Estimating Software Migration
Introduction
• Presentation Objectives
• Illustrate estimation situation
– Third tier bullets
• Describe estimation approach
– Third tier bullets
• Discuss estimation issues
– Third tier bullets
Ready for what’s next
2
Booz Allen Hamilton
2
Estimating Software Migration
Table of contents
• Background
• Scope & Method
• Results & Issues
• Takeaways
Ready for what’s next
3
Booz Allen Hamilton
3
Estimating Software Migration
Background
• Subject
• Representation of an actual project estimate
– Substantial application with mainframe and web functionality
– Sanitized example – all identities and dimensions are disguised
• Issues encountered in an actual estimate
– Describe conditions, approaches, results
– Identify issues, describe solution approaches
• Situation
• A large agency supporting Federal government operations
– Critical daily operations
– High consequence of processing error or service interruption
• Need to migrate part of a major application to a new platform
– Mainframe functions to be moved to more cost-effective platform
– Legacy functionality to be rebuilt to contemporary standards
– Migration to be transparent to end users
– Operations and requirements changes will be continuous
Ready for what’s next
4
Booz Allen Hamilton
4
Estimating Software Migration
Table of contents
• Background
• Scope & Method
• Results & Issues
• Takeaways
Ready for what’s next
5
Booz Allen Hamilton
5
Estimating Software Migration
Scope & Method
• Scope
• All XYZ application functionality on mainframe to migrate to new
platform (ref. table)
– 13 groups of functionality to be rebuilt and relocated
– Relocation of existing relational database
– Re-point existing distributed functions to access relocated database
• All labor required to migrate software to new platform
– Estimated required effort hours in total and by functional block
– Effort breakdown by labor category
• Timeframe required to migrate software to new platform
– Primary targeted delivery date by end of calendar year 2013
– Secondary target dates also specified
• Migration options pending estimation outcome
– Preliminary estimate needed early for decision making
– Complete estimate needed later for staffing & funding plans
Ready for what’s next
6
Booz Allen Hamilton
6
Estimating Software Migration
Application analysis compartmentalized XYZ backend functionality into functional groups
Operations
tive
a
r
t
s
I llu
Requisition
Mainframe Reports Delivery
Suppliers
Mainframe User Interface
Report
Delivery
User Support
Online Processing
Batch Processing
Users
XYZ
.gov
Distribution
Supply
User
Authorization
Inventory
Service
Notifications
Reports
Application
Management
Order
Processing
Delivery
User
Assistance
Service
Internal
Controls
Clearing
House
Batch
Processing
ABC
DEF
Order Processing
Online
Processing
FreeLink
Database
Users
Web
Front
End
Ready for what’s next
Inventory
MIS
Transaction
Warehouse
Other
Mainframe Back End
Functional Baseline - Functional Architecture
7
Booz Allen Hamilton
7
Estimating Software Migration
Scope & Method
• Method
• Size all XYZ application functionality on mainframe
– Count function points for all functions
– 13 major blocks of functionality to be rebuilt and/or relocated
– Existing distributed functions
• Size XYZ application database on mainframe
– Existing logical database
• Size all XYZ application functionality on web front end
– Model approximate function points for all front end functions
– Existing distributed functions
• Characterize XYZ application and migration project for estimate
– Initially use SEER for Software’s Knowledge Base default settings
– Later revise parameter settings for more precision
– Eventually calibrate estimate to actual local organization performance
• Produce output results from SEER for Software (a.k.a. SEER-SEM)
Ready for what’s next
8
Booz Allen Hamilton
8
Estimating Software Migration
Function Point Components
Function points measure
software size based on
functionality requested by
and provided to the end user
Function points represent logical size, as
opposed to physical size (like SLOC or objects)
Ready for what’s next
9
Booz Allen Hamilton
9
Estimating Software Migration
Software estimation performed with Function Point Analysis and SEER for Software tool
•
Function Point Analysis
Determine type of
function point
•
count
Enhancement Count – XYZ application changes
•
Identify XYZ application functionality and users
•
•
Identify
transactional
•
functions and their
complexity
SEER-SEM
Determine
unadjusted function
point count
Ready for what’s next
Validate logical application boundaries and external
dependencies
Identify and count all logical data entity types,
interdependencies and complexities
Identify and count all XYZ logical transaction types
Example: Logical inputs (EI), logical outputs (EO) and
logical inquiries (EQ).
•
Group and add all individual components’ function point
sizes to be input to software cost estimation tool (SEER
for Software) to generate cost estimate. Group
according to XYZ alternative to be estimated.
•
Configure SEER tool based on generic migration
schedule and past XYZ release data
Generate Early
Assessment Results •
10
Development Count - XYZ rebuild/recode projects
•
Identify counting
•
scope and
boundary
Identify data
functions and their
complexity
Application Count – XYZ application modules and
functions
Generate SEER results using predefined set of inputs
such as function point size, platform and application
type and development process and techniques.
Booz Allen Hamilton
10
Estimating Software Migration
Scope & Method
• Method
• Count function points of all XYZ application functionality to be
migrated from mainframe to new platform
Sample of Detailed Function Point Count Documentation – Functional Group: Reports
Program ID
Job
XYZQ810N ZZQ215DP
Produce XYZ
Actual report for
delivery to ABC
center
XYZQ930N ZZQ220DP
Create the
Unresolved
Returned Order
report
SPPQ909N ZZQ302DP
Agency Free-Link
report
Detailed Description
FP Type
FP
Rating
FP size
DET
FTR
Account Control Actual
Report - Provides total
debits and total credits
processed by day
EO
A
5
16
3
description not available
EQ
A
4
6
2
Y
Y
Y
Order
Agency Free-Link
Report - Provides daily
debit and credit
vouchers to Free-Link
EO
A
5
10
2
Y
Y
N
Order
Ready for what’s next
Report Report Sample Rpt. Type:
available deliverd
Rpt
Order, Acct,
in .gov
Direct
Avail Auth, Admin
Y/N
Y/N
Y/N
Y
Acct
Y
Y
Illus
trati
ve
11
Booz Allen Hamilton
11
Estimating Software Migration
Functional Baseline - Function Point Analysis
The function point summary provides an
overview of the relative sizes of each functional
group to be migrated
Function
Batch Processing
Supply
ative
r
t
s
u
I ll
Front End
Batch
Processing
8%
44%
7%
Reports
26
Inventory
154
Service
22
Notification
7
Application Mgt
34
Database
12
40
157
56
Delivery
30
Service
26
User Assistance
22
Order Processing
Reports
Database
Fundamental
26%
Ready for what’s next
Authorization
Distribution
Online Processing
Internal Controls
Online
Processing
15%
Function Point Count
305
22
23
149
525
503
Reference
15
Sys Admin
Front End (modeled)
Total
7
886
2022
Booz Allen Hamilton
12
Estimating Software Migration
Inputs to the SEER tool included general and detailed aspects of the XYZ application
and project factors concerning current and expected future performance aspects
Key Inputs
Function point sizes
Descriptions
•Database structure complexity
•Application interfaces / relationships
•Business functions and dependencies
•Current functional requirements
•Temporary software required for migration transition
Platform and Application •Platform complexity & architecture characteristics
•Application performance requirements
Types
Development Processes •Development methodology - full life cycle development VS design Re-use
•Delivery approach - incremental delivery, Waterfall, RAD, others
& Techniques
Quality Standard
Project Performance
Factors
•Requirements for reliability and precision
•Documentation and testing requirements
•Consequence of impact of defects, outages, etc.
•Requirements for multiple levels of testing
•Resource skill and experience levels
•Familiarity with business and development processes and environments
•Volatility of application business requirements, development & test environment readiness
•Many other factors
•Business requirements for selection & sequence of functionality being migrated
Development & Delivery •Release schedule and delivery cycles
•Resource availability and acquisition
Constraints
•Parallel operations between production and migration systems
Ready for what’s next
13
Booz Allen Hamilton
13
Estimating Software Migration
Table of contents
• Background
• Scope & Method
• Results & Issues
• Takeaways
Ready for what’s next
14
Booz Allen Hamilton
14
Estimating Software Migration
Analysis outputs consisted of resource and effort requirements reports produced by SEER
Estimates
Description
Scope and
Assumptions
• Description of the scope of the migration
effort taken into account by SEER
• List of assumptions used for the estimate
Migration Effort
• Total number of estimated hours for the
migration
• Effort Hours required by labor category
Migration
Schedule
• Generic migration schedule produced by
the tool and not by the analysis team
• Detailed migration strategy / schedule
not provided until end of analysis
Confidence
Level
• Migration effort and schedule variations
based on confidence level
Staffing
categories
• Description of each category of labor
required for the migration
Maintenance
Effort
• Expected maintenance effort required
after migration – not included
• Early Assessment did not include dual
support cost estimates
Ready for what’s next
15
ILLU
STR
ATI
VE
XYZ Early Assessment Effort Risk
Booz Allen Hamilton
15
Estimating Software Migration
Results & Issues
• Initial Results – Early Assessment Migration Estimate
• Project estimate approach for software migration
–
–
–
–
Run for multiple Confidence Levels: 70%, 80%, 90%
No adjustments to default parameter settings provided by KBs
No calibration to actual performance; no impact for any constraints
Significant attention to schedule outcomes – needed to determine if
migration could be accomplished within allowable timeframe
– Substantial speculation and assumptions made regarding number
of migration releases, size of releases, activities related to but
outside of functional redevelopment and migration e.g. user testing,
infrastructure readiness, staffing ramp up, etc., due to early stage
• Project estimate outcome
ILLUSTRATIVE
– Total effort approx. 36,000 person hours at 80% Confidence Level
(primary client interest level)
– Estimate included substantial effort for external test groups to
perform IV&V and post-migration validation
– Single Step Migration of XYZ functionality to new platform
Ready for what’s next
16
Booz Allen Hamilton
16
Estimating Software Migration
Results & Issues
• Intermediate Results – Alternative Migration Estimate
• Project estimates for alternative Multi-Step software migration
– Intended only as an emergency stop-gap alternative
– This option could come into play if preferred Single Step Migration
could not meet constraints of delivery schedule or possible staffing
or funding limitations
– Key interest was cost of Multi-Step Migration
• Modeled same as Early Assessment Migration Estimate except:
– Mainly physical migration only, of mainframe functional code, with
no redevelopment
– Certain functions would need to be modified due to incompatibility
with some middleware in first-step target migration platform
– Had to combine this estimate with Early Assessment effort and
schedule for total estimated outcome
• Alternative Estimate Result was unacceptable
• Added effort would result in cost prohibitive result, no other gains
• Alternative determined unnecessary based on Early Assessment
Ready for what’s next
17
Booz Allen Hamilton
17
Estimating Software Migration
Results & Issues
• Final Results – Calibrated Migration Estimate
• Results
– Results provided for each individual Functional Group Block
– Block orientation allows flexibility in planning releases
– Blocks form parts of actual release estimation; must be combined
ILLUS
with other effort areas for true size & estimation
TR
• Total effort for all blocks combined: approx. 46,000 hours
ATIVE
– Calibrated result represents a 25% increase compared to equivalent
uncalibrated Early Assessment Estimate at 80% Confidence Level
– Excludes all effort for IV&V and post-migration validation
– Includes database migration without redevelopment
– Includes re-pointing web functions to migrated database
– Includes full factoring for project performance conditions as expected
to be in effect during migration (new staff, etc.)
– No constraints included for staff size, budget, etc.
– No interest in schedule outcomes – plan to manage via varying
functional blocks combinations selected to fit evolving conditions
Ready for what’s next
18
Booz Allen Hamilton
18
Estimating Software Migration
Results & Issues
•Final Results – Calibrated Migration Estimate
• Effort results provided for each individual Functional Group
Block by Labor Category (sample below)
1.5.1 Component - Functional Block E
Activity
Sys Reqs
SW Reqs
Pre Design
Det Design
Code
Int & Test
Prog Test
Sys I&T
Development Total
Maint
Life Cycle Total
Mgmt SW Reqs
Design
Code
Data Prep
Test
CM
QA
Total
2
6
8
21
2
6
0
3
1
3
2
6
0
1
0
1
16
46
12
37
109
11
34
47
46
138
93
14
40
853
9
27
93
16
47
233
2
7
62
2
7
62
113
337
1,551
4
6
5
1
2
1
2
3
2
20
30
12
4
6
1
15
22
36
3
4
3
3
4
1
52
77
61
181
0
125
0
294
0
972
0
144
0
376
0
82
0
80
0
2,253
0
181
Ready for what’s next
125
294
972
19
144
376
82
80
I LL
US
2,253
TR
AT
IVE
Booz Allen Hamilton
19
Estimating Software Migration
Hypothetical Migration Release Functional Grouping & Sequence
XYZ Migration Timeline
2012
Application
Migration
Infrastructure
2011
2013
2014
VE
RATI
T
S
U
IL L
Infrastructure
Build-out
User Assist
Mainframe
Reports
Authorization
Notifications
Account
Supply
Internal
Controls
Order
Delivery
Service
Distribution
Inventory
Database
Migration
Settlement
Application
Management
Front End
Re-pointing
No XYZ.Gov Dependency
Websphere
Upgrade
Websphere
Upgrade
Database
Upgrade
Ready for what’s next
20
Booz Allen Hamilton
20
Estimating Software Migration
Results & Issues
•Issues
• Calibration of estimate
–
–
–
–
–
Selection of calibration subject: Previous XYZ production release
Access to effort data for calibration subject
Functional sizing of calibration subject
Scrub of calibration subject effort data
Comparison of calibration subject model results with actual results
• Effect of calibration on migration estimate results
– Differences in total effort between uncalibrated and calibrated
estimates
– Differences in total effort between Early (uncalibrated) and Final
(calibrated) estimates after adjusting to equivalent assumptions,
performance characteristics, etc.
Ready for what’s next
21
Booz Allen Hamilton
21
Estimating Software Migration
Results & Issues
•Issues - continued
• Reaction of client organization to calibrated Completed estimate
– Reaction of IT Application Development organization
– Reaction of client manager for application migration project
• Additional issues and caveats related to migration estimate
–
–
–
–
–
Effect of change requests on functional groups while migrating
Effect of target migration platform on migration project
Effect of potential database redevelopment on estimate
Effect of potential schedule compression on estimate
Effect of staffing decisions on migration project estimate
• Recommendations for client organization in response to calibration
– Guidelines for use of estimate on project planning & management
– Recommended areas for client organization to investigate to improve
performance for migration project and on other development work
Ready for what’s next
22
Booz Allen Hamilton
22
Estimating Software Migration
Table of contents
• Background
• Scope & Method
• Results & Issues
• Takeaways
Ready for what’s next
23
Booz Allen Hamilton
23
Estimating Software Migration
Takeaways
• All performance is local & may differ hugely from comparators
• Methods, staff and project circumstances affect performance
• Application and system requirements affect performance
• Calibration is critical for accuracy but hazardous to participants
• Caution – User Expectations
• First impressions are tricky to manage & difficult to change
• Local performance may be very different from industry norms
• Problems can be opportunities
• Substandard performance highlights areas for attention
• Pain is usually unavoidable before gain is possible
• Improvement will attract recognition – so will failure
• Everything changes over time
• Functionality, technology, requirements, information, priorities
• Staffing, methods, motivations, quality, performance
• Live & learn – and stay alert!
Ready for what’s next
24
Booz Allen Hamilton
24
Estimating Software Migration
Contact Info:
Terry Vogt
Q
Booz Allen Hamilton
Email: [email protected]
Office: (703) 377-4567
&
A
Ready for what’s next
25
Booz Allen Hamilton
25