3. What do we mean by Dev?
Anyone involved in the process of
creating a software application (BAs,
Dev, Testers, Architects, Product
Owners...)
What do we mean by Ops?
Anyone involved in the process of
operating and supporting a software
application (Service, DBA,
Infrastructure teams, Network teams,
Security…)
4. What Problem are we trying to Solve?
- Dev are incentivised to increase change -
more deployments, more features, faster!
- Ops are incentivised to resist
change - maintain
service, uptime,
SLAs
- How do we bridge this
gap?
5. So what is DevOps?
Put simply it’s
about Dev and Ops
working together
6. And what DevOps isn’t
- A team
- A role
- A set of tools
- A methodology
- A silver bullet
- Clearly defined
- Easy to implement!
9. #1 Set up a DevOps Community
- Get people talking at every opportunity
- Start with an off-site day
- Find the evangelists (and the saboteurs)
- Ensure both Dev and Ops are involved (!)
- Make joint decisions
11. #2 Look at Org Structure
- Change the structure to blur the areas and
focus on what you want to achieve
- E.g. assign Ops representatives to squads
- Form a catalyst team
13. #3 Look for the common ground
- Dig down below objectives to why
- What risk are you trying to mitigate?
- Agree on some common principles
- Example: Fear of uncontrolled change to
production
- Align objectives where you can
19. #6 Small steps towards a Vision
- Acknowledge where we are now
- Paint a picture of where we’re going
- Celebrate all the small steps
- Acknowledge everything won’t be
successful
- Get senior support on the vision
21. #7 Respect Service and Audit
- We can’t ignore the regulations
- See #3, look at what underlying risk is
trying to be mitigated
- Start with the existing mechanisms but:
- Smaller
- More frequently
- Improve
- Highlight the benefits (auditable,
repeatability, less manual involvement)
23. #8 Don’t do Everything at Once
- Allocate time and budget
- See #6, start with small steps and grow
from there
- However make some clear change; if you
do what you always do…
24. How to hunt Elephants*
- DevOps is principally a
people challenge
- Consider everything from
the point of view as to
whether it widens or
narrows the Dev Ops gap
- Invest thought and effort
into DevOps as culture
* No actual elephants were hurt in the making of this talk
Notes de l'éditeur
A talk and series of slides exploring some common cultural impediments to adopting DevOps, observed through experience to date
Infinity Works:
Agile Delivery Consultancy, specialising in helping large organisations get better at delivering IT
DevOps and agile a key area of focus
Clem:
Headed up DevOps transformation at Callcredit
Worked with several clients via Infinity Works on what DevOps is and beginning to establish DevOps culture
In a traditional model, very different incentives
Pulling in different directions
How do we establish True North?
We need to achieve both things for a successful modern business
An approach, a culture, a way of thinking
A way of bridging the Dev Ops gap...
Read The Phoenix Project!
Sounds simple, just bring Dev and Ops closer together
However there are lot of elephants in the room at a lot of organisations, impediments that make the cultural challenge very difficult
Aim is to call out some of the ones I’ve seen in recent experience, and some ideas as to how to work with them
Dev and operations are traditionally different roles.
Often the social and professional networks in the org mean people don’t often talk
Don’t think about the world in the same way
Also daily involvement at stand-ups
Organisation structure challenges – silos. Not conducive to a new collaborative way of working
Product teams usually don’t include ops – agile has brought together dev, test, BA, maybe business but Ops is often still left out
Assign Ops to work closely with Dev teams
Get Devs to rotate into Ops
Catalyst teams such as App support, platform teams, pipeline teams
Often at the exec level, DevOps is misunderstood
Despite the DevOps initiative or desire:
Ops have service and ITIL related objectives
Development have delivery related objectives
Bonuses are riding on this…
Trad Ops response: heavy change control, resist the change
Trad Dev response: Give us the keys
Actual aim: mitigate the risk of breaking service (either now or in future)
Alternative response: Automated deployments/immutable infrastructure. Ultimate control, less risk, fast and repeatable change
A real fear that operations is being cut out – and often some truth in it
DevOps must not be a Dev takeover
It does not mean admin or root access for Devs in prod
It does not mean Ops have no value
Acknowledge the value of operations
Acknowledge and celebrate the specialist knowledge on both sides
Try and share that knowledge – t-shaped people
Help both areas realise they have new skills to learn
Modify both role specs, or maybe even merge them. Interview accordingly
So many tools
Too many tools
Tools can divide culture - ”Dev tools” and “Ops tools”
Tools are the football scarves of the two sides
Fixation on one tool
People don’t like change
Ops don’t like change
DevOps is change if it’s not there already, and it’s advocating even more change
Plus it itself will change as you do it
Good leaders give support and give a purpose
Break things down small
Examples: DevOps poster, DevOps weekly, Small changes
Yes, PCI, FCA, ISO etc make it harder
But DevOps is not saying be reckless
Underlying goals of regulation and DevOps are surely getting at the same thing
Example – deployment pipelines automating deploys but still going via change management, eventually reclassified as standard change
Final elephant – people are incredibly busy
So many things - it’s not as if the people who will be involved in DevOps have lots of time
A move to DevOps should not be side of desk. Requires time, focus and effort
Example – take some people out and form a separate team with a space and remit to drive change
Questions for the audience
Do you recognise these elephants?
What other elephants are there?
What other ideas do we have to help address them?