xp2015 - devops and continuous value delivery with chocolate and lego

63
DevOps and Continuous Value Delivery with Chocolate and LEGO Dana Pylayeva The 16th International Conference on Agile Software Development

Upload: dana-pylayeva

Post on 03-Aug-2015

424 views

Category:

Technology


1 download

TRANSCRIPT

DevOps and Continuous Value Delivery

with Chocolate and LEGO 

Dana Pylayeva

The 16th International Conference on Agile Software Development

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

A Little Bit About Me…

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

@[email protected]

Agile CoachScrum MasterDBA ManagerSystems ArchitectJava DeveloperConference Co-ChairSpeaker, Reviewer

…and a Bit More

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

13:30 Part 1 Why DevOps and what is it? Cyclical value delivery (with Scrum) . Chocolate, LEGO, Scrum simulation game.

Sprint 1: What is the problem with cyclical value delivery?

Sprint 2: Move security to the right! 15:00 Break 15:30 Part 2:

Chocolate, LEGO, Scrum simulation game: Sprint 3: DevOps transformation Sprint 4: From Scrum to Continuous Delivery.

Fishbowl retrospective

About This Workshop

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

It Will Get Noisy – Remember the Sign!

http://commons.wikimedia.org/wiki/File:Katy_Perry_with_arm_raised,_by_medigirol.jpg

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

DevOps – Popularity On The Rise

USAFinland

Google Trends, Search Term “DevOps”

https://www.google.com/trends/explore#q=DevOps&geo=FI%2C%20US&cmpt=geo&tz=

Velocity Conference“10 + Deploys per Day”

DevOps Finland MeetupFounded January 2013

Worldwide

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Expect innovation and speed.

Judge digital service quality on their overall experience.

Expect service providers to deliver value continuously.

What’s Driving This Interest?

Customers in 2015…

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

What Is DevOps?How Do You Start?

© P

hoto

by R

om

an B

ars

hay

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

DevOps Definitions

“A movement of people who care about developing and operating reliable, secure, high performance systems at scale.”

-Jez Humble

“A mix of patterns intended to improve collaboration between development and operations. DevOps addresses shared goals and incentives as well as shared processes and tools.” - Michael Hüttermann

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Culture - embrace change and innovation

Automation - CI/CD, “infrastructure as code”

Lean - delivering value, minimizing waste, small batch sizes

Measurement - measure everything, show improvements

Sharing - information sharing and collaboration between dev and operation

CALMS Model

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

From Wall of Confusion to Collaboration Through

Empathy

MUST READ

DEV

OPS

MUST READ

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Different Sources, Same Idea

Amplify

learning

Accelerate

feedback loop

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Feedback in Scrum…

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Delayed Feedback.

What is the cost of this delay?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Zoom Out. What Do You See?

DEV

OPS

OPS

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Conflict of Interests

Development

Team:

Focus on delivery

Operations

Team:

Focus on Stability

Customers:

Ever-changin

g demand

s

OPS

DEV

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Chocolate, LEGO, Scrum Simulation Game

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Operations

TeamScru

m Team

Scrum

Team

Scrum

Team

Business

Business /

Customers

Feedback loop, Market demand

User

Story

ChocolateLEGOScrum.com Enterprise

User

Story

User

Story

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Role Cards.

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Game Characters:

Scrum Team

Samuel Scrum

Danny Developer (4)

Tim Tester (2)

Operations Team

Sara Security Adam Admin Robert

Release

Benjamin Business

HarryHacker

Patricia Product

Observer

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Animal Stock Exchange Board – Current Market Demand.

$1000

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Development Environment - Sample

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Our Software:

LEGO animal – software featuresChocolate – user documentation

User Story

Deployment

packageFive

small individua

l packages with a LEGO

dog and a

chocolate

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

• Type of an animal as per the user story.

• Each animal has a label with a number.

• Each package contains:• One Lego animal (as a

functionality)• one chocolate candy (as a

support documentation)• Content doesn’t fall out from a

package.

Sample animals: A lion and a horse

Definition of Done:

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

What Is The Goal of The Game?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Sprint 1: Cyclical value delivery with Scrum

Sprint 2: Optimizing Scrum teamSprint 3: DevOps transformation Sprint 4: Continuous Delivery

DevOps Transformation in Four Sprints

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Limited communication between Dev and Ops.

Everyone can perform only his/her role.

Aiming to deliver a “potentially shippable product”

Number of releases is limited

Z

Sprint 1: Cyclical value delivery with Scrum

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Debrief

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Address the bottlenecks

Developers and Testers are cross-trained.

Security Testing – moved to beginning of the process.

First release into production. Can only be done by release engineer.

Sprint 2: Optimizing the team

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Debrief

