Integrating ITIL with the Software Development Process Dhiraj Gupta Mark Stehlik

Integrating ITIL with the Software
Development Process
Dhiraj Gupta
Mark Stehlik
IT Manager
IT Director
Agenda
• Why integrate ITIL with the Software
Development Process?
• Progressive Operations Framework (POF)
– Overview
– Planning Areas
– Implementation
• Questions
© 2006 Progressive Casualty Insurance Company
IT – A tale of two Departments
Typical IT Life Cycle
Conflicting Incentives
Speed of Delivery
Stability
Enterprise
Design
Business Need
Analysis
Support
Architecture
Solution
Development
Construct
Test
Operate
Optimize
Change
Liaison
Unstructured Communication
IT Service
Delivery
Ineffective Coordination
Insufficient Collaboration
© 2006 Progressive Casualty Insurance Company
IT Service
IT – A tale of two Departments
Separate Process Control Frameworks …
Software Development
Operations
CMMi
ITIL
SEI
ISO 9000
MOF
SDLC
Agile
OGC, UK
Microsoft
CobiT
Agile Alliance
Functional
Six Sigma
Operational
… accentuate Enterprise IT Integration Challenges
© 2006 Progressive Casualty Insurance Company
IT – A tale of two Departments
Net Result …
Software not designed for
Operability and Supportability
Operations Processes not geared
for Service Management
© 2006 Progressive Casualty Insurance Company
IT – A tale of two Departments
Systematic Integration of ITSM best practices
with the Software Development Process …
Design
Business Need
Analysis
Support
Solution
Development
Construct
POF
Operate
Test
IT Service
Delivery
Optimize
IT Service
Change
Progressive Operations Framework
… can effectively bridge the AD – Operations gap thru the
introduction of non-functional requirements into the
Software Development Process
© 2006 Progressive Casualty Insurance Company
ITIL & Software Development
“Design for non-functional requirements means giving non-functional requirements
a level of importance similar to that for the functional requirements, and including
them as a mandatory part of the design phase.”
© 2006 Progressive Casualty Insurance Company
ITIL & Software Development
What comes first?
IT Service
IT Service
Management
While it is important to have an effective IT
Service Management Program, it is equally
important to develop IT Services that are
manageable in the first place
© 2006 Progressive Casualty Insurance Company
ITIL & Software Development
The second I in ITIL is misleading …
Its not all about the Infrastructure
Its about the alignment of IT, both
Applications and Infrastructure, with the
Business Need
© 2006 Progressive Casualty Insurance Company
POF Overview
• Link between Software Development and IT
Service Delivery (Operations)
• Framework to drive non-functional requirements
thru the Software Development process
• Ensures that Operability and Supportability
issues are addressed as part of the software
design and development efforts and not as an
afterthought
• Defines 57 Planning Areas for Software
Development
• Based on ITIL best practices
• Follows MOF structure
© 2006 Progressive Casualty Insurance Company
POF Overview - MOF
© 2006 Progressive Casualty Insurance Company
POF Overview
Progressive Operations Framework – MOF View
Thursday, March 09, 2006
Service Level Management
·
·
·
·
Service Catalog
Service Level Requirements
Service Level Metrics Definition
Service Level Definition (SLA, OLA)
Capacity & Performance
Management
· Software Performance Engineering
· Application Sizing
· Application Instrumentation (Capacity,
Performance, Business Metrics)
· Instrumentation Database
· Capacity & Performance Modeling
· Capacity & Performance Reporting & Trend
Analysis
Availability Management
Change Management
·
·
·
·
·
·
·
·
Component Failure Impact Analysis
Maintenance Planning
Application Instrumentation (Availability Metrics)
Availability Reporting & Trend Analysis
Change Management System
Change Categorization & Prioritization Rules
Change Advisory Board
Integrated Change Calendar
Configuration Management
· Configuration Management Plan
· Configuration Database
· Configuration Status Accounting and Audit
Service Continuity Management
DSL Backup & Recovery
Documentation Backup & Recovery
Data Backup & Recovery
Disaster Recovery Planning
· Support Plan
· Support Statistics Reporting
ha
ng
in
g
POF
t
or
pp
Su
SLA
Review
C
Release
Readiness
Review
g
in
Security Management
·
·
·
·
·
·
Service Desk
·
·
·
·
Error Handler & Logger
Incident Data Capture Tools
Service Desk Training & Communication
Known Error Database
Incident Management
· Incident Database
· Event Response Guides
· Escalation Process
Problem Management
· Incident Correlation & Trend Analysis
· Application Tracing
· Problem Prioritization Rules
Release Policy
Definitive Software Library
Build Process
Acceptance Testing
Rollout / Rollback Process
in
g
· Service Usage Accounting
· Service Usage Reporting & Trend Analysis
·
·
·
·
·
at
Financial Management
Release Management
O
pe
r
·
·
·
·
iz
in
g
Business Impact Analysis
Environmental & Hardware Redundancy
Data Redundancy
Vendor Redundancy Management
Fault Tolerance
O
pt
im
·
·
·
·
·
Data Classification
Authentication System
Authorization System
Confidentiality Mechanisms
Security Administration Tools
Security Audits
Storage Management
· Data Archival
System Administration
· Operations Guide
© Progressive Insurance All rights reserved.
© 2006 Progressive Casualty Insurance Company
POF Planning Areas
Activities, Processes, and Tools that must be
employed during the life cycle of an application,
specially the design, development and operations
stages, in order to deliver virtually perfect IT
service
POF Planning Areas include:





