The Hardest Principle
DASA’s entire DevOps curriculum is built around six key principles. Together they cover all the relevant topics you could or should consider when becoming a DevOps professional or when implementing the DevOps way of working within your company. As with all things in life, the six principles are not all equally hard to master. Depending on the situation, one might be more challenging than another. In recent years, however, I have come to believe that there is one principle that universally presents the greatest challenge of all, and that is ‘automate everything you can.’
For those not yet familiar with the six principles, here they are:
To take a closer look at the detailed definitions, please visit this page.
When you read the six principles, only automate everything you can seems to be directly related to IT and all the fun tech stuff and tools that come along with IT development. Of course, it’s tempting to just implement a bunch of (open source) tools, throw some cloud services in the mix, and you are halfway to DevOps. Well, not quite.
The main focus of DevOps is delivering value to the customer, see customer-centric action. So, a good first step would be to determine who your customer is and what value they expect you to deliver. What products or services does the customer need or wish for?
If you just start automating things, you will probably enjoy the activity, but it will most likely not help your customer or your company in the best possible way. Automation is a powerful Swiss army knife, but not a goal in its own right. It should always serve some form of customer value, either directly, indirectly, or both.
Why is it so hard?
On paper, getting acquainted with customers and determining what value and which products you should deliver sounds easy, but it can be a challenge in real life. Who is your customer? Is it the business department? Is it the “real” customer who is paying for your (IT) products and services with “real” money? Is it some other IT team that uses your platform or tooling?
Depending on what position you have within an organization, the answer might differ. Also, in many cases, it is not simple even to find all teams, suppliers, and departments that are involved with one product, let alone when your IT department delivers hundreds of products to numerous “customers.”
To solve this puzzle, teams should be organized around products and services and no longer be arranged based on skills. A team should own one or several products and services and be end-to-end responsible for both ups and downs during the entire product lifecycle. To succeed in this work, teams need to be cross-functional and autonomous. Development, operation, and delivery of the products are all done by the same team.
So, before you can go full throttle on automation, the company needs to be flipped sideways or at least tilted up to a point. I don’t have to explain that this requires a huge amount of change on every level. If you do not start to take this giant leap at some point, you will not be able to fully reap the benefits of DevOps. Of course, it is not advisable to flip the whole company overnight. Start small and scale-up. This way, the change will be more gradual, and you will gain transition experience. Learn, adapt, improve. Repeat. Continuous Improvement is now also part of your DevOps journey.
To automate everything you can, you depend on many prerequisites and basically need to (partly) implement all the other five DASA DevOps principles first.
Although it’s clear that simply diving into automating things is not the best way to start your DevOps journey, it does not mean you should not touch your keyboard or some nifty new tools at all. Besides getting to know your customers and their demands, I encourage you to try new things and see what happens. Better make sure you steer clear of your production environment, though. Conducting experiments and exploring new technologies is at the core of a DevOps culture. With trying comes learning, and with learning, things start moving. Swift movement, agile enough to keep up with the customer’s pace, is what DevOps is all about. With that being said, we finish with both the beauty and the challenge of the hardest principle: you will need to master automate everything you can to make your DevOps implementation a success. Good luck!