Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
10/22/2019
1
© 2013 – 2017 naked Agility Limited All Rights Reserved
Agile Scaling Unicorns &
how to tame themAn Enterprise transformation
that shows that you can too
evolution
© 2013 – 2017 naked Agility Limited All Rights Reserved@MrHinsh
2
Martin Hinshelwood - Personal
1
2
10/22/2019
2
© 2013 – 2017 naked Agility Limited All Rights Reserved
© 2013 – 2017 naked Agility Limited All Rights Reserved
3
4
10/22/2019
3
© 2013 – 2017 naked Agility Limited All Rights Reserved
Agile Scaling Unicorns &
how to tame them
Martin Hinshelwood
@MrHinsh
© 2013 – 2017 naked Agility Limited All Rights Reserved
DevOps is the union of people, process, and products to enable continuous delivery of value to your end users.
“
”
5
6
10/22/2019
4
© 2013 – 2017 naked Agility Limited All Rights Reserved
Top performing DevOps companies spend more time innovating and less time “keeping the lights on”.
The result: better products, delivered faster, to happier customers by more engaged teams
© 2013 – 2017 naked Agility Limited All Rights Reserved
Diego Lo Giudice and Dave West, Forrester
February 2011
Transforming Application Delivery
Firms today experience a much higher velocity of business change. Market opportunities appear or dissolve in months or weeks instead of years.
“
”
7
8
10/22/2019
5
© 2013 – 2017 naked Agility Limited All Rights Reserved@MrHinsh
Can you think of any epic failures?
Poor Quality Mismatch to customer desires
© 2013 – 2017 naked Agility Limited All Rights Reserved@MrHinsh
This is the story of:
9
10
10/22/2019
6
© 2013 – 2017 naked Agility Limited All Rights Reserved@MrHinsh
Journey to DevOps
Sprint 1August 2010
Sprint 29June 2012
VSTS Preview
Sprint 64April 2014
VSTS GA
Sprint 67June 2014
1ES
Sprint 102June 2016
GVFS Azure DevOps
Sprint 140Sep 2018
Sprint 151April 2019
11
12
10/22/2019
7
1ES Growth
0
20,000
40,000
60,000
80,000
100,000
Engineer Users
Non-engineering Users
DevOps at Microsoft
Data: Internal Microsoft engineering system activity, March 2019
442kPull Requests per
month
2.4m Private Git commits per
month
82,000Deployments per day
155 Petabytes of build
artifacts managed
3.5kOpen Source repos
12kEmployees contributing
to open source
28kWork items
created per day
Azure DevOps is the toolchain of choice for Microsoft engineering with over 100,000 internal users
https://aka.ms/DevOpsAtMicrosoft➔
13
14
10/22/2019
8
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
15
16
10/22/2019
9
Quantitively & Qualitatively
17
18
10/22/2019
10
• Original estimate
• Completed hours
• Lines of Code
• Team capacity
• Team burndown
• Team velocity
• # of bugs found
Things we don’t watch• Acquisition
• Engagement
• Satisfaction
• Churn
• Feature Usage
Usage
• Time to Detect
• Time to Communicate
• Time to Mitigate
• Customer Impact
• Incident Prevention Items
• Aging Live Site Problems
• SLA per Customer
• Customer Support Metrics
Live Site Health
• Time to Build
• Time to Self Test
• Time to Deploy
• Time to Learn
Velocity
19
20
10/22/2019
11
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
Find what hurts and keep doing it a bit better
Iterate over Pain
Find the part of your process in
getting value to customers that
slows you down or hurts the most.
Make it incrementally better each
sprint. Re-evaluate and improve
the next most painful.
“
”
21
22
10/22/2019
12
@MrHinsh
Schedule
Code Test & Stabilize Code Test & Stabilize
Beta RTM
@MrHinsh
Feedback
Planning
Customer feedback – we should
change the way a feature works.
We didn’t get it quite right…
… but we’re booked solid already.
23
24
10/22/2019
13
@MrHinsh
S1 S2 S3 S4 S5 Stabilization S6
Story: Sprint 1-5
A
B
@MrHinsh
Now
2 years
3 weeks
25
26
10/22/2019
14
@MrHinsh
Deliver more value to customers
Faster responses to customers and market changes
Improved engineering satisfaction
2x productivity increase
Features Delivered per Year
https://www.visualstudio.com/en-us/articles/news/features-timeline
22
5865
111
262
249
2012 2013 2014 2015 2016 2017
Maintaining enterprise rigor
27
28
10/22/2019
15
Using Trunk Based Development to avoid Merge Hell
Release Flow
29
30
10/22/2019
16
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
31
32
10/22/2019
17
•
•
•
•
•
•
•
33
34
10/22/2019
18
“One time” deployment commands in OneNote, email
Set-Options “-p 0”
Imagine a dozen more steps like that…
And then…someone misses a step half way through
We once broke pre-production for a day
35
36
10/22/2019
19
Your aim won’t be perfect.
Control the blast radius.
1
37
38
10/22/2019
20
•
•
•
•
•
•
•
•
•
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
39
40
10/22/2019
21
Alignment
Autonomy
“Let’s try to give our teams three things…. Autonomy, Mastery, Purpose”
41
42
10/22/2019
22
43
44
10/22/2019
23
Teams
Physical team rooms
Cross discipline
10-12 people
Self managing
Clear charter and goals
Intact for 12-18 months
Own features in production
Own deployment of features
45
46
10/22/2019
24
Employee choice, not manager driven
Typically <20% change, but 100% get to make a choice
Cross-pollinate talent and micro-culture
Sticky Note Exercise - Self Forming Teams
Strategy12 months
Quarter4 sprints
4
Sprint3 weeks
1
Semester6 months
6Teams are responsible for the detail
Leadership is responsible
for the big picture
47
48
10/22/2019
25
OKR: Objective→Key Results
1. Objective: Grow a strong and happy customer base
1.1 Increase external NPS from 21 to 35
1.2 Increase docs SAT from 55 to 65
1.3 New pipeline flow has an Apdex score of 0.9
1.4 Queue time for jobs is 5 seconds or less
KRs are measures for the quarter
Encourage ambitious KRs:
70% of the improvement target scores green
Product OKRs
Service OKRs Service OKRs Service OKRs Service OKRs Service OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
Team
OKRs
49
50
10/22/2019
26
OKR check
2 sprints
OKR reset
4 sprints
As needed: Experience ReviewsSprint mail
51
52
10/22/2019
27
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
• Tests that anyone can run anywhere (inc production)
• Shifted to unit tests from automated functional tests
• Core tests run before pull request
• Fast and 100% reliable build and test is critical
• Rolling tests run after commit
53
54
10/22/2019
28
55
56
10/22/2019
29
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
57
58
10/22/2019
30
Shared abstraction layer
Single master branch, multiple release branches
Update 1
Update 2
Update N
Azure DevOps Services
Team Foundation Server
One code base with multiple delivery streams
Shared Platform Services (SPS)
North Central
TFS SU1
North Central
ATAT
AT
JAJA
JA
Blob
TFS SU7
Australia
TFS SU0
West Central
Containerized Services
59
60
10/22/2019
31
Be Customer Obsessed
Iterate over Pain
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Don’t over-think, learn how to fail fast
A journey of a thousand miles begins with a single sprint
61
62
10/22/2019
32
Progress follows a J-curve
DevOps isn’t magic
63
64
10/22/2019
33
Agile Scaling Unicorns & how
to tame them
Thanks!Martin Hinshelwood
@MrHinsh
65