AD Activities – Service Level Requirements
AD Processes – Software Performance Engineering (SPE)
Operational Tools – Application Instrumentation
Operational Activities – Capacity and Performance Modeling
Operational Processes – Change Management
© 2006 Progressive Casualty Insurance Company
POF Planning Areas
•
•
•
•
•
High Level
General Recommendation
Descriptive, Not Prescriptive
Not universally applicable
Assume Ideal Implementation – Systematic Approach
•
Most IT projects, however, are Opportunistic in nature,
where timeliness takes precedence over planning, discipline
and control
• Assumes no resource or schedule constraints
• Assumes that Operations and Support Infrastructure
exists (eg. Help Desk exists)
• Some Planning Areas are quite specific to Progressive
© 2006 Progressive Casualty Insurance Company
Service Level Management
Service Level Requirements
Capacity Requirements
Service Catalog
Performance Requirements
Availability Requirements
Service Level Metrics Definition
Capacity Metrics
Performance Metrics
Availability and Reliability Metrics
Business Metrics
Service Level Definition
Service Level Agreement
Operational Level Agreements
SLA Reviews
© 2006 Progressive Casualty Insurance Company
Capacity and Performance
Management
Capacity and Performance Requirements
Service Level Metrics Definition
Capacity Metrics
Service Level Requirements
Capacity Requirements
Workload Definitions
Growth Estimates
Service Catalog
Performance Metrics
Performance Thresholds
Performance Requirements
Business Metrics
Capacity Data Collection
Software Performance
Engineering
Performance
Benchmarks and Stress
Test Results
Application
Instrumentation
Capacity, Performance
and Business Data
Metrics
Capacity,
Performance,
Availability
Management DB
Proactive Capacity
Management
Application Sizing
Hardware / Software
Configurations
Incident Management
Reactive Performance
Management
Capacity ,
Performance and
Business Metrics
Reporting
Trend Analysis
Usage and Exception
Reports
Capacity and
Performance
Modelling /
Simulations
Capacity and
Performance
Forecasts
Performance
Tuning
Capacity
Enhancements
Implementation
Change Management
SLA Reviews
© 2006 Progressive Casualty Insurance Company
Availability Management
Application Design
Infrastructure Diagram
Service Level Requirements
Availability Requirements
Service Level Metrics
Definition
Available and Reliability Metrics
Service Catalog
Availability Data Collection
Application
Instrumentation
(Availability)
Availability and
Reliability Data Metrics
Un-planned Outages
Component Failure
Impact Analysis
Hardware / Software
Configurations
Planned Outages
Maintenance Planning
Capacity,
Performance,
Availability
Management DB
Incident Management
Availability and
Reliability Reporting
Availability and
Reliability Reports
Availability
Enhancements
Implementation
SLA Reviews
Change Management
© 2006 Progressive Casualty Insurance Company
Service Continuity Management
Business Impact
Analysis
Business Impact
Statement
Service Level
Requirements
Availability
Requirements
Environmental and
Hardware Redundancy
Redundant Configuration
Vendor
Redundancy
Management
Definitive Software
Library Backup and
Recovery Strategy
(Source Code,
Executables)
Documentation
Backup and Recovery
Strategy
Data Redundancy
Fault Tolerance
Fault Tolerant
Design
Implementation
Data Backup and
Recovery Strategy
Disaster Recovery
Exercise
© 2006 Progressive Casualty Insurance Company
Disaster Recovery
Planning
Financial Management
Service Catalog
Service Usage Accounting
Capacity,
Performance,
Availability
Management DB
Service Usage Reporting /
Trend Analysis
SLA Reviews
© 2006 Progressive Casualty Insurance Company
Change, Configuration, and Release
Management
Request For
Change
Infrastructure
Changes
Change
Management
Configuration Management
Release Management
Release Policy
Configuration
Management Plan
Change Management
System
Definitive Software
Library
Build Process
Change
Categorization and
Prioritization Rules
Develop
and Test
Change
I
As mpac
ses
t
sm
ent
Acceptance
Testing
Change Advisory
Board
Release
Readiness Review
ed
ov
pr es
Ap ang
Ch
Integrated
Change Calendar
Approved Changes
Configuration Status
Accounting and Audit
Rollout / Rollback
Process
Configuration
Changes
© 2006 Progressive Casualty Insurance Company
Implementation
Update
DSL
Configuration
Database
Service Desk, Incident, and Problem
Management
Service Level
Requirements
Support Requirements
Support Plan
End Users
Error Handler and
Logger
Capacity,
Performance and
Business Metrics
Monitors
Configuration
Database
Service Desk
Availability
Monitors
Incident Data Capture
Tools
Incident Management
Problem
Management
Incident
Database
Incident
Correlation and
Trend Analysis
Known Error
Database
Application
Tracing
Event Response
Guides
Service Desk Training
and Communication
Escalation
Process
Support Statistics
Reporting
© 2006 Progressive Casualty Insurance Company
Problem
Prioritization
Rules
Change
Management
Security Management
Data Classification
Authentication System
Authorization System
Confidentiality Mechanism
Security Administration
© 2006 Progressive Casualty Insurance Company
Security Audits
System Administration & Storage
Management
System Administration
Storage Management
Operations Guide
Data Archival
© 2006 Progressive Casualty Insurance Company
POF Implementation - Principles
• Ownership of all aspects of the software; not just
functional, by the application development teams
• Dedicated Operational Architecture team within
application development area to generate and drive the
implementation of non-functional requirements
• Embed senior technical resources from operations with
application development teams from project inception
to deployment
• Integrate ITSM best practice based non-functional
requirements into the software development cycle
• Actionable non-functional requirements for developers
–
Gold Standard Code Examples
• Communicate, Coordinate, Collaborate
–
POF Steering Committee
© 2006 Progressive Casualty Insurance Company
ITIL Integrated with the Software
Development Process
Progressive Operations Framework – Application LifeCycle View
Thursday, March 09, 2006
Construct
·
·
·
·
·
·
·
·
·
·
·
Operate
Definitive Software Library (DSL)
Build Process
Software Performance Engineering
Application Instrumentation (Capacity,
Performance, Availability, Service
Usage, Business Metrics)
Error Handler & Logger
Incident Data Capture Tools
Application Tracing
Capacity, Performance, Availability
Management Database
Data Archival
Authentication & Authorization System
Confidentiality Mechanism
· Configuration Status Accounting &
Audit
· Security Administration
· Security Audits
· DSL, Documentation and Data
Backup and Recovery
· Disaster Recovery Planning
Design
·
·
·
·
Service Level Metrics Definition
Component Failure Impact Analysis
Maintenance Planning
Environment / Hardware, Data and
Vendor Redundancy Management
· Fault Tolerance
Test
Solution
Development
·
·
·
·
Known Error Database
Event Response Guides
Acceptance Testing
Application Sizing
Deployment
·
·
·
·
·
·
·
·
Release Policy
Service Catalog
Service Level Definition
Rollout / Rollback Process
Support Plan
Escalation Process
Operations Guide
Service Desk Training &
Communication
· Release Readiness Review
Change
· Change Management System
· Change Categorization &
Prioritization Rules
· Change Advisory Board
· Integrated Change Calendar
· Configuration Management Plan
· Configuration Database
Analysis
Support
IT Service Delivery
Optimize
· Service Level Requirements
· Business Impact Analysis
· Data Classification
· Capacity & Performance Modeling
· SLA Reviews
© Progressive Insurance All rights reserved.
© 2006 Progressive Casualty Insurance Company
· Incident Database
· Incident Correlation & Trend
Analysis
· Problem Prioritization Rules
· Capacity, Performance, Availability,
Service Usage, Business Metrics &
Support Statistics Reporting & Trend
Analysis
POF Accomplishments
•
•
•
•
•
•
•
Instrumentation Framework
Error Handling Framework
Application Tracing
Security Strategy
Data Archival Strategy
System Integration Catalog
Non-functional Testing
– Transaction Profile
– Parallel Performance Testing
•
Test Early and Often
© 2006 Progressive Casualty Insurance Company
Non-functional Testing Process
Testing in an Agile World
Development
Design
Analysis
Develop
Design
Construct
Analysis
Develop
Production
Design
Construct
Analysis
Develop
Design
Construct
Analysis
Develop
Test
Test
Test
Test
Deploy
Deploy
Deploy
Deploy
Operate
Construct
QA (PIT)
Functional
Testing
Functional
Testing
Functional
Testing
Functional
Testing
QA
QA
QA
QA
NonFunctional
Testing
NonFunctional
Testing
NonFunctional
Testing
NonFunctional
Testing
Deploy
Deploy
Stress
NonFunctional
Testing
NonFunctional
Testing
Mini Stress Test
Full Volume Stress Test
© 2006 Progressive Casualty Insurance Company
Change
Operate
Optimize
Support
POF Implementation – Challenges
• Organizational Culture
– Service Management Culture
• Availability of senior technical resources that
are right for the job
– Breadth of technical experience
– Application Development as well as Operations
experience
– Business Knowledge
– Excellent Communication skills
– Initiative and Drive
• Creating Actionable Non-functional
Requirements for developers
© 2006 Progressive Casualty Insurance Company
POF Implementation – Recommendations
• Executive Sponsorship to foster Service
Management Culture
• Establish a Career Path to encourage
resources to take up this role
• Provide Gold Standard Code Examples to
developers
• Adopt Continuous Improvement Approach
© 2006 Progressive Casualty Insurance Company
© 2006 Progressive Casualty Insurance Company