While the adoption of DevOps makes teams move faster with reduced dependency on central operations, it can constrain teams who lack the skills to self-manage the full application and infrastructure stack. The way to overcome this challenge is creating an internal platform and treating it as a world-class product offering. “Applying product management to internal platforms means establishing empathy with internal consumers (read: developers) and collaborating with them on the design. Platform product managers establish roadmaps and ensure the platform delivers value to the business and enhances the developer experience”, via ThoughtWorks Technology Radar. In this talk, we will walk you through how Zalando adopted a customer-first mindset with regards to its developer tooling. We will show the effect on developer satisfaction when internal platforms are given the same respect as external product offerings. We will tell our story on how we moved from a classical infrastructure team to a product mindset with strong focus on building a world-class developer experience. We will share both our learnings and challenges going through this transition, and the impact it has on the daily life of our customers (developers).
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCon Berlin 2019
1. Why we don't use
the term DevOps
2019-06-12
HENNING JACOBS
@try_except_
MOSTAFA NAGEEB
@MostafaNageeb
2. 2
ZALANDO AT A GLANCE
~ 5.4billion EUR
revenue 2018
> 250
million
visits
per
month
> 15.000
employees in
Europe
> 79%
of visits via
mobile devices
> 26
million
active customers
> 300.000
product choices
~ 2.000
brands
17
countries
3. 3
THE BIRTH OF DEVOPS - 2009
“10+ Deploys per Day: Dev and Ops Cooperation at Flickr.”
DevOps Days Belgium
https://devops.com/the-origins-of-devops-whats-in-a-name/
10. 10
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
16. 16
DEV + OPS ⇒ ENGINEERING
Devs
"DevOps"
Team
Ops
Engineering
Team
17. 17
PRODUCT DEVELOPMENT TEAMS
"Great products emerge from
empowered, fully cross-functional teams."
- John Cutler, 2019
https://amplitude.com/blog/on-being-product-led
18. 18
DEVOPS IS
It is a culture, in which people
work together to improve the
product delivery cycle.
19. 19
DEVOPS ANTI-PATTERNS
Dev and Ops Silos
DevOps Team Silo
Dev Don't Need Ops
DevOps as Tools Team
Rebranded SysAdmin
Ops Embedded in Dev Team
web.devopstopologies.com
21. 21
TEAM INTERACTION MODES
• Collaboration: 2 teams working together
• X-as-a-Service: 1 provides, 1 consumes
• Facilitating: 1 team helps another
Product teams need a family too - DevOpsDays Portugal
24. 24
DEVOPS IS ABOUT SKIN IN THE GAME
Absence of skin in the game:
People who are isolated from the
impacts of their decisions do not learn.
They remain captive to their
erroneous ideas about
how the world works.
29. 29
YOU BUILD IT, YOU RUN IT
The traditional model is that you take your software to the
wall that separates development and operations, and
throw it over and then forget about it. Not at Amazon.
You build it, you run it. This brings developers into
contact with the day-to-day operation of their software. It
also brings them into day-to-day contact with the
customer.
- A Conversation with Werner Vogels, ACM Queue, 2006
30. 30
ON-CALL: YOU OWN IT, YOU RUN IT
When things are broken,
we want people with the best
context trying to fix things.
- Blake Scrivener, Netflix SRE Manager
36. 36
CLOUD NATIVE
.. uses an open source software stack to deploy
applications as microservices, packaging each part into
its own container, and dynamically orchestrating those
containers to optimize resource utilization.
Cloud native technologies enable software developers to
build great products faster.
- https://www.cncf.io/
67. 67
SUMMARY
• Application Bootstrapping
• Git as source of truth and UI
• 4-eyes principle for master/production
• Extensible Kubernetes API as primary interface
• OAuth/IAM credentials
• PostgreSQL
• CloudFormation for proprietary AWS services
69. “.. means establishing empathy with internal
consumers (read: developers) and collaborating
with them on the design. Platform product managers
establish roadmaps and ensure the platform delivers
value to the business and enhances the developer
experience.”
- ThoughtWorks Technology Radar
70. 70
PRODUCT MINDSET
... means we are developing all our products
for the best customer experience
and biggest business impact
while all actions are
aligned with our strategy.
72. 72
● Be Prepared.
● Talk to both users and
NON users.
● Ask about problems,
not solutions.
● Open ended
questions.
TALK TO USERS
73. 73
IDENTIFY COMMON PROBLEMS
"Documentation is hard to find"
"Documentation is not comprehensive enough"
"Remove unnecessary complexity and obstacles."
"Get the documentation up to date and prepare
use cases"
"More and more clear documentation"
"More detailed docs, example repos with more
complicated deployments."
76. 76
ENGAGE CUSTOMERS EARLY ON
We are working on speeding up builds by providing basic
overlays for the most used languages/frameworks so you don't
have to download the internet every time you are building your
app.
This is the approach and the documentation (not live yet),
please add your comments to guide us in the right direction.
81. 81
NEWSLETTER
"You can now.."
• You can now upload your Scala code coverage
report to SonarQube
"This enables you to.."
• This enables you to browse your code quality
results and track it over time
82. 82
“Useful information, good level of details and pleasant to
read. It's one of the few newsletters that I took time to
read entirely :)”
- a reader, July 2018
85. 85
DELIVERY PERFORMANCE METRICS
• Lead Time
• Release Frequency
• Time to Restore Service
• Change Fail Rate
srcco.de/posts/accelerate-software-delivery-performance.html
86. 86
DELIVERY PERFORMANCE METRICS
• Lead Time
• Release Frequency
• Time to Restore Service
• Change Fail Rate
• Commit to Prod
• Deploys/week/dev
• MTRS from incidents
• N/A
87. 87
DELIVERY PERFORMANCE METRICS
• Lead Time
• Release Frequency
• Time to Restore Service
• Change Fail Rate
• Commit to Prod
• Deploys/week/dev
• MTRS from incidents
• N/A
90. 90
INSIGHTS THAT GUIDE THE PRODUCT
“Kubernetes/CDP deploys are too
slow - ours takes over 10 minutes,
mainly due to having to download
SBT dependencies every time.”
91. 91
INSIGHTS THAT GUIDE THE PRODUCT
“CDP should somehow cache
builds or something like that. The
current approach forces everyone to
re-invent the cache wheel for their
own projects - or face a crazy slow
build.”
92. 92
INSIGHTS THAT GUIDE THE PRODUCT
“Kubernetes/CDP deploys are too
slow - ours takes over 10 minutes,
mainly due to having to download
SBT dependencies every time.”
94. 94
TESTIMONIALS
“So, thank you, Team Automata, for listening to our
community, taking our upvotes in consideration when
developing new solutions and building every day
'the first CI that doesn't suck'.”
- a user, October 2018
95. 95
TESTIMONIALS
“Thank you very much for improving the color scheme of
the UI. It really helps me with my color blindness. It
used to be hard to distinguish between statuses
previously.”
- a user, February 2019
98. 98
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
99. 99
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
100. 100
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
101. 101
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
102. 102
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
103. 103
DEVOPS IS
… if every person uses the same tool for the same job
… codified knowledge - everybody contributing their part to common automation
… if all people have the same privileges in their tooling
… if human error is equally possible for Dev and Ops
… replacing people interfaces by automated decisions and processes
… a result
bit.ly/5pdops
111. 111
ON THE DEVOPS JOB TITLE
"Everyone’s a devops engineer
these days. I’m a devops engineer,
my wife’s a devops engineer,
even my dog’s a devops engineer"
- James Betteley, 2014
devopsnet.com/2014/08/13/the-devops-team-myth/