SlideShare a Scribd company logo
1 of 51
Continuous Delivery
and Continuous Agile
From Andy Singleton,
http://continuousagile.com
www.assembla.com
The secret weapon that Silicon Valley is using to
disrupt and destroy competitors
• Retailer X deploys changes to their monolithic online
ordering app once every six weeks. Ops holds for three
weeks to make sure the complete system is stable.
• Amazon has thousands of services and more than 1000
service teams. They release something about once every
11.6 seconds. In the time that Retailer X takes to try
one new release, Amazon has made 100,000 changes.
• Amazon hosting competitor: “It’s an emergency”.
• 6 Apex Predators in the top 10 public companies worth
$2.4 trillion: Google, Amazon, Facebook, Microsoft, GE,
Apple
Survey on Continuous Delivery
46% think their
competitors
have adopted
Continuous
Delivery
Problems solved by Continuous
• Stressful releases
• Speed to market
• Competitiveness
• Quality
• Scaling – building large systems
Not Scrum
• Continuous improvement versus Cadence
Unblock your teams
• Web services versus monoliths
Smaller, faster testing, faster releases
• Technical practices, not team practices
HUGE productivity gains from automation
• Tech leads versus self-managing teams
One leader, ready to build services
• MAXOS versus SAFe
Scale different
改善
1. リリースを頻繁にする
2. 改善する
/ 月割りのリリース
Kaizen
1. Release more frequently
2. Improve
Continuous Agile Agenda
1) DevOps - Continuous delivery of software –
Build/Test/Deploy
2) Continuous, metric-driven product
management
3) MAXOS enterprise management
4) Making the Move
Continuous Delivery
or “DevOps”
Scrum Sprint
Validate and
Sort Deliverables
Select a
Sprint Plan
Completed
= observed
velocity
Expand stories
and estimate
tasks
Collect
Ideas
Close Sprint
Into next
sprint
Work on
tasks
Scrumban Iteration
Validate and
Sort Deliverables
Pull Deliverables
When Ready
Collect
Ideas
Stabilize
Release
Into next
release
Feature
Freeze
Triage
Idealized ScrumBan Release
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
Kanban / Continuous
Validate and
Sort Deliverables
Pull Deliverables
When Ready
Collect
Ideas
Continuous
Release
Stay within
WIP limit
Release Features
Continuously
Program Launch
Releases
Plan Program Test Doc Deploy
Skip
Automate
& Blend Lag Automate
Pull
CI & CD
End up with
Waterfall to Continuous
Measure
Code Contribution Patterns
Manage code if possible. People are hard to manage and
can’t be automated. They want to contribute.
• Centralized continuous delivery
– No branches, finds and fixes problems as early as possible
• Distributed continuous delivery
– Release every change with its own branch and test
• Temporary branches
– Combines benefits of centralized and distributed
• MAXOS
– Use centralized continuous integration to manage a
massively scalable IT system
Centralized CI/CD
Contributor Commits – “as early as possible” to find problems
Continuous
Integration tests
Fail - alarm
Release Candidate
Test System
Release
QA Testing
Pass
Continuous delivery at Edmunds.com
with PERFORCE
The big question: How to test?
• We release software in batches so that we can test it.
• In continuous delivery, we might get as little at 10
minutes to test a release candidate
Test Layering
Monitor your released software: Errors, Usage
volume, usage patterns, user feedback
QA System with Human test consultants
Code review: Both a manual test, and a place to
ask for test scripts.
Continuous integration: Run automated tests
before using human review time
Unit tests in the development environment
Switch new features and architecture
More frequent releases can increase quality
9 (sparse) Layers at Edmunds
Feature Switch and Unveil
Hidden
Programmer sees a change locally.
Change is tested in the main
version but not seen.
Test
Story Owner and testers see the
change on test systems.
Beta
Insiders see it and use it. Story
Owner can show it to selected
users for feedback or A/B testing.
UNVEIL!
The big event. Communicate with
all users. Measure reaction.
Onecodeversion
Nospecialtestbuilds
Nolong-runningbranches
Role: Developer
• Developers have more power and responsibility.
• Developers have more responsibility for testing.
• Developers (not QA or PM) decide when to release.
This is a strong finding.
• Incentives are correct. Developer might have to
come back from Friday night beers to fix a problem.
This provides a motivation to make good decisions
and automate testing.
• Features can be released but hidden. Product
Managers and Marketers will unveil when they are
ready. Unblock!
Programmers approve releases, not QA
Role: IT Vendor
Old Agreement
• Fixed Price
• Fixed deliverables
• Large probability of late delivery
New Agreement
• Fixed price
• Fixed Time
• Variable deliverables
– Small guaranteed deliverable
– Weekly meetings to agree on
improvements
Advantages
• No late delivery
• Deliverable is better
than original
specification
• Start sooner and finish
sooner
Role: Product Manager/Owner
• Batch -> Continuous
• Requirements -> User Experience
• Strategy -> Measurement
– Usage measurements are so important, so
underutilized
– Double your productivity
Batch Agile Continuous
Explains the resurgence of vertical integration
(eg Apple, Tesla). Requires CI
Making one good change is not a team sport
Product Owner -> Story Owner
What you realize when you begin to be very
data-driven is a very large percentage of our
ideas are bad.
Microsoft Product CTO Adam Pisoni
Measure everything
• Measurements are power. They are impossible to ignore.
They win arguments.
• Double your development capacity for zero extra cost!
Users ignore 50% of all new features. If you can find and
ignore these features, you double your capacity.
• Measure everything possible about usage. Easy with an
online service.
• Collect measurements from installed products and
optionally transmit them.
• Use your marketing department. They measure.
Make Product, not Quality
Continuous
Release
Inventory
Release
Improve Quality
Improve Product Usage
Matrix of Services
(MAXOS)
Breaking the scale barrier
The Services Megatrend
Desktop Web App Cloud Services
App
DB
Service
Service
Service
Scale it like Google
• 15,000 developers, 5,000 projects, one current version of
the code (2013). They can go from an idea to a release in 48
hours
• Vast Internet system divided into thousands of "services"
• Most programming done by teams of 3-4
• Centralized process with single version of the test system –
run 100 million test cases daily
• Before developers release a change, they test it with the
most recent version of all the other services. If a test script
finds conflicts, it tells developers who to contact to resolve
them
Matrix of Services - MAXOS
Prioritized
Backlog
Current
Work
Each team
releases
when ready
Hundreds
of releases
per day
Service team
Production
service
Service team
Production
service
Service team
Production
service
Feedback on speed, errors, usage, and requests
Test as one system
Integration
test env
Integration
test env
Integration
test env
Coordinate without big meetings
Continuous Integration between
latest dev version of each service
• Continuous integration
helps teams coordinate.
• See dependencies
between “producers”
and “consumers”
• Errors and conflicts show
related team contact info
• Meetings and changes
negotiated between two
teams, not many
Prioritized
Backlog
Current
Work
Service team
Service team
Service team
Integration
test env
Integration
test env
Integration
test env
Machines can replace layers of management
Teams are largely self-managing
Prioritized
Backlog
Current
Work
Service team
Integration
test env
Up to 50% of work
from backlog
At least 50% of work is self-planned
Problems get fixed quickly
Production
service
Production
service
Production
service
Feedback: quality, reliability,
speed, user support
Production
service
Production
Server
Sense, respond, self manage
minimize planning
Hubspot – Great at Mid-scale
• Transformed a monolithic app to 200 services over one
year
• 3-person programming teams. Each of 20 teams is
responsible for about 10 services
• Dev teams responsible for design, programming,
testing, release, monitoring, and responding to
production problems. No full-time QA. Shared PM
and UX. 4 Ops guys for 2000 servers.
• Lot’s of tooling and dashboards to help teams deploy,
manage, and monitor their services
• Feedback from customer support also grouped by team
Team Building
Prioritized
Backlog
Current
Work
Each team
releases
when ready
Service team
Production
service
Service team
Production
service
Add capacity fast by building around
Single-function programmer/tech leads
Integration
test env
Integration
test env
Teams are not permanently multifunctional
Ways to Scale
Scrum + SAFe
• Add more hierarchy
• Complex
multifunction teams
• Hold big meetings and
teleconferences
• Block everyone into
one cadence
• Coordinate big
releases
Top Tech Companies
 Automate management,
