(without introducing more risk)
Centralising and
Decentralising
Puppet
Gareth Rushgrove
Waves of change in technology and teams
Slide 2
Slide 2 text
(without introducing more risk)
@garethr
Slide 3
Slide 3 text
(without introducing more risk)
Gareth Rushgrove
Slide 4
Slide 4 text
(without introducing more risk)
What we’ll cover
This talk
Slide 5
Slide 5 text
- Modern software architecture
- Modern software organisations
- Reasons for the current zeitgeist
- Science and literature
Gareth Rushgrove
Slide 6
Slide 6 text
Centralise
/ˈsɛntrəlʌɪz/
concentrate (control of an activity or
organisation) under a single authority.
Gareth Rushgrove
Slide 7
Slide 7 text
Decentralise
/di:ˈsɛntrəlʌɪz/
to distribute the administrative powers or
functions of (a central authority) over a less
concentrated area
Gareth Rushgrove
Slide 8
Slide 8 text
Gareth Rushgrove
Talking of centralisation goes back a way
Slide 9
Slide 9 text
Gareth Rushgrove
Talking of decentralisation is more recent
Slide 10
Slide 10 text
(without introducing more risk)
The technology story
Modern Software
Architecture
Slide 11
Slide 11 text
Gareth Rushgrove
From Mainframe to Microservices
Slide 12
Slide 12 text
From app servers to embedded servers
Gareth Rushgrove
Slide 13
Slide 13 text
Gareth Rushgrove
From WORA to polyglot programming
Slide 14
Slide 14 text
Gareth Rushgrove
From ESB’s to adhoc HTTP services
Slide 15
Slide 15 text
Gareth Rushgrove
From SOAP to REST
Slide 16
Slide 16 text
Gareth Rushgrove
From data warehouse to data lake
Slide 17
Slide 17 text
Gareth Rushgrove
From SQL and schemas to NoSQL
Slide 18
Slide 18 text
Gareth Rushgrove
From rules engines to machine learning
Slide 19
Slide 19 text
The current direction of travel is to more
decentralised systems
Gareth Rushgrove
Slide 20
Slide 20 text
Pushing responsibility from singular
technologies to individual components
Gareth Rushgrove
Slide 21
Slide 21 text
And from upfront decisions to determinations
made closer to the data or users
Gareth Rushgrove
Slide 22
Slide 22 text
Gareth Rushgrove
Slide 23
Slide 23 text
Most of these technology changes have
been driven bottom up, by virtue of adoption
by individual software developers
Gareth Rushgrove
Slide 24
Slide 24 text
(without introducing more risk)
The organisation story
Modern Software
Teams
Slide 25
Slide 25 text
From outsourcing to insourcing
Gareth Rushgrove
Slide 26
Slide 26 text
From waterfall to agile
Gareth Rushgrove
Slide 27
Slide 27 text
Gareth Rushgrove
“Expecting one of the usual greetings like
"pleased to meet you," I was surprised that
the first thing he said was "I think that
architects are obsolete
Joseph Hofstader, Microsoft Software Architect, Architecture Journal 2008
From ivory towers to no architects
Slide 28
Slide 28 text
Gareth Rushgrove
You build it, you run it
Werner Vogels, Amazon CTO
From operations to devops
“
Slide 29
Slide 29 text
From specialists to generalists
Gareth Rushgrove
Slide 30
Slide 30 text
Gareth Rushgrove
From specialists to generalists
full stack engineers
Slide 31
Slide 31 text
Spotify Squads, Tribes and Guilds
Gareth Rushgrove
Slide 32
Slide 32 text
Again, the current direction of travel appears
to be to more decentralised teams
Gareth Rushgrove
Slide 33
Slide 33 text
(without introducing more risk)
Context for the current direction
Why Decentralise
Anyway?
Slide 34
Slide 34 text
Gareth Rushgrove
State of DevOps Report
Slide 35
Slide 35 text
(without introducing more risk)
30x
Gareth Rushgrove
More frequent
deployments
Faster lead times
than their peers
200x
2015 State of DevOps Report
Slide 36
Slide 36 text
(without introducing more risk)
60x
Gareth Rushgrove
Change
success rate
Faster mean
time to recover
168x
2015 State of DevOps Report
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
(without introducing more risk)
It’s not all about decentralising
Counter Examples
Is Agile in practice really a centralising or
decentralising force?
Gareth Rushgrove
Slide 42
Slide 42 text
Gareth Rushgrove
Slide 43
Slide 43 text
Gareth Rushgrove
Scaled Agile Framework
Slide 44
Slide 44 text
Gareth Rushgrove
“I consider the need for some level of
centralised control the main reason
for using SAFe
Thomas Karlsson
http://agile-management.com/wordpress/when-to-use-safe-scaled-agile-framework/
Slide 45
Slide 45 text
Gareth Rushgrove
Slide 46
Slide 46 text
(without introducing more risk)
Gareth Rushgrove
Dev SRE Ops
From http://web.devopstopologies.com/ by Matthew Skelton
Slide 47
Slide 47 text
Gareth Rushgrove
Monorepos
Slide 48
Slide 48 text
Gareth Rushgrove
Slide 49
Slide 49 text
(without introducing more risk)
A current example of the zeitgeist
Containers as a
Microcosm
Slide 50
Slide 50 text
Gareth Rushgrove
Is Docker centralising or decentralising?
Slide 51
Slide 51 text
Decentralising the act of packaging software
Gareth Rushgrove
Slide 52
Slide 52 text
Centralising the unit of running software
Gareth Rushgrove
Slide 53
Slide 53 text
Facilitating the decentralisation of
software development teams
Gareth Rushgrove
Slide 54
Slide 54 text
By centralising the platform on which
all software runs
Gareth Rushgrove
Slide 55
Slide 55 text
(without introducing more risk)
Some of the underpinning theory
From Taylorism to
Sociotechnical
Systems
Slide 56
Slide 56 text
Gareth Rushgrove
Slide 57
Slide 57 text
A production efficiency methodology
that breaks every action, job, or task
into small and simple segments which
can be easily analysed
Gareth Rushgrove
Slide 58
Slide 58 text
Gareth Rushgrove
- Separates execution of work from work planning
- Separates direct labor from indirect labor
- Replaces rule of thumb productivity estimates
with precise measurements
- Introduces time and motion study for optimum
job performance and cost accounting
Slide 59
Slide 59 text
Sidebar Who thinks I just described Agile?
Gareth Rushgrove
Slide 60
Slide 60 text
Gareth Rushgrove
- Aims to achieve maximum job
fragmentation to minimise skill requirements
and job learning time
- Makes possible payment-by-result method of
wage determination
Slide 61
Slide 61 text
Sidebar Who thinks I just described
the gig economy?
Gareth Rushgrove
Slide 62
Slide 62 text
Taylorism has been widely discredited,
but influences a great deal of
management theory and practice
Gareth Rushgrove
Slide 63
Slide 63 text
Gareth Rushgrove
Slide 64
Slide 64 text
Scientific Management is a system that
is excellent for achieving highly efficient
execution of known, repeatable
processes at scale
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“
Slide 65
Slide 65 text
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“Efficiency is no longer enough
Slide 66
Slide 66 text
Complexity produces a fundamentally
different situation from the complicated
challenges of the past
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“
Slide 67
Slide 67 text
Complexity means that, in spite of our
increased abilities to track and measure,
the world has become, in many ways,
vastly less predictable
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“
Slide 68
Slide 68 text
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“ Developing resilience, learning how to
reconfigure to confront the unknown, is a
much more effective way to respond to a
complex environment
Slide 69
Slide 69 text
Gareth Rushgrove
Slide 70
Slide 70 text
(without introducing more risk)
The field of Sociotechnical Systems
suggests that all human systems
include both a technical system
and a social system
Gareth Rushgrove
https://en.wikipedia.org/wiki/Coevolution#Technological_coevolution
Slide 71
Slide 71 text
(without introducing more risk)
Better outcomes are usually obtained by a
reciprocal process of joint optimization,
through which both the technical system and
the social system change
Gareth Rushgrove
https://en.wikipedia.org/wiki/Coevolution#Technological_coevolution
Slide 72
Slide 72 text
(without introducing more risk)
Gareth Rushgrove
Conway’s Law as a classic example
Organisations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organisations
Slide 73
Slide 73 text
Gareth Rushgrove
Slide 74
Slide 74 text
(without introducing more risk)
If all you remember is
Conclusions
Slide 75
Slide 75 text
Do we build distributed systems because we
seek decentralised teams?
Gareth Rushgrove
Slide 76
Slide 76 text
Or do we desire decentralised teams so we
build distributed systems?
Gareth Rushgrove
Slide 77
Slide 77 text
You’re probably centralising and decentralising
different things at the same time
Gareth Rushgrove
Slide 78
Slide 78 text
Beware local optima
Gareth Rushgrove
Slide 79
Slide 79 text
To be an agile enterprise you need to be
conscious and transparent about where
you are centralising and decentralising
Gareth Rushgrove
Slide 80
Slide 80 text
- Team of Teams General Stanley McChrystal
- The New Kingmakers Stephen O’Grady
- Designing Delivery Jeff Sussna
- Antifragile Nassim Nicholas Taleb
Gareth Rushgrove
Slide 81
Slide 81 text
Gareth Rushgrove
Team of Teams: New Rules of Engagement for a Complex World
“Surprisingly, that change was less about new
technology than it was about culture – in
other words, our approach to management
Slide 82
Slide 82 text
(without introducing more risk)
Questions?
And thanks for listening