Welcome to the start of 100 Days of DevOps. In this first post, we are asking the simple question; what is DevOps?
"DevOps is the union of people, process, and products to enable continuous delivery of value to our end users." - Donovan Brown
I wanted to start with the above quote from Donovan. I love it and honestly, I can't do a better job at explaining it. I use this quote all the time talking to colleagues, peers, and customers.
Customers expect the services we provide to be always available, dependable, and to notify them if something goes wrong. These are the same expectations that we should all have when working together to deliver the application or service that our end users will encounter. We can increase productivity and success for our users by creating an environment that values a common goal amongst our team.
Why we do “DevOps” boils down to one big word, which Donovan emphasises... value.
What is the goal of DevOps?
DevOps provides many goals, and infact the goals that mean the most to you differ from mine and the next person. That is because as pointed out, we do DevOps to provide value, and that value is different for all of us.
If you extract that thought to a higher level of the goals of DevOps, then I like to think of the following five reasons.
- Deployment frequency
- Faster time to market
- Lower failure rates
- Shorter lead times
- Improved recovery times
I like these five because you can apply them to any industry. Take the automotive industry. We can take a lot from the Toyota Production System, developed by car maker Toyota, who has long been recognised as a leader in this field. The underlying principals called the Toyota Way teach continuous improvement, respect for people, teamwork and many other things are present in the principals of DevOps.
It stands to reason therefore that you can apply the five points above as value to the automotive industry. Taking them in the same order as above, why wouldn't they want to:
- Roll cars off the production line quicker
- Improve the time from inception to release
- Have less production failures
- Produce faster
- Recover from failures quicker, and learn from them
In fact, why wouldn't any organisation want to benefit from those?
What are the values of DevOps?
You will commonly hear people talk about people, process, and technology as the key elements of DevOps. I always like to add another one, that is culture. Culture is so important to DevOps, more than the other elements in my opinion is deserves a specific part in the DevOps playbook.
Most people will put culture in the same breath as people, and there is nothing wrong with that, my preference is that culture plays such a big role in making DevOps successful that it is something you have to have right first before you focus on people.
Culture is all about understanding between developers and operations, sharing responsibility for what they build. That means increasing transparency, communication, and collaboration across development, operations and the business.
We have to change the way we encourage people and deliver value to our end users. When teams start focusing on the same goals, they start working together. In order to work together, you need to adopt some processes for continuous collaboration, such as; plan, develop, release, monitor, and finally, repeat.
In DevOps, technology plays a small but vital part in ensuring processes can be automated. These processes are the fundamentals of DevOps and the automation of those processes is what sets apart organisations in their maturity.
Can DevOps really make a difference?
Good question, you bet it can. Unlike some frameworks and principals, DevOps has success across various industries, including those which are usually seen as hesitant to change or rooted in their ways.
Company size is also another factor, and while enterprise organisations do benefit from DevOps, you will likely find more success stories (that are published anyway), in startups and small to medium businesses.
Truth is, it's harder for enterprises to adopt DevOps. Most enterprise organisations due to their size have been around a while, they have processes which have not changed for a long time and sometimes employees which are unwilling to change.
Unlike in the startup or SMB world, where the success of DevOps is plain to see in many organisations, in the enterprise you are likely to find pockets of DevOps success within them rather than wide reaching success across the organisation.
Let's buck the trend of thinking though, and look at organisations which are doing a great job when it comes to DevOps.
The point to highlight here is that these organisations represent a broad set of specialisms, not all of them are tech companies, not all of them are finance companies, but a split across the industry spectrum. But, all of them are software companies.
In day 2 of 100 Days of DevOps, we are looking at the Characteristics of DevOps Culture.