as well as testing and
deployment.
 Dev-lead teams
 Communicate peer to
peer
 Unblock teams to move as
fast a possible
 Release more frequently
SAFe versus MAXOS
How to move to CD and Services
• Measure
• Release more frequently
• Assign blame and other organizational and
authority hacks
• Automate
• Organize the fast layer
• Reverse Conway’s Law
• Manage products, not programs
Measure
People respond directly to measurements. They
are very difficult to ignore. They are also MORE
IMPORTANT than internal process discussions.
• Usage and customer value
• Errors
• Fix times
• Release frequency
Release more frequently
1. Release more frequently
2. Improve
Authority Hacks
Training, persuasion, browbeating, and “culture
change” will not work. They don’t change the game.
You first change the game. Then, people figure out
how to play the game and win.
• Need automated tests? Mandatory code review
• Need higher quality and shorter test cycles?
Force programmers to push the “release button”,
not QA
• Stop your boss from launching big waterfall
projects? Give him monthly budgeting, not
annual.
Code Review gets you tests
Automate
If the machine works, people will use it
Core IT
annual budget
Reliability & security
mission
API Layer
Marketing
Fast (Awesome Mode) IT
monthly budget
Mission to respond to opportunities
Service team
Production
service
Service team
Production
service
Production
service
Integration
test env
Integration
test env
Integration
test env
Fast IT
Core IT (stable service)
Reverse Conway’s Law
Boss
Dept A Dept B
Part
A
Part
B
Service A1
Service A2
Service B1
Service B2
Team A1
Team A2 Team B2
Team B1
Manage Products, not Programs
• Strong product managers deliver value to
users as directly as possible
• The Matrix of Service teams respond to
product managers. The front end teams
provide the product. They act as “consumers”
to pull what they need from back-end teams
• Service teams support multiple products,
dissolving the program hierarchy
Product Matrix
Boss
Dept A Dept B
Part
A
Part
B
Service A1
Service A2
Service B1
Service B2
Team A1
Team A2 Team B2
Team B1
People first, or Technology first?
• Your comments

