Why rethinking your software culture can be a competitive advantage
Published: Dec 3, 2018
Author: Danny Johnson
While the waterfall method of software project delivery (where progress flows in one direction) is still alive and well in enterprises, you wouldn’t know it based on recent media coverage. Sometimes it seems like every tech blog, Twitter feed, and conference is all about the superiority of a DevOps methodology. Of course, there’s a good reason for that. When done correctly, DevOps can give IT teams the ability to deliver higher quality projects faster and more efficiently.
The caveat here is “when done correctly.” Too many IT leaders try to apply DevOps tactics to their teams and projects without first adopting the culture needed to support this method of work. Challenges IT professionals often face when adopting a DevOps model include a limited knowledge of DevOps, a lack of support among executives, an inability to agree on goals, and a lack of budget for new tools and sufficient training.
You can’t just flip a switch to put DevOps into place. Rather, it’s something that must be incorporated throughout every layer of the organization and along every point of the project in order to work effectively.
At its core, DevOps isn’t a role, process, or tool. DevOps is a culture based on developing projects holistically and collaboratively throughout the entire lifecycle. While roles, processes, and tools can be put in place to facilitate DevOps, if you don’t first embrace a DevOps culture it can cause confusion, chaos, and anger—hardly the ingredients for better software or significant IT initiatives.
There are three elements required for a successful DevOps culture:
- Removal of silos: In a traditional waterfall method, development and operations are two different departments with distinct goals and metrics. Developers are judged on how quickly they can produce new software, while operations are focused on deployment and maintenance. This tension between speed and stability can often lead to miscommunication or competing priorities. In a DevOps culture, it is essential to remove the silos between development and operations to ensure they are working with the same goal in mind. By using DevOps to make development and operations more interconnected and ongoing, you can deliver both speed and stability, thereby improving productivity.
- Experimentation: In an organization used to developing projects under a waterfall process, failure is taboo. After all, if you’re going to do one big release, everything had better be perfect. However, with DevOps your teams will be expected to develop, test, and release incrementally and continuously. That means not every idea will be a winner. Teams need to feel free to think big and take chances, knowing they won’t be punished for failure. Instead, failure needs to be reframed in the organization as something to learn from and iterate on.
- Collaboration: While not every project requires a DevOps approach, a DevOps organizational mindset can be valuable even when using waterfall techniques. While some organizations try to get by with “DevOps teams”, this just creates another silo of DevOps versus waterfall. Instead, empathy and shared success should be a part of every project your organization works on. This doesn’t just mean getting developers and operations on the same page. It means bringing everyone from the CEO to managers across several departments (like security, legal, finance, and marketing) to the table to make sure all stakeholder concerns are considered.
Instead of trying to flip a DevOps switch, IT leaders should introduce a DevOps culture into the organization. First, bring all your stakeholders to the table to determine the metrics that truly matter to the organization so both management and their teams can keep their eye on the primary objective, instead of just day-to-day concerns. Next, spend some time in the trenches with your teams to understand how they work, their pain points, and how you can use DevOps to improve their collaboration with others. Finally, you can then begin to implement DevOps tools and processes incrementally where they can provide the most value.
Remember: In a DevOps development process, failure is expected and welcomed. Not everything will go smoothly in your DevOps rollout. The key is to learn from your failures and successes so you can adapt and scale your efforts.
To learn more about including Network teams in your DevOps strategy, listen to our on-demand webinar: How to transform your network from no and slow to yes and go.
Danny Johnson, a 20+ year veteran in the technology industry, is a seasoned executive possessing experience in software development, engineering, sales, consulting, product development, and marketing. Danny has started and launched innovative products and solutions within multi-billion dollar markets and is currently the head of product marketing for Verizon where he shares responsibility for the profitable growth of Verizon’s Strategic Network Portfolio.