As you transition towards CloudOps, DevOps, DevSecOps, and general continual iteration and continuous improvement type IT management strategies, there are a number of common mistakes you’ll want to avoid.
DevOps at all costs is not going to provide any additional business value. Nor is it likely to be great for your IT team morale. Make sure you keep in mind these three common DevOps pitfalls as you evangelize and adopt DevOps practices throughout your IT department or larger organization.
While you are able to release software and IT products faster when using DevOps methodology, it doesn’t boil down to speedy development OR operations all the time. Rather, it’s about making small, key improvements; focus on individual features or problems one at a time for each sprint.
Each area of your pipeline, from developers to testers to operations teams to QA are all working simultaneously to achieve your prioritized features and releases. This is what leads to efficient operations, not just sprinting ahead in a constant crunch for the sake of moving fast. Thinking that DevOps is about speed above all else is a classic pitfall and one that is likely to lead to more unstable releases, rickety codebases, and poorly optimized infrastructure.
While it seems easy to simply hire a new DevOps team that is well versed in the process at hand and have them work alongside your existing development and operations teams, all this really accomplishes is another silo within your IT operations.
DevOps should be about breaking down those siloes and fostering collaboration between all IT team members throughout the application support stage, from downstack infrastructure admins through security and QA. Everyone who has a hand in your application running properly should be involved.
That means a cultural change throughout your entire organization. Keep the message fairly simple to start: we’re about automation, stability, and identifying opportunities for improvement at any stage and any point in time. When your entire crew has better understanding of how their daily goals can affect someone down the pipeline, they are better able to deduce opportunities to improve and bring them to the attention of the relevant team for the next sprint.
Creating siloes also cripples your application when it comes time to go to production. Without involving the security teams, you may wind up with huge vulnerabilities or compliance issues that delay shipping. This is the fundamental driver of DevSecOps – wrapping security into the continuous improvement process from the beginning. Without involving key stakeholders from the monitoring team, they may lack the tools or preparation they need to maintain availability.
DevOps is intended to introduce new features and infrastructure capabilities more quickly, so your team may be tempted to begin working on many new branches of your software. This can be a mistake as your production application can be diluted or broken easily. The “trunk” or primary application version should be known to be stable and able to be redeployed on-demand.
Experts recommend merging new software forks into the main trunk at least once per day to reach maximum performance. This also helps focus your team on the most important features and changes rather than managing a dozen random additions. It also helps you quickly fix your build if needed.
DevOps is a cultural shift that should not be taken lightly — so one final pitfall could be forcing the issue and refusing to adjust your prescribed DevOps pillars. Be ready for some pushback from your teams and listen to their concerns and feedback. Everyone needs to be on the same page for DevOps to be successful. Be patient, take key benchmarks, and continually improve your DevOps practices themselves and you’ll soon reap the rewards.