More Related Content

What's hot

From good to great product ownership
From good to great product ownershipFrom good to great product ownership
From good to great product ownership
Dave Sharrock
 
Balancing Agile Adoptions
Balancing Agile AdoptionsBalancing Agile Adoptions
Balancing Agile Adoptions
Robbie Mac Iver
 
Anglea Johnson - Transforming or confusing the world of work
Anglea Johnson - Transforming or confusing the world of workAnglea Johnson - Transforming or confusing the world of work
Anglea Johnson - Transforming or confusing the world of work
Paul Ellarby
 

What's hot (20)

Build Measure Learn: Designing your MVP
Build Measure Learn: Designing your MVPBuild Measure Learn: Designing your MVP
Build Measure Learn: Designing your MVP
 
The Past and Future of Agility: Lean and Agile Trends and Prognostication
The Past and Future of Agility: Lean and Agile Trends and PrognosticationThe Past and Future of Agility: Lean and Agile Trends and Prognostication
The Past and Future of Agility: Lean and Agile Trends and Prognostication
 
From good to great product ownership
From good to great product ownershipFrom good to great product ownership
From good to great product ownership
 
Agile - Distributed at Scale
Agile - Distributed at ScaleAgile - Distributed at Scale
Agile - Distributed at Scale
 
When to use agile (PMI ACP)
When to use agile (PMI ACP)When to use agile (PMI ACP)
When to use agile (PMI ACP)
 
Open Innovation - global trends and examples
Open Innovation - global trends and examplesOpen Innovation - global trends and examples
Open Innovation - global trends and examples
 
People10 transforming it_throughagility
People10 transforming it_throughagilityPeople10 transforming it_throughagility
People10 transforming it_throughagility
 
Agile Governance Workshop @Agile India 2012
Agile Governance Workshop @Agile India 2012Agile Governance Workshop @Agile India 2012
Agile Governance Workshop @Agile India 2012
 
Agile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetAgile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot Net
 
Agile Explained by LeanDog
Agile Explained by LeanDogAgile Explained by LeanDog
Agile Explained by LeanDog
 
DevOps-driving-blind
DevOps-driving-blindDevOps-driving-blind
DevOps-driving-blind
 
The Agile BA
The Agile BAThe Agile BA
The Agile BA
 
