DevOps has been around for more than ten years and promised the world to organizations. While significant productivity and speed gains have been made by organizations of all sizes, the benefits of DevOps have not been widely realized when deployed on a large scale. What steps must be taken to make DevOps succeed?
Many organizations worked on local optimizations to help individuals and teams develop, test and deploy their code better and faster. For example, teams were created to manage the organization’s Devops tooling. This organization-specific approach also created faster and more organization-specific obstacles, which meant that DevOps did not always deliver the expected results.
What steps need to be taken to make DevOps work at scale and thereby realize the actual (promised) value for your organization? Time to go back to the drawing board again and rethink the choices.
7 steps towards DevOps success
In general, there are seven steps to take when implementing DevOps, based on the principles of Mary and Tom Poppendieck (2003):
1. Eliminate ‘waste’
Eliminate anything that doesn’t add value to the customer. Think of unnecessary transport and too long backlogs: overproduction. Always ask yourself whether it is really necessary to do it this way.
2. Build in quality
Instead of eliminating problems step by step, make sure that no problems can occur in the software. Avoid quality issues by combining developers’ skills and experience. Build in quality by using a test-driven development approach and step-by-step development.
3. Create knowledge
Documentation quickly becomes outdated. This makes it difficult to find an explanation. But a lot of knowledge is gained. It is important to ensure that this can happen and that there are resources to facilitate it. Creating and sharing knowledge is more important than documenting it.
4. Postpone obligation
This principle encourages teams to take responsibility by keeping their options open and continuously gathering information, rather than making decisions without the necessary data. Keep the options open to respond to changes during a project. Work step by step towards a good end result and don’t try to think out all the processes in advance.
5. Bring the software to production more often
We used to think that bringing software to production is scary because it has to be a stable factor. The trick is: the more often you go to production, the better and more stable it becomes and the fewer mistakes you make.
6. Respect your colleagues
This principle is perhaps most neglected, especially in the fast-paced world of software development. Empower each other to do the best work through good communication and tackle work-related issues as a team. In addition, respect each other’s knowledge and skills. You hired your staff because they know or can do better than you do. That’s important to remember.
7. Optimize the whole
It is important to look at the entire process. So don’t look at a small part of it, but at the effect of that part on the whole process. Has it gotten better or worse because of the changes in this section? DevOps is not a one-off process, but something that needs to be continuously adjusted.
Does your organization also want to get started with DevOps? Do you want more information or do you have a question that we can help your organization with? View our page and contact us.