be agile. scale up. stay lean with safe by michael stump
TRANSCRIPT
AGILE MEAGILE ME
AGILE ME SUMMIT 2015
Be Agile. Scale Up. Stay Lean.
with the Scaled Agile Framework®
Michael Stump@michael_p_stump
Managing Director - EMEA
2Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
We thought we’d be programming like this
4Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
The Management Challenge
It is not enough that management
commit themselves to quality and
productivity, they must know what it
is they must do.
Such a responsibility cannot be
delegated.
—W. Edwards Deming
5Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
The Scaled Agile Framework® (SAFe®)
A proven, publicly-facing framework for applying
Lean and Agile practices at enterprise scale
ScaledAgileFramework.com
Code Quality
Program Execution
Alignment
Transparency
Values
6Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Scaled Lean-Agile Principles
Take an economic view
Apply systems thinking
Assume variability; preserve alternatives
Manage risk and efficacy with fast, synchronous learning cycles
Develop systems incrementally; integrate and test frequently
Facilitate flow by reducing batch sizes, managing queue lengths, and limiting WIP
Base milestones on objective evaluation of working systems
Synchronize with cross-domain planning and collaboration
Decentralize decision-making
Unlock the intrinsic motivation of knowledge workers
7Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
2012 2013 2014
2.0
3.0
1.0
Field Experience at Enterprise Scale
Roots, Past, Present and Future
Agile
Lean
7
Product
Development
Flow
9Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Be Agile.
Nothing Beats an Agile Team
10Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Mission Aligned and Collaborative
• Empowered, self-organizing, self-managing, cross-functional team
• Delivers valuable, tested, working software every two weeks
• Scrum project management and XP-inspired technical practices;
Kanban too
• Value delivery via User Stories
11Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Scale Up.
Except a Team of Agile Teams
12Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Teams of Agile Teams form ARTs
• Self-organizing, self-managing Agile Release Trains
• Delivers working, tested full system increments every two weeks
• Operates with Vision, architecture and UX guidance
• Common sprint lengths and estimating
• Face-to-face release planning for collaboration, alignment, and
adaptation
• Value delivery via Features and Benefits
13Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Stay Lean.
Working in an Agile Portfolio
14Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Aligning Programs in an Agile Portfolio
• Centralized strategy, decentralized execution
• Lean-Agile budgeting empowers decision makers
• Kanban systems provide portfolio visibility and WIP limits
• Enterprise architecture guides the larger technology decisions
• Objective metrics support governance and improvement
• Value delivery via Epics
16Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Business Results
Happier,
more
motivated
employees
20–50%
increase in
productivity
30–75%
faster time
to market
50%+
defect
reduction
See ScaledAgileFramework.com/case-studies
18Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Decreased
time to
market by
27 weeks
20–50%
Productivity
increase
76%
Decrease in
response
time to
customer
requests
20–25%
Increase
in client
satisfaction
SAFe
adoption
leads to
Barron’s
award
50%
Warranty
expense
down
95%
Decrease in
product
defects
Dramatic
improvement
in quality
Better
alignment to
common
vision
Cost down
50%
Better
business-IT
collaboration
Dependencies
and risks
revealed far
in advance
with SAFe
19Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Faster Flow of Value to the End User
DevOps
20Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Develop on Cadence. Release on Demand.
Development cadence limits variability to a single PI interval.
Release is on demand.
Release on Demand
Major
ReleaseSubsystem
releaseCustomer
Preview
Major
Release New
Feature
Develop on Cadence
PI PI PI PI PI
21Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Why DevOps?
Teams still deliver software to deployment in large
batches causing Monday morning effect!
Deployment and release of new software is likely
to be highly manual, error prone and unpredictable
Lack of coordination with Deployment Operations.
DevOps must be on the train to participate in
Program Events
Improves deployment readiness from feature definition all the
way through to the point where users actually benefit
21
22Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
The Problem. Development or Operations?
It works on my machine!
After they deployed our code
to the staging environment, I
can’t login to the application!
After deployment, the
production server cannot
handle the load!
It's not a problem with our
server, it's your code!
23Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
What is DevOps?
An agile approach to bridge the gap between software
development and IT operations to deliver value faster
Development
Operations
• Create Change
• Add or Modify Features
• Create Stability
• Create or enhance services
24Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
SAFe DevOps Practices for Deployment Pipeline
1. Build and maintain a production equivalent staging
environment
2. Maintain Development and Test Environments to better
match production
3. Deploy to Staging Every Sprint; Deploy to Production
Frequently
4. Put Everything Under Version Control
5. Start Creating the Ability to Automatically Build
Environments
6. Start Automating the Actual Deployment Process
25Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
A Staging environment mitigates risk due to
Development and Production environments being
significantly different
The staging environment “resembles” the Production
environment where validation takes place.
Goal: achieve largely functional
equivalence between Staging and
Production. True equivalency is usually
not economically feasible.
Build and maintain a Production equivalent
Staging environment#1
26Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Propagate all changes in Production, such as
components or supporting infrastructure back
to the Development, Test and Staging
All new actions required to enable the
deployment flow should be documented in
scripts and automated
Maintain Development and Test
Environments to Better Match Production#2
27Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Perform System Demos from the Staging environment
Do hard and painful things frequently so they become
routine
Deployment to Production under governance of Release
Management Team:
• Evaluation of any quality, regulatory, security requirements
• Conceptual integrity of the feature set
• Potential impacts to customers
Deploy to Staging every Iteration; Deploy to
Production Frequently#3
28Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
All deployable artifacts, metadata and other
supporting configuration items
New code, all required data (dictionaries, scripts,
look-ups, mappings, etc.), all libraries and ext.
assemblies, configuration files or databases,
application or database servers – everything that
may realistically be updated or modified
Keep automated test and a manageable set of
test data under version control too!
Put Everything Under Version Control#4
29Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Many deployment problems are due to error
prone manually intensive activities (OS,
applications, data, initiation of jobs in the system)
Establish a reliable deployment process by
automating the environment setup process.
Tools like Virtualization, Infrastructure as a
Service and automating configuration
management jobs make this easier
Start Creating the Ability to Automatically
Build Environments#5
30Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Deployment process itself also requires automation
including all steps in the flow e.g.:
• building the code
• creating the test environments and executing tests
• deploying and validating verified code, associated
systems and utilities in the target environments
Requires the full commitment and support of the
organization and Kaizen mindset
Start automating the actual deployment
process#6
31Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Summary
Deploying software builds to Production is no
less important than developing and testing new
functionality
Poorly managed deployments that happens too
late in the lifecycle delays value delivery
Engage DevOps in Program level events,
establish environments, practices and disciplined
procedures in support of a continuous
deployment pipeline
DevOps must be on board the Agile Release Train
32Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
In the new world, it is not the big fish which eats the
small fish, it’s the fast fish which eats the slow fish
Klaus Schwab
Founder and Executive Chairman
World Economic Forum
33Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Questions?
ScaledAgileFramework.com
ScaledAgileAcademy.com
ScaledAgilePartners.com
…or visit ScaledAgile.com for links to everything
36Leffingwell et al. © 2015 Scaled Agile, Inc. All Rights ReservedLeffingwell et al. © 2015 Scaled Agile, Inc. All Rights Reserved
Be Agile. Scale Up. Stay Lean.
with the Scaled Agile Framework®Agile ME Summit 2015
Michael Stump@michael_p_stump
Managing Director - EMEA