Push or pull agile leadership model - 2019-11-06 w hilpert-rmederer
Push or pull   agile leadership model - 2019-11-06 w hilpert-rmedererPush or pull   agile leadership model - 2019-11-06 w hilpert-rmederer
Push or pull agile leadership model - 2019-11-06 w hilpert-rmederer
 
William "RED" Davidson Presentation
William "RED" Davidson Presentation William "RED" Davidson Presentation
William "RED" Davidson Presentation
 
Wolfgang hilpert scaling agile war stories - scrum germany 2017-11-17
Wolfgang hilpert   scaling agile war stories - scrum germany 2017-11-17Wolfgang hilpert   scaling agile war stories - scrum germany 2017-11-17
Wolfgang hilpert scaling agile war stories - scrum germany 2017-11-17
 
New Agile Ways of Working Remotely
New Agile Ways of Working RemotelyNew Agile Ways of Working Remotely
New Agile Ways of Working Remotely
 
The hothouse approach
The hothouse approachThe hothouse approach
The hothouse approach
 
The Story of User Stories
The Story of User StoriesThe Story of User Stories
The Story of User Stories
 
Balancing Agile Adoptions
Balancing Agile AdoptionsBalancing Agile Adoptions
Balancing Agile Adoptions
 
Anglea Johnson - Transforming or confusing the world of work
Anglea Johnson - Transforming or confusing the world of workAnglea Johnson - Transforming or confusing the world of work
Anglea Johnson - Transforming or confusing the world of work
 

Similar to Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day 2016

Similar to Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day 2016 (20)

Andy singleton continuous delivery-fcb - nov 2014
Andy singleton   continuous delivery-fcb - nov 2014Andy singleton   continuous delivery-fcb - nov 2014
Andy singleton continuous delivery-fcb - nov 2014
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and Responsibility
 
Modernizing Your Testing Tools
Modernizing Your Testing ToolsModernizing Your Testing Tools
Modernizing Your Testing Tools
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
Isec
IsecIsec
Isec
 

More from agilemaine

More from agilemaine (20)

Technical debt is a business problem - Bob Fischer
Technical debt is a business problem - Bob FischerTechnical debt is a business problem - Bob Fischer
Technical debt is a business problem - Bob Fischer
 
The Evolution of the Enterprise Operating Model - Ryan Lockard
The Evolution of the Enterprise Operating Model - Ryan LockardThe Evolution of the Enterprise Operating Model - Ryan Lockard
The Evolution of the Enterprise Operating Model - Ryan Lockard
 
The guide to inviting leadership - Inviting Leadership by Daniel Mezick
The guide to inviting leadership - Inviting Leadership by Daniel MezickThe guide to inviting leadership - Inviting Leadership by Daniel Mezick
The guide to inviting leadership - Inviting Leadership by Daniel Mezick
 
Ready For Agile Checklist - Inviting Leadership by Daniel Mezick
Ready For Agile Checklist - Inviting Leadership by Daniel MezickReady For Agile Checklist - Inviting Leadership by Daniel Mezick
Ready For Agile Checklist - Inviting Leadership by Daniel Mezick
 
Authority Circle - Inviting Leadership by Daniel Mezick
Authority Circle - Inviting Leadership by Daniel MezickAuthority Circle - Inviting Leadership by Daniel Mezick
Authority Circle - Inviting Leadership by Daniel Mezick
 
How I accidentally joined an agile company - Jens Wedin
How I accidentally joined an agile company - Jens WedinHow I accidentally joined an agile company - Jens Wedin
How I accidentally joined an agile company - Jens Wedin
 
Stephen Vance - Testing, DevOps and High-Performing Teams - Agile Maine
Stephen Vance - Testing, DevOps and High-Performing Teams - Agile MaineStephen Vance - Testing, DevOps and High-Performing Teams - Agile Maine
Stephen Vance - Testing, DevOps and High-Performing Teams - Agile Maine
 
DYNAMIC RETEAMING: ACKNOWLEDGE REALITY, CHART YOUR PATH - HEIDI HELFAND
DYNAMIC RETEAMING: ACKNOWLEDGE REALITY, CHART YOUR PATH - HEIDI HELFANDDYNAMIC RETEAMING: ACKNOWLEDGE REALITY, CHART YOUR PATH - HEIDI HELFAND
DYNAMIC RETEAMING: ACKNOWLEDGE REALITY, CHART YOUR PATH - HEIDI HELFAND
 
