Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
IBM Rational
03/10/2014
1
What Are Our Goals?
• Ultimate goal is to continuously improve tools and process to produce a
quality product with faster delivery to our customers.
Plan
Plan and
and source
source Manage
Manage data
data and
and virtualize
virtualize Standardize
Standardize and
and automate
automate Optimize
strategically
strategically services
services for
for test
test cross-enterprise
cross-enterprise Optimize applications
applications
Dashboard Use
Use enterprise
enterprise issue
issue
Dashboard portfolio
portfolio Deliver
Deliver and
and integrate
integrate Automate
Automate patterns-based
patterns-based resolution
resolution procedures
procedures
measures
measures continuously
continuously provision
provision and
and deploy
deploy
Link
Link objectives
objectives to
to releases
releases Link
Link lifecycle
lifecycle information
information Plan
Plan departmental
departmental releases
releases Monitor
Monitor using
using business
business and
and
STG DevOps Proof of Concept Investigation
Deliver and
and automate
automate status end
end user
user context
context
Centralize
Centralize Requirements
Requirements Deliver andand build
build with
with test
test status
Management
Management Centralize Automated
Automated deployment
deployment with Centralize
Centralize event
event notification
notification
Centralize management
management with and
and incident
incident resolution
resolution
Measure
Measure to
to project
project metrics and
and automate
automate test standard
standard topologies
topologies
metrics test Customer
Manage
Manage Lifecycle
Lifecycle artifacts
artifacts Monitor
Monitor resources
resources
Customer Service Management Connect
Content
Interaction
Document
Document objectives
Manage
objectives locally
Manage department
department
locally
Schedule
Schedule SCMSCM integrations
integrations Plan
Plan and
and manage
manage releases
releases consistently
consistently Interaction Feedback
resources
resources
and
Test
and automated
automated builds
Test following
builds
following construction
construction
Standardize
Standardize deployments
deployments Collaborate
Collaborate Dev/Ops
Dev/Ops
informally
informally
Download
Hosted Environment
RFE Driver VM
Fully Achieved Partially Achieved Goals
SCE
Continuous Feedback Continuous Test
Driver VM
Driver VM
1) Which of the following best describes the state of your code at the end of each iteration?
* Ready for testing
* Partially tested, ready for additional integration, performance, security, and/or other testing
* Fully tested, documented, and ready for production delivery or GA release (modulo translation work or
legal approvals)
Rational Focal Point Rational UrbanCode
2) How quickly can your team pivot (complete a feature in progress and start working on a newly-arrived, high-
priority feature)? Rational Team Concert
* 3 months or longer
* less than 3 months
Task WI, Change Record WI Security (AppScan)
* less than one month
* less than one week Jazz SCM
3) How quickly are you able to change a line of code and deliver to customers as part of a fully-tested, non-fixpack
Jazz Build Engine (JBE)
release?
* 12 months or longer
* less than 6 months
* less than 3 months
* less than one month
* less than one week
* less than one day
4) What is the cost (in person-hours) of executing a full functional regression test? Image Catalog
<enter value>
Development VM Builder VM Build Resources Test Environment
Compilers AppScan
5) How long does it take for developers to find out that they have committed a source code change that breaks a
critical function? Web Browser RTC Eclipse Client Driver Images
* One week or longer
AppScan Compile Pool Resource Driver Images
RTC Eclipse Client Debug Environment
* 1 to 7 days Compilers Web Browser
* 12 to 24 hours UrbanCode Deploy? Test Resources
Test Resources
* 3 to 12 hours RTC Web Client Compile Pool Resource RTC Web Client
* 1 to 3 hours RTC Build Engine Client RTC Web Client
* less than one hour
Debug Environment
RTC Build Engine Agent RTC Eclipse Client RTC Eclipse Client
6) Which of the following best describes the state of your deployment automation for the environments used for
testing? Focal Point Client
* We have no deployment automation. Setting up our test environments is entirely manual.
RTC Build Client (JBE)
* We have some deployment automation, but manual intervention is typically required (for example, to
provision machines, setup dependencies, or to complete the process).
* We create fully-configured test environments from scratch and we reliably deploy into those environments
without manual intervention.
* We create fully-configured production-congruent environments from scratch and we reliably deploy into
those environments without manual intervention.
3 © 2013 IBM Corporation
Where do you start? DevOps improvements adoption
Assess and define outcomes & supporting practices to drive strategy and roll-out
• Start where you are today and where your improvement goals Define
Define release
release with
with Improve
Improve continuously
continuously with
with
Manage
Manage environments
environments Automate
Automate problem
problem isolation
isolation
Step 3
business through
through automation
automation and
and issue
issue resolution
resolution
business objectives
objectives development
development intelligence
intelligence
Measure Provide
Provide self-service
self-service build,
build, Optimize
Optimize to
to customer
customer KPIs
KPIs
Measure to
to customer
customer value
value Test
Test Continuously
Continuously
Dashboard
source
strategically
strategically
Dashboard portfolio
portfolio
measures
measures
Manage
Manage data
data and
services
Deliver
Deliver and
and virtualize
services for
virtualize
for test
test
and integrate
integrate
continuously
continuously
Standardize
Standardize and
Automate
and automate
automate
cross-enterprise
cross-enterprise
Automate patterns-based
patterns-based
provision
provision and
and deploy
deploy
Optimize
Optimize applications
Use
applications
Use enterprise
enterprise issue
resolution
issue
resolution procedures
procedures
Manage
Manage Lifecycle
Lifecycle artifacts
artifacts Monitor
Monitor resources
resources
Document
Document objectives
objectives locally
locally Plan
Schedule
Schedule SCMSCM integrations
integrations Plan and
and manage
manage releases
releases consistently
consistently
Manage
Manage department
department and
and automated
automated builds
builds Standardize
Standardize deployments
deployments Collaborate
Collaborate Dev/Ops
Dev/Ops
Capabilities
• Target improvements which get the best bang for the buck
my practices • Roadmap and agree on an actionable plan
improve? • Use measurable milestones that include early wins
Roadmap
4 © 2013 IBM Corporation
Outcome Based Metrics
1) Which of the following best describes the state of your code at the end of each iteration?
* Ready for testing
* Partially tested, ready for additional integration, performance, security, and/or other testing
* Fully tested, documented, and ready for production delivery or GA release (modulo translation work or legal approvals)
2) How quickly can your team pivot (complete a feature in progress and start working on a newly-arrived, high-priority feature)?
* 3 months or longer
* less than 3 months
* less than one month
* less than one week
3) How quickly are you able to change a line of code and deliver to customers as part of a fully-tested, non-fixpack release?
* 12 months or longer
* less than 6 months
* less than 3 months
* less than one month
* less than one week
* less than one day
4) What is the cost (in person-hours) of executing a full functional regression test?
<enter value>
5) How long does it take for developers to find out that they have committed a source code change that breaks a critical function?
* One week or longer
* 1 to 7 days
* 12 to 24 hours
* 3 to 12 hours
* 1 to 3 hours
* less than one hour
6) Which of the following best describes the state of your deployment automation for the environments used for testing?
* We have no deployment automation. Setting up our test environments is entirely manual.
* We have some deployment automation, but manual intervention is typically required (for example, to provision machines,
setup dependencies, or to complete the process).
* We create fully-configured test environments from scratch and we reliably deploy into those environments without manual
intervention.
* We create fully-configured production-congruent environments from scratch and we reliably deploy into those environments
without manual intervention.
5 © 2013 IBM Corporation
Outcome Based Metrics
7) (If your product is SaaS) Which of the following best describes the state of your deployment automation for
your staging and production environments?
* We have no deployment automation. Setting up our staging and production environments is entirely
manual.
* We have some deployment automation, but manual intervention is typically required (for example, to
provision machines, setup dependencies, or to complete the process).
* We create fully configured staging and production environments from scratch and we reliably deploy into
those environments without manual intervention.
8) (If your product is SaaS) Are you able to make business decisions based on data provided by
infrastructure, application, and customer experience monitoring?
* yes
* no
9) (If your product is SaaS) How much downtime is generally required to deploy a new version into
production? * 4 hours or longer
* 1-4 hours
* less than 1 hour
* No downtime is needed
10) (If your product is SaaS) How often do problems occur when deploying a new version into production?
* Problems always occur
* Problems occur about 50% of the time
* Problems occur about 25% of the time
* Problems occur about 10% of the time
* Problems are rare
6 © 2013 IBM Corporation
Initial Rollout
Project Contacts DevOps Overview & Self Assessment Analyze Results Roadmap for Goals
Maturity Model
Ice Castle Marla Berg, John Beveridge, Lafonda Richburg 01/30/2014 03/07/2014 03/21/2014
Platform Resource Scheduler Anumpa, Jason Adelman, Shen Wu. 01/30/2014 03/06/2014 03/21/2014
IBM Cloud OpenStack Platform Christine Grev, Gary Palmersheim 01/30/2014 03/06/2014 03/21/2014
GPFS Bonnie Pulver, Lyle Gayne, Steve Duersch, Yuri L Volobuev 02/19/2014 02/21/2014 03/07/2014
PowerVC (Thomas)
MCP (Frye)
PowerKVM (Frye)
2. How quick pivot to new high priority Less than 1 month Less than 3 months
We create fully
configured test
We have some
environments from
deployment
scratch and we
6. State of deployment automation automation but
reliably deploy into
manual intervention
those environments
is typically required
without manual
intervention
Define release with Improve continuously with through automation and issue resolution
business objectives development intelligence
Measure to customer value Test Continuously Provide self-service build, Optimize to customer KPIs
provision and deploy continuously
Plan and source Manage data and virtualize Standardize and automate
Reliable
Link objectives to releases Automated test environment Plan departmental releases Monitor using business and
Centralize Requirements deployment and automate status end user context
Management Run unattended test Automated deployment Centralize event notification
Measure to project metrics automation / regression with standard topologies and incident resolution
Practiced
Define release with Improve continuously with through automation and issue resolution
business objectives development intelligence
Measure to customer value Test Continuously Provide self-service build, Optimize to customer KPIs
provision and deploy continuously
GOALS:
Plan and source Focus up
Manage data and virtualize Standardize and automate
Reliable
Link objectives to releases Automated test environment Plan departmental releases Monitor using business and
Centralize Requirements deployment and automate status end user context
Management Run unattended test Automated deployment Centralize event notification
Measure to project metrics automation / regression with standard topologies and incident resolution
Practiced
SCE
Continuous Feedback Continuous Test
Driver VM
Driver VM
Continuous Deployment
Agile Development
Continuous Build
Continuous Integration
Image Catalog
Development VM Builder VM Build Resources Test Environment
Compilers AppScan
Web Browser RTC Eclipse Client Driver Images
AppScan Compile Pool Resource Driver Images
RTC Eclipse Client Debug Environment
Compilers Web Browser
UrbanCode Deploy? Test Resources
Test Resources
RTC Web Client Compile Pool Resource RTC Web Client
RTC Build Engine Client RTC Web Client Debug Environment
RTC Build Engine Agent RTC Eclipse Client RTC Eclipse Client
Focal Point Client
RTC Build Client (JBE)
17 © 2013 IBM Corporation
Introduction to Practice Based Maturity Model
Define release with Improve continuously with through automation and issue resolution
business objectives development intelligence
Measure to customer value Test Continuously Provide self-service build, Optimize to customer KPIs
provision and deploy continuously
Plan and source Manage data and virtualize Standardize and automate
Reliable
Link objectives to releases Link lifecycle information Plan departmental releases Monitor using business and
Centralize Requirements Deliver and build with test and automate status end user context
Management Centralize management and Automated deployment with Centralize event notification
Measure to project metrics automate test standard topologies and incident resolution
Practiced
Some teams exercise activities associated with the practice, inconsistently. No enterprise
Practiced
standards defined. Automation may be in place but without consistent usage models.
Enterprise standards for practice are defined. Some teams exercise activities associated
Repeatable
with the practice and follow the standards. No core team or COE to assist with practice
(Consistent)
adoption. Automation, if used, follows enterprise standards.
Mechanisms exist to assist adoption and ensure that standards are being followed. Core
Reliable
team of mentors available to assist in adoption.
Institutionalized adoption across the enterprise. COE is a matured and integral part of
Scaled continuous improvement and enablement. Practices are mainstreamed across the
enterprise. Feedback process in place to improve the standards.
Define release with Improve continuously with through automation and issue resolution
business objectives development intelligence
Measure to customer value Test Continuously Provide self-service build, Optimize to customer KPIs
provision and deploy continuously
Plan and source Manage data and virtualize Standardize and automate
Reliable
Link objectives to releases Link lifecycle information Plan departmental releases Monitor using business and
Centralize Requirements Deliver and build with test and automate status end user context
Management Centralize management Automated deployment Centralize event notification
Measure to project metrics and automate test with standard topologies and incident resolution
Practiced