agile, scaling & devops some insights from a practitioner · pdf fileagile, scaling &...
TRANSCRIPT
Agile, Scaling & DevOpsSome insights from a practitioner
Peter VollmerDistinguished Technologist
What is the problem to solve?
Faster Response
Reduced Costs- Doing more with less -
Better Customer Experience
Innovation
“Our development methods must keep pace with an
increasingly complex world driven by software”SAFe Foundations 4.0
“It's Not the Big That Eat the Small...It's the Fast that Eat the
Slow”Jason Jennings
“If the rate of change on the outside exceeds the rate of
change on the inside, the end is near.”Jack Welch
Problems are context sensitive …
Traditional IT department
Commercial of the shelf software vendor (COTS)
Individual software development (Bespoke solutions)
Cyber physical systems builder
others
… but helping principles are universal in nature
A common disease that afflicts management the world over is the impression
that “Our problems are different". They are different to be sure, but the
principles that will help to improve quality of product and service are universal
in nature.
—W. Edwards Deming
Lean-Agile PrinciplesAccording to the Scaled Agile Framework
Take an economic view
Apply systems
thinking
Assume
variability;
preserve
options
Build
incrementally
with fast,
integrated
learning cycles
Base
milestones on
objective
evaluation of
working
systems
Visualize and
limit WIP,
reduce batch
sizes, and
manage queue
lengths
Apply cadence,
synchronize
with cross-
domain
planning
Unlock the
intrinsic
motivation of
knowledge
workers
Decentralize
decision-
making
– Principles metaphorically equal the laws of
physics. Even if you ignore them they will still
apply.
– Every transformation might look different but
can rely on these universal principles.
The Lean-Agile View
6
Idea
Software in Production
Shortest sustainable lead time
value
value
value
value
value
value
value
valuevalue
Goal:
Move things as fast as possible through the pipeline with maximum throughput.
Question: What do we have to do to get faster and increase throughput?
Value Stream Optimization
Organize around value streams (Optimize throughput, not utilization)
Optimize around the major bottlenecks
Automate, automate, automate
Reduce/eliminate stabilization phases (instantly fix any quality issues – build-in quality)
Compose Request
Evaluate & Approve
Technical Assessment
Code & TestAcceptance
TestDeploy
5 min. Wait3 days
Wait 15 days
Wait20 days
Wait40 days
Wait15 days
5 min. 20 min. 2 h 15 min. 20 min.
Touch time:3h 5 min.
Wait time: 103 days
The top issues in Agile/DevOps transformations
Issue #1 – Lack of knowledge leading to …Symptoms
− Team level only: “We have some scrum teams…”
− Teams are organized around phases
− We do agile but …
Have to commit to a detailed plan for the next year
only finish half of the user stories in a sprint
test in a different sprint than we do development (intra sprint waterfall, inter-sprint waterfall)
do no retrospectives
team members do not know the scrum guide
We do not measure our velocity, cycle-time and throughput
− “You don’t have to tell me, I already know.”
− Most people are not trained, no coaching in place
Agile transformations are not managed!
FrAgile
Issue #1 – Lack of knowledgeCall for Action
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
Clarity on how to think, without clarity on how to act, leaves people unmoved.Dan Pink
Manage your lean-agile transformation
Issue #2 – No clear backlogsSymptoms
– Everything has the same importance (80% must-requirements)
– No clear ownership (content authority)
– Not delivered what was asked for
– Too many things are done in parallel (project slip, due to unfinished work)
– Backlogs contain work for many years
– Impediments are not immediately removed
– Dependencies are not managed, late surprises
11
Issue #2 – No clear backlogsBacklog Concept
fix
fix
fix
flex
Ranked backlog
Whenever you run out of time you have delivered the maximum possible business value.
Iron rectangle & agile mindset How to maximize scope/business value?
Date Quality
Costs Scope
Issue #2 – No clear backlogsEnterprise Backlog Model & Active Backlog Management
Epics are in the
Portfolio Backlog
Features are in the
Program Backlogs
Stories are in the Team
Backlogs
Capabilities are in the
Value Stream Backlogs
An Enterprise Backlog Model
1. Define clear ownership (content authority)
2. Use ranking not priority
3. Limit size of items
4. Align on dependencies
5. Reduce planning horizon (max. a few months of work)
6. Manage & asap remove impediments
7. Limit work in process (wip) – practice swarming
Issue #3 – Lack of CI/CD PipelineSymptoms
– No running software for the first half of the project
– Builds are broken most of the time
– Test environment takes weeks or month to be set up and is done manually
– Always not enough hardware
– Discovered bugs are often environment/setup issues
– Interface incompatibility discovered late
– No mocks, stubs, service or network virtualization in place
Issue #3 – Lack of CI/CD Pipeline
“… automated manifestation of your process for getting software from version control into the hands of your user.”1
• Concept is not new but more radical
• Measure it
• Take it to the next level
1) See Humble, Farley: Continuous Delivery, Addison-Wesley, 2011
Check in Build TestManual Tests Running
and tested
softwareUnit Test / Static Code Analysis / Code Coverage
Lead Time
Reduce lead time
Deploy
Check in Build
to Dev
Issue #3 – Lack of CI/CD PipelineDevOps Deployment
to Staging
Deployment
Package/Image/Container
to Production
Roll-back
Same process for deployment
Dev and Ops people working together already from the beginning of the project.
Orchestration via Build System Automation Flow
(1) start build
Build Cloud(1) build
(2) start static code analysis
(2) static
code analysis
Installable
package
Code Analysis(3) acquire test environment
Test Cloud(3) acquire test
environment
(4) deploy software
(4) deploy
software
Test Workstation
(QTP/EATE)
(6) trigger execution
ALM
(6a) get tests
(6c) store results
(6b) execute
tests
(5) make template/snapshot
Test Reports
(5) vm snapshot
Build Reports
End-To-End Automation
Example: Böblingen Unattended End-to-End Test Automation
HPE DevOps Technology Matrix
Continuous
Assessment
Continuous Delivery
Continuous Integration and Testing Continuous Release
Continuous
OperationsSOLUTIONS
3RD PARTIES
GIT
TFS
Subversion
VS
Eclipse
MS WDT
MS Build
Maven
SSH
vCenter
Chef
Nexus
Nexus
SSH
vCenter
Chef
Jenkins
Plan Develop BuildDeploy
(DV, QA)Test
Deploy
(ST, PR)Test Release OperateDefine
DV-QA ST-PR
PROCESS
HP
AGM
ALM SV
NVPPM / CSA / CODAR
SM BSM
ALI CODAR / CSA
OO
SA
ALM
UFT
PC
CODAR / CSA
OO
SA
ALM
UFT
PC
OO BSM
SM
UCMDB
BSM
SV
NV
SV
NV
SM
ADM Suite
ITOM Suite
Example: Automatic Provisioning of a Complex EnvironmentCSA Service Design as the Heart of the system
Sequential Design Model
- Deploys VM and installs DB
- Deploys VM with OML
- Deploys VM with Test Server
- Creates VM and installs OS
- Install BSM Application
- Configures and starts BSM
Resource Bindings for every CSA service component are providing the actions
Example: OO Runbook AutomationAutomate IT tasks, manage compliance and orchestrate IT processes
OO as core for executing actions
- Used standard OO content packs
- Developed own OO run-books
Example: Database ProvisioningDMA Workflow for deploying and running Oracle DB
Example: HPE Product Stack for Provisioning and Deployment
CSA Portal
Service Lifecycle Management
HP Operations Orchestration
HP Server Automation
HP Database & Middleware
Service
Manager
Service
Designer
Service
Catalog
HP Cloud Service Automation
Bare Metal Matrix Cloud OS vCenter Amazon
EC2
HP Cloud
Services
HPSW ADM/ITOM Portfolio for DevOps
HPE AppPulseHPE Cloud Service
Automation
HPE BSMHPE AppPulse Mobile
HPE StormRunner
Load
HPE ALM HPE Agile Manager HPE Unified
Functional Testing
HPE Performance
Center
HPE LoadRunner
Continuous Integration, Testing, Delivery and Assessment
CONNECTED INTELLIGENCE
HPE CODAR
Designer
Orchestrator
Provisioning engine
OOTB integrations
App Deployer
Configuration models
Issue #4 – Organizational SetupSymptoms & Resolution
Traditional Org Structure
• Work in silos (silo optimization)
• Too many dependencies
• People with conflicting goals
• Slow decision making (people are waiting)
Lean-Agile Org Structure
• Cross functional teams: Optimized for speed and throughput
• Designed to minimize dependencies
• Aligned goals
• Fast decision making and impediment removal
Product Management
R&D Architecture
Dev QA Doc
Manager
Team Team Team Team Team
Function
Function
Function
Function
Function
PO
Area PO
Chief PO
Issue #5 – People & Motivation
– Productivity factor #1 are motivated people
– B. Boehm: “Use better and fewer people.”
– J. Sutherland: “Invest in productivity of existing workforce first – hiring new people is second.”
– Dan Pink: “Money is a bad motivator – Just pay people enough to get the money out of their mind so that they can focus on the work.”
– Peter Drucker: “Workers are knowledge workers if they know more about the work they perform than their bosses.”
– Jurgen Appelo: “In many organizations, management is the biggest obstacle to successful Agile development.”
Summary
Gain knowledge, understand the lean-agile principles
Understand your value streams and organize around them
Focus on lead-time, cycle-time and throughput
Actively manage backlogs
Deliver in short increments
Apply Management 3.0
Thank youContact: [email protected]
27