Jim York - Agile Fluency Model
Jim York - Agile Fluency ModelJim York - Agile Fluency Model
Jim York - Agile Fluency Model
 
Keynote - Niels Pflaeging - Agile Maine Day
Keynote - Niels Pflaeging - Agile Maine DayKeynote - Niels Pflaeging - Agile Maine Day
Keynote - Niels Pflaeging - Agile Maine Day
 
Cutting Code Quickly - LLEWELLYN FALCO
Cutting Code Quickly - LLEWELLYN FALCOCutting Code Quickly - LLEWELLYN FALCO
Cutting Code Quickly - LLEWELLYN FALCO
 
Heidi Araya - Overcoming Distributed Team Challenges - Agile Maine Day
Heidi Araya - Overcoming Distributed Team Challenges - Agile Maine DayHeidi Araya - Overcoming Distributed Team Challenges - Agile Maine Day
Heidi Araya - Overcoming Distributed Team Challenges - Agile Maine Day
 
Agile Anti-patterns - Sean Gilligan and Angie Mathieu - Agile Maine Day
Agile Anti-patterns - Sean Gilligan and Angie Mathieu - Agile Maine DayAgile Anti-patterns - Sean Gilligan and Angie Mathieu - Agile Maine Day
Agile Anti-patterns - Sean Gilligan and Angie Mathieu - Agile Maine Day
 
Successful Agile Transformation - Jim Grundner - Agile Maine
Successful Agile Transformation - Jim Grundner - Agile Maine Successful Agile Transformation - Jim Grundner - Agile Maine
Successful Agile Transformation - Jim Grundner - Agile Maine
 
Agile Expectations
Agile ExpectationsAgile Expectations
Agile Expectations
 
Alan Seale - Tools to Navigate Uncertainty & Complexity -
Alan Seale - Tools to Navigate Uncertainty & Complexity - Alan Seale - Tools to Navigate Uncertainty & Complexity -
Alan Seale - Tools to Navigate Uncertainty & Complexity -
 
Heart of DevOps - Ryan Lockard
Heart of DevOps - Ryan LockardHeart of DevOps - Ryan Lockard
Heart of DevOps - Ryan Lockard
 
Richard Kasperowski - High Performance Teams
Richard Kasperowski - High Performance TeamsRichard Kasperowski - High Performance Teams
Richard Kasperowski - High Performance Teams
 
Max Saperstone - Test Automation Strategies and Frameworks
Max Saperstone - Test Automation Strategies and FrameworksMax Saperstone - Test Automation Strategies and Frameworks
Max Saperstone - Test Automation Strategies and Frameworks
 
Allison Pollard and Michael Jesse - Everyday Beliefs Come True
Allison Pollard and Michael Jesse - Everyday Beliefs Come TrueAllison Pollard and Michael Jesse - Everyday Beliefs Come True
Allison Pollard and Michael Jesse - Everyday Beliefs Come True
 

Recently uploaded

FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Dipal Arora
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 

