It’s a universally accepted truth: The more changes you make to code, the larger the chance it’s going to break.
Everyone knows bugs happen, and organizations that are equipped to quickly and expertly squash them are the ones that come out ahead. Increasingly, those teams that prove to be masters of their codebase and fierce problem solvers operate in organizations that have come to embrace good DevOps practices.
“Bugs” will inevitably come to delay a deployment or cause a crash, but they’re also equally as dangerous to the success of DevOps within an organization. Companies can experience setbacks and frustration when their DevOps practice develops cultural bugs like misplaced expectations and bad habits.
[ For lessons learned from your peers, see our comprehensive resource: DevOps: The IT Leader's Guide. ]
Is your organization’s DevOps culture experiencing breakdowns or lack of synergy? It might be time to check for these common bugs – and deploy some proven fixes:
Bug: Letting all success hinge on a shiny new tool
Good DevOps practices don’t come in a box. Companies that believe a new tool – whether it’s intended to automate processes or anything else that might make development easier – is the solution or missing piece to their DevOps success will fail. Tools have their right and proper place within DevOps, but that place can’t be at the center of an organization’s hopes for success. If an organization is constantly finding and applying a patchwork of new tools to fix problems, it’s time for a better solution.
Fix: Apply a holistic approach. DevOps is as much about culture and process as it is about tools. Solid DevOps practices rely on tools to support those processes and culture, not the other way around. Organizations need to take a pragmatic approach to adoption, only choosing the tools that make sense for the way its people work. Effective tools take into consideration how teams communicate, what motivates them and how they all collectively define success. Particularly effective tools also include the capability to collect and share metrics: There’s nothing wrong with friendly competition, and visibility into successes across teams can help everyone learn from one another.
[ See our related article, DevOps metrics: Are you measuring what matters? ]
Bug: Teams that once clicked are now breaking apart
Organizations that have deployed a DevOps strategy know how difficult it can be to get teams on the same page. But building a cross-functional team with common interests and motivations for different roles is critical, and companies that have done it right see enormous benefits. However, as time goes by, a DevOps culture may lose some of the shared goals and values that helped it become successful in the first place – often as a result of external factors. Mergers and acquisitions, new management and turnover are all changes that threaten the culture of continuous learning that make for a well-oiled DevOps practice.
Fix: Aim for a soft reset. If teams are losing sight of common goals and not working as well together, it’s time to take a look back at what made the culture click in the first place. First, it means taking a deep breath and realizing that outside factors can’t be controlled, but the ability to adapt to them can.
When this happens, taking inventory and asking some basic questions about the culture is necessary. Is success and reaching new milestones still being celebrated? Is progress still being measured and shared across teams? Is management still supporting the team’s efforts? Are culture, process, and tools still being regularly evaluated? If the answer is no to any of these questions, rebooting those relatively simple processes and habits will make a big difference.
Bug: The team grows frustrated with constraints
Once a good DevOps model is implemented, a team may begin to become fixated on organizational or regulatory constraints that prevent them from reaching the peaks of efficiency that they may hear about at conferences and in blogs. When this happens, focus shifts away from the positive improvements already made: People become annoyed and defeated at the inability to make further changes.
Fix: Don't seek perfection. Keep things in perspective: A healthy DevOps culture should recognize constraints, but not obsess over them. There will always be organizational roadblocks – regulatory, cultural, and otherwise – that keep teams from reaching absolute perfection in their delivery.
Organizations should always remember to continuously celebrate improvements. If a team is continuously delivering high-quality software to an upstream test environment in a consistent and measurable way, but the final deployment requires some level of manual intervention or approval, this is still likely a huge improvement over the previous model.
MORE ON DEVOPS
A successful approach to DevOps is a pragmatic one. A smaller organization almost certainly doesn’t need to deploy as often as Amazon, and instead should be focused on the specific needs of their business and how to meet them. Constraints and roadblocks will always exist and simply take time to overcome. Teams should embrace that notion, not reject it.
Just like code, no DevOps culture is without bugs or error from time to time. But, committing to diagnose and continuously troubleshoot problems will keep a company perennially successful in DevOps.
[ Want to create a more agile IT organization? Learn how and get the digital transformation Ebook: Teaching an elephant to dance. ]
Want more wisdom like this, IT leaders? Sign up for our weekly email newsletter.