Introduction to DevOps with chocolate and Lego game
1. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
2. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
What is
your name
and role? What do you
already know
about DevOps?
Ask Your Neighbor:
3. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
@DanaPylayeva
dpylayeva@gmail.com
Agile Coach
Scrum Master
DBA Manager
Systems Architect
Java Developer
Big Apple Scrum Day
Founder
Reviewer
Speaker
A Little Bit About Me
4. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Dev and Ops are Focused
on Different Objectives
5. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Ops Team
Scrum Team: Focus on
Delivery and Speed
6. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Pager Duty
On-call support
Monitoring
Upgrades
Security Patching
Data Migration
Backups
Ops Team: Focus on
Stability and Reliability
7. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
8. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Source: Lee Reid http://devops.com/2015/06/22/the-simple-math-of-devops/
Trescope Tarch review Ttech debt
Tretest
Trework
Trebuild
Trefix
Trollback
Tre-release
It doesn’t have to be this way!
Low Trust Creates Extra
Steps
9. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Fresh off the Press –
6/22/2016
10. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Source: Puppet Labs: State of DevOps Report 2016
DevOps: Increased Speed
11. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Source: Puppet Labs: State of DevOps Report 2016
DevOps: Increased Stability
12. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Sounds like Magic…
DevOps
13. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
DevOps?
“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
14. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
2016 - No
Longer For
Unicorns
Only…
Macy’s,
Nordstrom,
GE Capital, Disney,
US Department of
Homeland
Security,
IBM, Microsoft,
Barclays Capital,
Capital One,
Target, Walmart…
2009 - 2011
15. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
DevOps Transformation
RPG
16. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Chocolate
and LEGO
Inc
Development
(Scrum Teams)
Business
Team
Security
Team
Ops
Team
17. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Pick Your Role and Meet
Your Team
18.
19. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
What Will You Build?
Ask the Business Team!
20. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Sys Admin
Builds All Environments
21. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Dev Team
Builds a
Product
22. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Release Engineer Builds a
Deployment Package
23. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Product Owner
gets paid
by the
Business
when products
are delivered
into
production.
24. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Sprint 1: Cyclical Value
Delivery With Scrum
• Dev and Ops are
separate teams
• Sys Admin controls
release schedule
• Security test is at the
end of the Sprint
25. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
What Will You
Change For
Sprint 2?
26. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Sprint 2: Optimizing the
Scrum Team
•Move Security to the
left - learn about
security issues before
implementation.
•First release into
production: Only
Release Engineer can
deploy.
27. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
How
Was
Sprint 2
For Your
Team?
28. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Ready for
DevOps?
How Do You
29. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Optimize Your Flow
Any improvement not made at
the constraint is an illusion
“The Phoenix Project”
30. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Start From Your Biggest
Constraint (Bottleneck)
31. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Scrum
Team
Dev Ops
Enable Dev and Ops
Collaboration
Cross-train, Build T-shaped skills
32. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Split Work into Smaller
Batches
33. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Simplify and Automate Your
Deployments
34. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Experiment and Practice
to Reach Mastery
35. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Sprint 3: DevOps
Transformation.
• Build T-shaped skills.
• Reduce batch sizes.
• Accelerate the feedback
loop with simplified
deployment.
36. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Share
Your
Aha!
Moments
37. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Recommended Reading:
38. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Links and Credits
• https://www.getchef.com/blog/2010/07/16/what-devops-
means-to-me/
• https://puppet.com/resources/white-paper/2016-state-of-
devops-report
• https://blog.newrelic.com/2014/05/16/devops-name/
• http://continuousdelivery.com/
- https://pixabay.com/
- http://www.innolution.com/resources/visual-agilexicon
- http://www.shutterstock.com/pic-151104653/stock-photo-
crazy-scientist-young-boy-performing-
experiments.html?src=Vq0HbZwnUpigKG9b1ITx_A-1-1
- http://vectorcharacters.net/
39. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Level Up
Facilitation guide:
https://leanpub.com/chocolatelegogame
+
40. @DanaPylayeva This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License
Editor's Notes
Welcome to Introduction to DevOps with Chocolate and LEGO game. You are about to participate in the end-to-end gamified simulation of product development. This workshop has been played in 7 countries and has been modified each time based on the feedback. I am looking forward to hearing your ideas and to getting them into next iteration!
Hello everyone, as you walk into the room, please pick a table and ask your neighbor 2 questions.
What did you learn? Who at your table is using DevOps practices today? Who is just starting to learn about DevOps?
Who doesn’t understand English and needs help with translation?
A little bit about me – my name is Dana Pylayeva. I am an Agile Coach, a speaker, a conference organizer.
I was born in Ukraine, went to college in Russia, I live in New York, work for a Japanese company and I am happy to be hear today at ScrumGathering Rio with my workshop to Brazil!
DevOps topic is dear to my heart because I’ve been to both sides of it.
I’ve started my IT carrier as a developer, and then by accident became a DBA Manger. I have seen with my own eyes how different the goals and processes are in development and in operations.
More importantly, in traditional organizations Dev and Ops are focused on two very different objectives
Let’s look closely at what happens in a typical development.
Scrum team is focused on delivering features faster. At the ends of each sprint they are expected to deliver potentially shippable increment of the product.
They are throwing it over the wall and start the next sprint. What happens to it afterwards, is not their concern – they are DONE!
Scrum Team – Focus on Delivery and Speed
What do we have on the other side of the wall? Life isn’t pretty – escalation procedure, on-call pager duty, monitoring – everything to ensure that current systems that generate revenue are stable, have adequate throughput. Operation team is focused on keeping the lights on.
Operations resist change, they know, when all these increments accumulate in It operations, they can cause deployment issues and lead to post-deployment fires in production.
Ops Team – Focus on Stability and Reliability
And when THAT happens, it is not a development problem!
It is not surprising that this type of a mindset leads to a low trust culture.
Why do we care about trust?
Because in it’s absence we tend to introduce extra validation steps for each hand-off in the value stream.
It doesn’t have to be this way!
According to State of DevOps report for 2015 – use of DevOps practices and embracing DevOps culture allows organizations to achieve both – increased speed of delivery and increased reliability.
Hmm sound of a lot as a silver bullet to me
What makes the matter worse, there is a bit of confusion around the term DevOps
Is it a role, a product, a job title?
Even Gartner analysts in their report “Seven steps to start your devops initiative” recommend as a step #1 “Define DevOps for you.”
What is your favorite definition of DevOps?
DevOps movement came a long way since 2009.
2009 – 10 deploys per day at Flickr
2011 – 11.6 sec over 7 K deployments per day
2015 – Information from DevOps Enterprise summit. – all these companies are implementing Devops practices now and accelerating their delivery of services.
And if the Department of Homeland Security can do it, so can you!
Let’s get some experience with DevOps transformation by playing a close-to real life DevOps transformation RPG
Inspired by The Phoenix Project and The Goal, this game will let you experience 3 sprints in the life of development and operations.
We will simulate the flow of work through the enterprise, relationships between Business, Development and Operations and demonstrate the benefits of moving from cyclical to continuous delivery of value.
Welcome to Chocolate and LEGO Enterprise. All of you are new hires now and will be introduced to your new roles.
We have 4 development teams in organization, each of them is using Scrum framework. Who is familiar with Scrum?
We have one operations team, one security team and one business team.
Our organization makes money by building LEGO Animals and selling them to the market.
Please open the bags on your tables, take out the roles package and pick a role for yourself.
Take 2 minutes to learn about your role and introduce your game avatar to the team members at your table.
Notice the dependencies your have on other teams!
How do we know what and how much to build?
Business team will determine the market demand – what animals are popular and how much they are willing to pay for those animals.
Market demand is regulated at the Animal Stock Exchange.
This is where the animal prices are established and the orders are placed in Sprint 1.
Orders can be placed in the increments of the batch sizes. Based on a quality and a quantity of products delivered in Sprint 1, the market demand will be adjusted for Sprint 2.
In the first sprint, each order from the market (for example, “5 dogs” or “10 giraffes”) is considered as one story.
To generate business value, the story must be delivered to the market in its entirety. Scrum Teams need to be careful to not over produce as business will not purchase the items above desired quantity indicated.
Team will work with the Product Owner to determine which story has highest value for the market and prioritize what to work on for the next sprint.
-------------------
In Sprint 2, 3 the animal prices will fluctuate during the sprints, hence providing an incentive to the teams to deliver products to the market faster.
Any quantity delivered by a team over the desired quantity number is counted as negative ( company will not be able to sell it = waste)
Team will work with the Product Owner to determine which story has highest value for the market and prioritize what to work on for the next sprint.
The LEGO and chocolates reflect knowledge work and not just a physical task: LEGO animal represents a feature and chocolates represent end-user documentation.
Business will have a set of play money to be used for “payment” for accepted animals.
###Sprint 1
In the first sprint, each order from the market (for example, “5 dogs” or “10 giraffes”) is considered as one story.
To generate business value, the story must be delivered to the market in its entirety.
Team will work with the Product Owner to determine which story has highest value for the market and prioritize what to work on for the next sprint.
**Operations team** is a functional silo team in Sprint 1.
Ask your **Security Engineer** to pick three random numbers between 1 – 20.
These will be security bugs. When Scrum team is ready to deliver products into production, **Security Engineer** will “run the security scan”. If a product has a label with one of the three selected numbers, it will need to be returned back to a development team.
**Release Engineer** will need to package features delivered into a deployment package and deploy them into production (place the small packages into a ZipLock back, write team name with a sprint number and deliver it to market analyst's table)
At the end of the Sprint 1, participants will discover that deployments are not allowed until the next deployment window. Everything that scrum teams built is now stuck in the queue in Operations department and no value gets delivered to the market.
In the Sprint 1 retrospective, **Scrum teams** will look at optimizations they can apply to their current process and the constraints that impede their productivity.
###Potential improvements
1. Invite **Sara Security** into the Scrum team.
2. Solicit an early feedback from the **Market**
How was your experience?
Scrum Teams, how many user stories you delivered?
This is great! Why are the customers unhappy?
Did you get any product delivered to you?
Observers, would you like to share you observations?
It took a long time to start – getting the stories, building environments…
Then security testing at the end caused delays and rework.
Then what happen – team built potentially shippable products, but wasn’t able to deploy due to the code freeze.
They are getting no feedback.
Why do you think there IS a code freeze? This is a function of deployment process being manual, brittle and potentially causing service disruption.
With the Water-Scrum-fall it gets expensive to deliver changes and making them live in production.
One of the advantages of embracing DevOps , is that you are able to re-define that!
There is more than one entry point into DevOps world and all of them will require changes in technology, people, process and culture.
Start with visualizing your flow. Get a better understanding of how a value delivering planned work moves through your organization. Learn to optimize that.
Understand where unplanned work causes the most disruption and how you can minimize it’s impact.
Think about all the places were you may have non-value added work and your biggest constraint.
Be aware of different types of constraints:
Tool: The way existing tools are used and/or lack of appropriate tools may limit the ability of the system to produce more.
People: Lack of skilled people limits the system. Mental models held by people can cause behavior that becomes a constraint.
Policy: A written or unwritten policy prevents the system from making more.
Bring in Operations into your team!They know how your system runs in production, what are some of the challenges it is having. Leverage that feedback to make it more resilient
Rather than coming up with a bunch of features and planning a multi-month release, come up with new ideas continually and try them out individually on users.
With enough thought, even big features or large-scale changes can be implemented as a series of smaller steps to get faster feedback, with the ability to pivot and course correct if needed. With a cross-functional team working to deliver these small increments in hours or days, you can be more innovative than your competition and maximize your return on investment
With Continuous Delivery your software is always release-ready, yet the timing of when to push it into production is a business decision, and so the final deployment is a manual step.
Ultimate feedback that we are looking for is the feedback from our end-users. Manual and infrequent deployments significantly reduce our opportunity to receive this feedback.
Important step in your devops initiative will be environments standardization and automated provisioning.
The idea is making things self-service so that everyone in the Scrum Team can build an environment, provision and deploy.