We are all in agreement that a successful DevOps deployment includes effective governance, good people management and, of course, the capability to deliver on time. A strong and cohesive foundation is critical to ensure successful operations, but it’s not enough. As an extension of DevOps governance, we need to invest in service – and the right people to do it – to deliver real value to our customers and accelerate their digital transformation.
As a true enabler of DevOps, DevOps is, in my opinion, one of the best strategic moves we can make to realize our business goals. What does that mean in practice? It means we need to think holistically and strategically about our customers. How can we understand them, know what they need and, more importantly, how do we go about addressing it in the way that they want? It also means we must be willing to make a shift in mindset and culture.
DevOps is not about the end-to-end deployment of a piece of software but rather the continuous evolution and delivery of end-to-end solutions to the customer. So, we need a shift in mindset, a change in mindset that embraces a new culture. And we must be willing to accept that change and make a clear commitment to make it work.
To make a successful DevOps transition a real win, we must invest in the talent, capability, processes and tools required to operate the new way. I often describe DevOps as the extension of Dev. Without the right people, we can’t get anything done. And, while everyone agrees on the need for effective people management and effective governance, I question whether we can say the same about the type of people we are willing to commit to and invest in for the new culture.
The new culture is for people who are used to working in cross-functional teams where they are focused on solving customer problems. They understand the importance of communication, feedback and collaboration. They can learn how to get things done in the most effective way, and then share those learnings and best practices. They know how to work smart, not hard, to make the best decision for the customer.
They are comfortable working collaboratively with their peers to find the right solution. And they also know how to work individually to implement the solution when required. They understand what can be delivered and how it can be built. They know the technical skills to get things done, and the non-technical skills to make things work. They know how to design the business process so that it delivers maximum value for the customer and minimal risk.
DevOps people have a different mindset than a Dev team. In fact, they have a much more iterative mindset than a waterfall or a classic Dev team. Think about it. While a Dev team typically delivers a piece of code once and can start working on the next piece of code, the DevOps team works on multiple pieces of code concurrently. They can be delivering new functionality to customers, improving existing functionality or fixing a bug. It’s a continuous flow and the team as a whole delivers faster than when the pieces of code are delivered one at a time. DevOps is also a team sport and it is the role of each team member to help achieve the team’s goal. And the goal is never to deliver the complete solution and then say “it works, you’re done”. The goal is always to improve the solution continuously.
The DevOps culture is based on the agile development methodology. When implemented well, DevOps gives you many benefits:
- It’s easier to deliver value to the customer faster.
- There is much better collaboration across teams.
- The code can be delivered faster to the customer.
- It’s easier to release new functionality.
- It’s easier to scale your application and services when demand grows.
- It’s a lot of fun to work in a DevOps team. You can find new challenges every day and learn new things about your role.
DevOps is not the way to scale your product. It’s not the perfect answer to everything. It’s just a tool to give your team much better leverage when delivering features to the customers. In the end, what makes you a great software developer is not about how fast you can deliver something to the customer. It’s about your ability to understand and solve a new problem every day. And in my opinion, DevOps makes it easy for your team to be productive, even in a rapidly changing environment.