Agile
DevOps Deconstructed by Jeremy Pullen
DevOps
Jeremy Pullen
Principal Consultant
2
jeremy@polodis.com
@jeremypullen
https://polodis.com
Safe & Delightful Software | Effective Operations
Product Strategy | Program Execution | DevSecOps | Kanban
Non-Profit Highlight
Refuge Coffee
Clarkston, GA
Refugecoffee.com
Polodis is proud to
support local
non-profits like
Refuge Coffee!
http://training.tritechent
erprise.com/kmp/atlant
a.html
Key Messages
● Why does the world need DevOps?
● How is DevOps unique?
● What are key DevOps objectives?
● What are key principles?
● What are common implementation patterns?
● Where do I learn more?
Why does the world need DevOps?
The Lean/Agile Vision
User Needs
Needs Fulfilled With User-facing
& Technical Quality
One Team
Including Users
Fast Quality Feedback
The Typical Reality
Internal Bias
Needs
Somewhat
Fulfilled
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Minimal Feedback
Regulatory
Lamp Post Effect - You Focus On What You See
Features
Development Budget & Timelines
User Interface
Missed:
Operations Costs & Delays
Security & Regulatory
Usability & Missing Personas
Scalability
Big Assumptions
The Telephone Game Produces Communication
Error & Bias
Hypothesis
The further
disconnected your
organization is from
reality, the worse
your product /
market fit will be.
Strategy
Push the entire
organization closer to
the real world in order
to fix this.
Be sure to use ‘safety
straps. ‘
Time To Fix Security Issues (Days)
2017 Application Security Report - White Hat Security
How is DevOps unique?
Lean UX Primarily Tackles the Left Side
User Needs
Needs Fulfilled With
User-facing Quality
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Quality Feedback
Regulatory
DevOps Primarily Tackles The Right Side
User Need
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
Security
Marketing
Documentation
Users & Buyers
Fast Feedback
Regulatory
Need Fulfilled Quickly
With Technical Quality
DevSecOps Adds Security and Regulatory
User Need
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Fast Feedback
Regulatory
Need Fulfilled Quickly With
More Technical Quality
The safety straps are often
confused with DevOps itself!
● Kanban
● Software Configuration Management
● Continuous Integration
● Continuous Deployment
● Build Process
● Branching Strategy
● Test Automation
● ‘DevOps’ Team (definitely not DevOps)
These are all necessary tools, but they are
only enablers.
DevOps Has Very Clear and
Practical Goals
● Reduce Lead Time to Production (Lead Time)
● Reduce Mean Time to Recovery (MTTR)
● Reduce Change Failure Rate (CFR)
● Increase Change Frequency
Key Principles
Conway’s Law
Human communication patterns
define product architecture.
Architecture defines
human
communication
patterns.
Tackle Complexity Through Simplicity
Typical DevOps Organizational Pattern:
Wrap Stable Capability-based Teams With APIs
Team A
Team B
Team C Team D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
Typical DevOps Organizational Pattern:
Write Automated Tests Against These APIs
Team A
Team B
Team C Team D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
T
e
s
t
T
e
s
t
Typical DevOps Organizational Pattern:
Team-based Collective Code Ownership
Code A
Code B
Code C Code D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
Typical DevOps Organizational Pattern:
Cross-Team Indirect Collective Code Ownership
Code A
Code B
Code C Code D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
“Pull Request”
Typical DevOps Organizational Pattern:
Put Operational Responsibility On The Team
Team A
Ops
Team B
Ops
Team C
Ops
Team D
Ops
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
Typical DevOps Organizational Pattern:
Prefer Audit over Approval for Compliance and
Quality
Team A
Ops
Team B
Ops
Team C
Ops
Team D
Ops
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
A
u
d
it
This is much harder (but not impossible) with large
monolithic architectures!
Easier
Hard
Nagakin Capsule Tower, Japan
Burj Khalifa, UAE
Easiest
Barra da Tijuca, Brazil
Decision Point
I chose to go deep into organization design rather than tools.
Simulation: Program Design
Let’s build a large software solution using a DevOps
organizational structure.
Simulation: Product Overview
Health-co is a startup providing a new software solution to hospitals. Their
solution has the following key capabilities:
● Administration -- check-in, check-out, patient non-medical records
● Payments -- insurance filing, credit card payments, billing, and
accounting
● Health information -- medical records, medical exchange
● Imaging -- medical image capture, viewing, and archive
● Specialist -- cardiology, radiology, etc.
● Medical hardware -- x-ray, ultrasound, heart monitor, etc.
This is a completely new solution, so let’s see how things evolve.
Simulation: Product Architecture
Database03
● Application data storage
● Configuration
● Backup and restore
Business Logic / API02
● Often called ‘Middleware’
● Encapsulates most of the
business rules
User Interface01
● User experience
● Highly specialized
Design Your Program Using Traditional Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface
Business Logic /
API
Database
Supporting /
Coordinating
Teams
Design Your Program Using Traditional Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface UI Team Firmware Team
Business Logic /
API
Middleware Team
Database DB Team
Supporting /
Coordinating
Teams
Core Program Team
System Test Team
Security Team
IT Team
Architecture Team
Design Your Program Using DevOps Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface
Business Logic /
API
Database
Supporting /
Coordinating
Teams
Design Your Program Using DevOps Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface Administra
tion Team
Incl. Audit
Features
Payments
Team
Incl. Audit
Features
Image Archive
Team
Ultrasound Team
Including External
InterfacesBusiness Logic /
API
Database
Supporting /
Coordinating
Teams
Core Team
Security Audit
IT Infrastructure
Cross-Team Coordination: GDPR
General Data Protection Regulation (GDPR) is a new European Union
regulation governing protected classes of data including personal information.
How would we implement GDPR in this environment?
Cross-Team Coordination: GDPR Step 1
Admini-
Stration Team
Payments Team
User Interface
Business Logic / API Fake API Fake APIs
Database Database Changes Database Changes
Cross-Team Coordination: GDPR Step 2
Admini-
Stration Team
Payments Team
User Interface UI completed but
toggled off
UI in progress and
toggled off
Business Logic / API Working API with Tests Fake APIs
Database No change No change
Cross-Team Coordination: GDPR Step 3
Admini-
Stration Team
Payments Team
User Interface UI completed but
toggled off except for
testing
UI completed but
toggled off except for
testing
Business Logic / API Working API with Tests Working API with Tests
Database No change No change
Cross-Team Coordination: GDPR Step 4
Admini-
Stration Team
Payments Team
User Interface Whole feature toggled
on for subset of users
during Alpha and Beta
Whole feature toggled
on for subset of users
during Alpha and Beta
Business Logic / API No change No change
Database No change No change
Cross-Team Coordination: GDPR Step 5
Admin Team Finds Payments Bug
Admini-
Stration Team
Payments Team
Business Logic / API Creates a bug fix in
Payments code base
and submits to
Payments Team for
review
Accepts change and
deploys it to production
Cross-Team Coordination: GDPR Step 6
Admini-
Stration Team
Payments Team
User Interface
GDPR Toggled On By DefaultBusiness Logic / API
Database
DevOps Is About People & Architecture With
Supporting Tools & Processes
Move responsibilities onto stable capability-based teams
Give teams ownership of deployment, packaging, and automation
Audit over approval
Decoupled modular architecture
Coordination of dependencies via APIs and Feature Toggles
Tools come second!
Where’s All The Other Stuff?
Continuous Integration?
Continuous Deployment?
Build Tools?
Automated Testing?
Automated Security?
These support DevOps, but they are only enablers.
Don’t confuse the hammer with the house.
Jeremy Pullen
Principal Consultant
48
jeremy@polodis.com
@jeremypullen
https://polodis.com
Safe & Delightful Software | Effective Operations
Product Strategy | Program Execution | DevSecOps | Kanban

