THE SEVEN HABITS OF EFFECTIVE DEVOPS AT SCALE (Infographic)
by Niall Crawford
All too often we see companies embracing agile by breaking up their teams up into tribes and letting them go for it. An approach which has the “early benefits” of appearing like your teams are doing the right-thing (hopefully working towards Continuous Integration, Painless Deployment, Continuous Testing, MVP & Infrastructure as Code) and embracing autonomy, enthusiasm and innovation.
However, the vision typically fades as we realize many of these “self managed units” are not performing quite as well as we had hoped and are impacting those around them, for example impacting other teams with inherent system relationships and/or delaying the end-to-end release cycle.
Or to put this another way:
There is not much value in having 3 High Performing DevOps Teams, if the other 7 teams are behaving like the Ant Hill Mob.
So, with this ludicrous (but somewhat realistic) analogy in mind, what should an organization do to further support these teams in delivering DevOps at scale? Here are our top 7 suggestions in the way of an Infographic:
(1) Integrate the Tool Chain
Let the teams use the tools they want & need but ensure cross team observability.
Use cross tool & cross team insight to drive Measurement & Optimization
Or in other words “Sharpen that saw”.
Its key to enterprise “retrospection”
(2) Implement Lean Governance
Limit disruption across the lifecycle (particularly Non-Production)
Ensure change & incidents are managed proactively & traceable.
Tip! Keep it Lean! It shouldn’t be as heavy as production.
(3) Cross System Continuous Testing
Yep, it is fair to say, you probably would think this is a standard practice.
Yet so many organizations seem to get the CICD bit (inc Continuous Testing) at a Micro Level, yet fail on the Macro i.e. across systems boundaries.
Extend your continuous testing framework to exercise products end-to-end.
(4) Standardise then Automate
Whether its deployment, configuration management or testing, learn to Walk before you can Run!
No point having crazy goals like self-service push button deployment of your payment system if you can’t even do it manually and without errors.
Put first things First!
(5) Manage your Non-Production Environments
It is where you Projects and Agile-Release-Trains spend 95% of their time.
Identify and address classical Test Environment Anti-Patterns.
Avoid disruption and reclaim 20% of your life cycle productivity.
(6) Co-Location *Synergize (or Don’t Outsource Functions)
Outsourcing of key functions (e.g. testing) is a great way for the new CIO to reach his financial KPIs.
But, “isolation”, rarely drives agility or quality.
The whole is greater than the sum of the parts.
Co-locate to simplify collaboration and uplift delivery objectives.
(7) Customer not Technology Centric (Begin with the End in Mind)
Begin with the End in Mind I.e. Customer Expectations
Think Top Down, what your customers want & drive change that way.
Don’t let the tail wag the dog i.e. team centric (or widget) thinking.
Embrace an @Scale framework like safe that naturally promotes Values –> Principles –> Methods.
Learn More or Share Ideas
If you’d like to learn more about DevOps @ Scale, or perhaps just share your own ideas on this topic then then feel free to contact myself or the enov8 team. Enov8 provides a complete platform for addressing organisations “DevOps at Scale” requirements through “Enterprise IT Intelligence”. Providing advanced “out of the box” IT & Test Environment Management, Release Management and Holistic Data Management capabilities.
Niall is the Co-Founder and CIO of Enov8. He has 25 years of experience working across the IT industry from Software Engineering, Architecture, IT & Test Environment Management and Executive Leadership. Niall has worked with, and advised, many global organisations covering verticals like Banking, Defence, Telecom and Information Technology Services.
19 MARCH, 2020 by Michiel Mulders SRE vs DevOps: Friends or Foes? Nowadays, there’s a lack of clarity about the difference between site reliability engineering (SRE) and development and operations (DevOps). There’s definitely an overlap between the roles, even though...
06 MARCH, 2020 by Arnab Roy Chowdhury Top 10 SRE Practices Do you know what the key to a successful website is? Well, you’re probably going to say that it’s quality coding. However, today, there’s one more aspect that we should consider. That’s reliability. There are...
20 FEBRUARY, 2020 by Arnab Row Chowdhury Technically, the world today has advanced to a level we never could’ve imagined a few years ago. What do you think made it possible? We now understand complexities. And how do you think that became possible? Literacy! Since...
14 FEBRUARY, 2020 by Michiel Mulders A site reliability engineer loves optimizing inefficient processes but also needs coding skills. He or she must have a deep understanding of the software to optimize processes. Therefore, we can say an SRE contributes directly to...
07 February, 2020 by Arnab Roy Chowdhury Do you remember what Uncle Ben said to young Peter Parker? “With great power comes great responsibility.” The same applies to companies. At present, businesses hold a huge amount of data—not only the data of a company but also...
17 JANUARY, 2020 by Sylvia Fronczak Site reliability engineering (SRE) uses techniques and approaches from software engineering to tackle reliability problems with a team’s operations and a site’s infrastructure. Knowing the history of SRE and understanding which...