Part 2: DevOps and Continuous Value Delivery

with Chocolate and LEGO 

Dana Pylayeva

The 16th International Conference on Agile Software Development

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

13:30 Part 1 Why DevOps and what it is? Cyclical value delivery (with Scrum) . Chocolate, LEGO, Scrum simulation game.

Sprint 1: What is the problem with cyclical value delivery?

Sprint 2: Move security to the right! 15:00 Break 15:30 Part 2:

Chocolate, LEGO, Scrum simulation game: Sprint 3: DevOps transformation Sprint 4: From Scrum to Continuous Delivery.

Fishbowl retrospective

About This Workshop

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

“The velocity of change in business requirements is undeniably increasing at a frightening rate for those

organizations unable to keep pace”

The Seven Habits Of Highly Effective DevOpsby Glenn O’Donnell and Kurt Bittner, Forrester Research, Inc, September 3, 2013

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

11.6 sec

Any idea?2011. Amazon Deployment Stats. Mean time between deployments

(on weekdays)

Source: http://assets.en.oreilly.com/1/event/60/Velocity%20Culture%20Presentation.pdf

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

2015. No Longer For Unicorns Only…

Macy’s, Nordstrom, GE Capital, Target, Disney,US Department of Homeland Security, IBM, Microsoft, Rally Software, Barclays Capital, Capital One, Fidelity Investments, ADP, Walmart…

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

What Does This Mean? A Change Again?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

DevOps: Where Do We Start?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Where Do We Start?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

“…ensure fast, predictable and uninterrupted flow of planned work that delivers value to the business while minimizing the impact and disruption of unplanned work, so you can provide stable, predictable and secure IT service.” ~Gene Kim, Kevin Behr, George Spafford  “The Phoenix Project“

Step 1: Optimize Your Flow

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Examine Your Process. Does It Look Like This?

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Improve Flow – Eliminate Waste(Value Stream Mapping)

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Improve Flow - Address Your Bottlenecks

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

1. Identify the system's constraint(s). 2. Decide how to exploit the system's constraint(s).3. Subordinate everything else to the above decision (align the whole system or organization to support the decision made above).4. Elevate the system's constraint(s) (make other major changes needed to increase the constraint's capacity).5. Rinse and Repeat:Warning! If in the previous steps a constraint has been broken, go back to step 1, but do not allow inertia to cause a system's constraint.

Theory of Constraints. Systems Thinking.

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Different Types of Bottlenecks:

Tools People Policy

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Continuously Expand Your Skills!

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Scrum Team

Dev Ops

Step2: Fast-Track the Feedback Loop

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Feedback

Dev Ops

Scrum Team

Bring Operations In!

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Automate Manual Steps

ANYONE CAN DEPLOY

ANYONE CAN BUILD and PROVISION ENVIRONMENTS

DevOps

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

First steps towards DevOps Improving the flow: Building T-shaped skills Accelerate Feedback – Automating deployments

Sprint 3: Optimizing the System

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Debrief

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

What’s Next?

…Our highest priority is to satisfy the customerthrough early and continuous delivery of valuable software…

Agile Manifesto

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Continuous delivery is a software development strategy that optimizes your delivery process to get high-quality, valuable software delivered as quickly as possible.

~Jez Humble

Step 3 - Continuous Delivery

"Continuous Delivery process diagram“ by Jez Humble - http://continuousdelivery.com/2010/02/continuous-delivery/. Licensed under CC BY-SA 1.0 via Wikimedia Commons -

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Accelerated time to market Ability to get fast feedback and validate

assumptions Increased quality Minimized customer impact (with blue-green

deployments, canary ( incremental) releases, roll forward approach)

Advantages of CD

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Reducing batch sizes. Simplifying deployment

process Implementing

continuous delivery of value.

Sprint 4: Continuous Delivery

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Fishbowl Retrospective

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Do You Expect Me To Remember All This??

© P

hoto

by R

om

an B

arsh

ay

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

1.DevOps is about creating a fast flow of work through organization.

2.DevOps is about amplified feedback loop.

3.DevOps is about experimentation, repetitions and practice.

4.DevOps is about changing the culture.

If You Only Remember Four Things:

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

Recommended Reading.

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

1.https://www.getchef.com/blog/2010/07/16/what-devops-means-to-me/

https://www.gartner.com/doc/2847717/seven-steps-start-devops-initiative

http://www.gartner.com/technology/reprints.do?id=1-2CBV2MS&ct=150326&st=sb#f-d2e168

https://blog.newrelic.com/2014/05/16/devops-name/ http://continuousdelivery.com/

Web Resources:

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License

You’ve earned a badge!

Thank you for playing with me today!

@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License@DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License