Recently uploaded (20)

Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 

Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day 2016

  • 1. Continuous Delivery and Continuous Agile From Andy Singleton, http://continuousagile.com www.assembla.com
  • 2. The secret weapon that Silicon Valley is using to disrupt and destroy competitors • Retailer X deploys changes to their monolithic online ordering app once every six weeks. Ops holds for three weeks to make sure the complete system is stable. • Amazon has thousands of services and more than 1000 service teams. They release something about once every 11.6 seconds. In the time that Retailer X takes to try one new release, Amazon has made 100,000 changes. • Amazon hosting competitor: “It’s an emergency”. • 6 Apex Predators in the top 10 public companies worth $2.4 trillion: Google, Amazon, Facebook, Microsoft, GE, Apple
  • 3. Survey on Continuous Delivery 46% think their competitors have adopted Continuous Delivery
  • 4. Problems solved by Continuous • Stressful releases • Speed to market • Competitiveness • Quality • Scaling – building large systems
  • 5. Not Scrum • Continuous improvement versus Cadence Unblock your teams • Web services versus monoliths Smaller, faster testing, faster releases • Technical practices, not team practices HUGE productivity gains from automation • Tech leads versus self-managing teams One leader, ready to build services • MAXOS versus SAFe Scale different
  • 7. Kaizen 1. Release more frequently 2. Improve
  • 8. Continuous Agile Agenda 1) DevOps - Continuous delivery of software – Build/Test/Deploy 2) Continuous, metric-driven product management 3) MAXOS enterprise management 4) Making the Move
  • 10. Scrum Sprint Validate and Sort Deliverables Select a Sprint Plan Completed = observed velocity Expand stories and estimate tasks Collect Ideas Close Sprint Into next sprint Work on tasks
  • 11. Scrumban Iteration Validate and Sort Deliverables Pull Deliverables When Ready Collect Ideas Stabilize Release Into next release Feature Freeze Triage
  • 12. Idealized ScrumBan Release Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
  • 13. Kanban / Continuous Validate and Sort Deliverables Pull Deliverables When Ready Collect Ideas Continuous Release Stay within WIP limit Release Features Continuously
  • 14. Program Launch Releases Plan Program Test Doc Deploy Skip Automate & Blend Lag Automate Pull CI & CD End up with Waterfall to Continuous Measure
  • 15. Code Contribution Patterns Manage code if possible. People are hard to manage and can’t be automated. They want to contribute. • Centralized continuous delivery – No branches, finds and fixes problems as early as possible • Distributed continuous delivery – Release every change with its own branch and test • Temporary branches – Combines benefits of centralized and distributed • MAXOS – Use centralized continuous integration to manage a massively scalable IT system
  • 16. Centralized CI/CD Contributor Commits – “as early as possible” to find problems Continuous Integration tests Fail - alarm Release Candidate Test System Release QA Testing Pass
  • 17. Continuous delivery at Edmunds.com with PERFORCE
  • 18. The big question: How to test? • We release software in batches so that we can test it. • In continuous delivery, we might get as little at 10 minutes to test a release candidate
  • 19. Test Layering Monitor your released software: Errors, Usage volume, usage patterns, user feedback QA System with Human test consultants Code review: Both a manual test, and a place to ask for test scripts. Continuous integration: Run automated tests before using human review time Unit tests in the development environment Switch new features and architecture More frequent releases can increase quality
  • 20. 9 (sparse) Layers at Edmunds
  • 21.
  • 22. Feature Switch and Unveil Hidden Programmer sees a change locally. Change is tested in the main version but not seen. Test Story Owner and testers see the change on test systems. Beta Insiders see it and use it. Story Owner can show it to selected users for feedback or A/B testing. UNVEIL! The big event. Communicate with all users. Measure reaction. Onecodeversion Nospecialtestbuilds Nolong-runningbranches
  • 23. Role: Developer • Developers have more power and responsibility. • Developers have more responsibility for testing. • Developers (not QA or PM) decide when to release. This is a strong finding. • Incentives are correct. Developer might have to come back from Friday night beers to fix a problem. This provides a motivation to make good decisions and automate testing. • Features can be released but hidden. Product Managers and Marketers will unveil when they are ready. Unblock! Programmers approve releases, not QA
  • 24. Role: IT Vendor Old Agreement • Fixed Price • Fixed deliverables • Large probability of late delivery New Agreement • Fixed price • Fixed Time • Variable deliverables – Small guaranteed deliverable – Weekly meetings to agree on improvements Advantages • No late delivery • Deliverable is better than original specification • Start sooner and finish sooner
  • 25. Role: Product Manager/Owner • Batch -> Continuous • Requirements -> User Experience • Strategy -> Measurement – Usage measurements are so important, so underutilized – Double your productivity
  • 26. Batch Agile Continuous Explains the resurgence of vertical integration (eg Apple, Tesla). Requires CI
  • 27. Making one good change is not a team sport Product Owner -> Story Owner
  • 28. What you realize when you begin to be very data-driven is a very large percentage of our ideas are bad. Microsoft Product CTO Adam Pisoni
  • 29. Measure everything • Measurements are power. They are impossible to ignore. They win arguments. • Double your development capacity for zero extra cost! Users ignore 50% of all new features. If you can find and ignore these features, you double your capacity. • Measure everything possible about usage. Easy with an online service. • Collect measurements from installed products and optionally transmit them. • Use your marketing department. They measure.
  • 30. Make Product, not Quality Continuous Release Inventory Release Improve Quality Improve Product Usage
  • 32. The Services Megatrend Desktop Web App Cloud Services App DB Service Service Service
  • 33. Scale it like Google • 15,000 developers, 5,000 projects, one current version of the code (2013). They can go from an idea to a release in 48 hours • Vast Internet system divided into thousands of "services" • Most programming done by teams of 3-4 • Centralized process with single version of the test system – run 100 million test cases daily • Before developers release a change, they test it with the most recent version of all the other services. If a test script finds conflicts, it tells developers who to contact to resolve them
  • 34. Matrix of Services - MAXOS Prioritized Backlog Current Work Each team releases when ready Hundreds of releases per day Service team Production service Service team Production service Service team Production service Feedback on speed, errors, usage, and requests Test as one system Integration test env Integration test env Integration test env
  • 35. Coordinate without big meetings Continuous Integration between latest dev version of each service • Continuous integration helps teams coordinate. • See dependencies between “producers” and “consumers” • Errors and conflicts show related team contact info • Meetings and changes negotiated between two teams, not many Prioritized Backlog Current Work Service team Service team Service team Integration test env Integration test env Integration test env Machines can replace layers of management
  • 36. Teams are largely self-managing Prioritized Backlog Current Work Service team Integration test env Up to 50% of work from backlog At least 50% of work is self-planned Problems get fixed quickly Production service Production service Production service Feedback: quality, reliability, speed, user support Production service Production Server Sense, respond, self manage minimize planning
  • 37. Hubspot – Great at Mid-scale • Transformed a monolithic app to 200 services over one year • 3-person programming teams. Each of 20 teams is responsible for about 10 services • Dev teams responsible for design, programming, testing, release, monitoring, and responding to production problems. No full-time QA. Shared PM and UX. 4 Ops guys for 2000 servers. • Lot’s of tooling and dashboards to help teams deploy, manage, and monitor their services • Feedback from customer support also grouped by team
  • 38. Team Building Prioritized Backlog Current Work Each team releases when ready Service team Production service Service team Production service Add capacity fast by building around Single-function programmer/tech leads Integration test env Integration test env Teams are not permanently multifunctional
  • 39. Ways to Scale Scrum + SAFe • Add more hierarchy • Complex multifunction teams • Hold big meetings and teleconferences • Block everyone into one cadence • Coordinate big releases Top Tech Companies  Automate management, as well as testing and deployment.  Dev-lead teams  Communicate peer to peer  Unblock teams to move as fast a possible  Release more frequently
  • 41. How to move to CD and Services • Measure • Release more frequently • Assign blame and other organizational and authority hacks • Automate • Organize the fast layer • Reverse Conway’s Law • Manage products, not programs
  • 42. Measure People respond directly to measurements. They are very difficult to ignore. They are also MORE IMPORTANT than internal process discussions. • Usage and customer value • Errors • Fix times • Release frequency
  • 43. Release more frequently 1. Release more frequently 2. Improve
  • 44. Authority Hacks Training, persuasion, browbeating, and “culture change” will not work. They don’t change the game. You first change the game. Then, people figure out how to play the game and win. • Need automated tests? Mandatory code review • Need higher quality and shorter test cycles? Force programmers to push the “release button”, not QA • Stop your boss from launching big waterfall projects? Give him monthly budgeting, not annual.
  • 45. Code Review gets you tests Automate If the machine works, people will use it
  • 46. Core IT annual budget Reliability & security mission API Layer Marketing Fast (Awesome Mode) IT monthly budget Mission to respond to opportunities
  • 47. Service team Production service Service team Production service Production service Integration test env Integration test env Integration test env Fast IT Core IT (stable service)
  • 48. Reverse Conway’s Law Boss Dept A Dept B Part A Part B Service A1 Service A2 Service B1 Service B2 Team A1 Team A2 Team B2 Team B1
  • 49. Manage Products, not Programs • Strong product managers deliver value to users as directly as possible • The Matrix of Service teams respond to product managers. The front end teams provide the product. They act as “consumers” to pull what they need from back-end teams • Service teams support multiple products, dissolving the program hierarchy
  • 50. Product Matrix Boss Dept A Dept B Part A Part B Service A1 Service A2 Service B1 Service B2 Team A1 Team A2 Team B2 Team B1
  • 51. People first, or Technology first? • Your comments