DevOps Deconstructed

  • 1.
    Agile DevOps Deconstructed byJeremy Pullen DevOps
  • 2.
    Jeremy Pullen Principal Consultant 2 jeremy@polodis.com @jeremypullen https://polodis.com Safe& Delightful Software | Effective Operations Product Strategy | Program Execution | DevSecOps | Kanban
  • 3.
    Non-Profit Highlight Refuge Coffee Clarkston,GA Refugecoffee.com Polodis is proud to support local non-profits like Refuge Coffee!
  • 4.
  • 5.
    Key Messages ● Whydoes the world need DevOps? ● How is DevOps unique? ● What are key DevOps objectives? ● What are key principles? ● What are common implementation patterns? ● Where do I learn more?
  • 6.
    Why does theworld need DevOps?
  • 7.
    The Lean/Agile Vision UserNeeds Needs Fulfilled With User-facing & Technical Quality One Team Including Users Fast Quality Feedback
  • 8.
    The Typical Reality InternalBias Needs Somewhat Fulfilled Sales Product Mgt Developer & Testers User Experience Project Management Support Operations Installations IT SecurityMarketing Documentation Users & Buyers Minimal Feedback Regulatory
  • 9.
    Lamp Post Effect- You Focus On What You See Features Development Budget & Timelines User Interface Missed: Operations Costs & Delays Security & Regulatory Usability & Missing Personas Scalability Big Assumptions
  • 10.
    The Telephone GameProduces Communication Error & Bias
  • 11.
    Hypothesis The further disconnected your organizationis from reality, the worse your product / market fit will be.
  • 12.
    Strategy Push the entire organizationcloser to the real world in order to fix this. Be sure to use ‘safety straps. ‘
  • 14.
    Time To FixSecurity Issues (Days) 2017 Application Security Report - White Hat Security
  • 15.
  • 16.
    Lean UX PrimarilyTackles the Left Side User Needs Needs Fulfilled With User-facing Quality Sales Product Mgt Developer & Testers User Experience Project Management Support Operations Installations IT SecurityMarketing Documentation Users & Buyers Quality Feedback Regulatory
  • 17.
    DevOps Primarily TacklesThe Right Side User Need Sales Product Mgt Developer & Testers User Experience Project Management Support Operations Installations IT Security Marketing Documentation Users & Buyers Fast Feedback Regulatory Need Fulfilled Quickly With Technical Quality
  • 18.
    DevSecOps Adds Securityand Regulatory User Need Sales Product Mgt Developer & Testers User Experience Project Management Support Operations Installations IT SecurityMarketing Documentation Users & Buyers Fast Feedback Regulatory Need Fulfilled Quickly With More Technical Quality
  • 19.
    The safety strapsare often confused with DevOps itself! ● Kanban ● Software Configuration Management ● Continuous Integration ● Continuous Deployment ● Build Process ● Branching Strategy ● Test Automation ● ‘DevOps’ Team (definitely not DevOps) These are all necessary tools, but they are only enablers.
  • 20.
    DevOps Has VeryClear and Practical Goals ● Reduce Lead Time to Production (Lead Time) ● Reduce Mean Time to Recovery (MTTR) ● Reduce Change Failure Rate (CFR) ● Increase Change Frequency
  • 21.
  • 22.
    Conway’s Law Human communicationpatterns define product architecture. Architecture defines human communication patterns.
  • 23.
  • 24.
    Typical DevOps OrganizationalPattern: Wrap Stable Capability-based Teams With APIs Team A Team B Team C Team D A P I A P IA P I API API API API A P I A P I
  • 25.
    Typical DevOps OrganizationalPattern: Write Automated Tests Against These APIs Team A Team B Team C Team D A P I A P IA P I API API API API A P I A P I T e s t T e s t
  • 26.
    Typical DevOps OrganizationalPattern: Team-based Collective Code Ownership Code A Code B Code C Code D A P I A P IA P I API API API API A P I A P I
  • 27.
    Typical DevOps OrganizationalPattern: Cross-Team Indirect Collective Code Ownership Code A Code B Code C Code D A P I A P IA P I API API API API A P I A P I “Pull Request”
  • 28.
    Typical DevOps OrganizationalPattern: Put Operational Responsibility On The Team Team A Ops Team B Ops Team C Ops Team D Ops A P I A P IA P I API API API API A P I A P I
  • 29.
    Typical DevOps OrganizationalPattern: Prefer Audit over Approval for Compliance and Quality Team A Ops Team B Ops Team C Ops Team D Ops A P I A P IA P I API API API API A P I A P I A u d it
  • 30.
    This is muchharder (but not impossible) with large monolithic architectures! Easier Hard Nagakin Capsule Tower, Japan Burj Khalifa, UAE Easiest Barra da Tijuca, Brazil
  • 31.
    Decision Point I choseto go deep into organization design rather than tools.
  • 32.
    Simulation: Program Design Let’sbuild a large software solution using a DevOps organizational structure.
  • 33.
    Simulation: Product Overview Health-cois a startup providing a new software solution to hospitals. Their solution has the following key capabilities: ● Administration -- check-in, check-out, patient non-medical records ● Payments -- insurance filing, credit card payments, billing, and accounting ● Health information -- medical records, medical exchange ● Imaging -- medical image capture, viewing, and archive ● Specialist -- cardiology, radiology, etc. ● Medical hardware -- x-ray, ultrasound, heart monitor, etc. This is a completely new solution, so let’s see how things evolve.
  • 34.
    Simulation: Product Architecture Database03 ●Application data storage ● Configuration ● Backup and restore Business Logic / API02 ● Often called ‘Middleware’ ● Encapsulates most of the business rules User Interface01 ● User experience ● Highly specialized
  • 35.
    Design Your ProgramUsing Traditional Principles Admini- stration Payments Audit Image Capture and Archive Ultrasound Device Firmware / Software User Interface Business Logic / API Database Supporting / Coordinating Teams
  • 36.
    Design Your ProgramUsing Traditional Principles Admini- stration Payments Audit Image Capture and Archive Ultrasound Device Firmware / Software User Interface UI Team Firmware Team Business Logic / API Middleware Team Database DB Team Supporting / Coordinating Teams Core Program Team System Test Team Security Team IT Team Architecture Team
  • 37.
    Design Your ProgramUsing DevOps Principles Admini- stration Payments Audit Image Capture and Archive Ultrasound Device Firmware / Software User Interface Business Logic / API Database Supporting / Coordinating Teams
  • 38.
    Design Your ProgramUsing DevOps Principles Admini- stration Payments Audit Image Capture and Archive Ultrasound Device Firmware / Software User Interface Administra tion Team Incl. Audit Features Payments Team Incl. Audit Features Image Archive Team Ultrasound Team Including External InterfacesBusiness Logic / API Database Supporting / Coordinating Teams Core Team Security Audit IT Infrastructure
  • 39.
    Cross-Team Coordination: GDPR GeneralData Protection Regulation (GDPR) is a new European Union regulation governing protected classes of data including personal information. How would we implement GDPR in this environment?
  • 40.
    Cross-Team Coordination: GDPRStep 1 Admini- Stration Team Payments Team User Interface Business Logic / API Fake API Fake APIs Database Database Changes Database Changes
  • 41.
    Cross-Team Coordination: GDPRStep 2 Admini- Stration Team Payments Team User Interface UI completed but toggled off UI in progress and toggled off Business Logic / API Working API with Tests Fake APIs Database No change No change
  • 42.
    Cross-Team Coordination: GDPRStep 3 Admini- Stration Team Payments Team User Interface UI completed but toggled off except for testing UI completed but toggled off except for testing Business Logic / API Working API with Tests Working API with Tests Database No change No change
  • 43.
    Cross-Team Coordination: GDPRStep 4 Admini- Stration Team Payments Team User Interface Whole feature toggled on for subset of users during Alpha and Beta Whole feature toggled on for subset of users during Alpha and Beta Business Logic / API No change No change Database No change No change
  • 44.
    Cross-Team Coordination: GDPRStep 5 Admin Team Finds Payments Bug Admini- Stration Team Payments Team Business Logic / API Creates a bug fix in Payments code base and submits to Payments Team for review Accepts change and deploys it to production
  • 45.
    Cross-Team Coordination: GDPRStep 6 Admini- Stration Team Payments Team User Interface GDPR Toggled On By DefaultBusiness Logic / API Database
  • 46.
    DevOps Is AboutPeople & Architecture With Supporting Tools & Processes Move responsibilities onto stable capability-based teams Give teams ownership of deployment, packaging, and automation Audit over approval Decoupled modular architecture Coordination of dependencies via APIs and Feature Toggles Tools come second!
  • 47.
    Where’s All TheOther Stuff? Continuous Integration? Continuous Deployment? Build Tools? Automated Testing? Automated Security? These support DevOps, but they are only enablers. Don’t confuse the hammer with the house.
  • 48.
    Jeremy Pullen Principal Consultant 48 jeremy@polodis.com @jeremypullen https://polodis.com Safe& Delightful Software | Effective Operations Product Strategy | Program Execution | DevSecOps | Kanban