Businesses turn to DevOps to streamline their product life cycles, reduce barriers to releases, and get to market faster. One phrase you’ll hear often is that "DevOps breaks down silos." Silos in organizations happen at several levels: functional teams, business units, between the IT and the business. The most commonly cited silos that DevOps addresses are the "Development" and "Operations" groups — hence, "Dev/Ops."
How Silos Develop Over Time
In a startup or new product team, it’s often all hands on deck. Everyone is responsible for ensuring a quality product ships on time, or they risk business failure. As the company grows, and the product features and management become more complex, more specialized roles are added. These specialized roles have deeper expertise in developing for specific platforms, keeping the network up, testing the application, providing customer service, or running the business. This influx of expertise is necessary to scale the business, but the problems start to creep in when each team focuses solely on their tasks, hoards information from other groups, or when teams compete for resources. The teams lose sight of the big picture: they’re all responsible for ensuring the product is a success.
Development teams may stop testing their code before handing it off because they expect the QA team to catch all of the bugs for them. The operations team may be aware of specific features or dependencies that make supporting the software more difficult, but the two teams don’t talk to each other.
Breaking Down Silos
DevOps promises to get the development and operations teams working together as a single team. By including the operations team earlier in the development process, developers can create software that is easier to support. Operations will understand what needs the product is designed to address, the prioritization of features, and the trade-offs made to ship specific builds.
It’s More than Breaking Down Silos
Breaking down silos and creating a collaborative culture is a great objective, but DevOps is much more than that.
First, avoid creating a new "DevOps Team" silo. Development and Operations may be collaborating on a project that doesn’t benefit the business. Ensuring communication between the business and the DevOps teams will keep everyone focused on the business outcomes.
Second, DevOps is always striving to evolve beyond the current stage. Document, evaluate, and streamline existing processes before automating them to ensure you’re automating "good" processes. Automating repetitive tasks and workflows allows teams to focus on more critical tasks. Once you’ve eliminated bottlenecks in one phase of the value stream, look for additional process areas to improve.
Third: disparate tools can introduce delays when team members need to "swivel chair" and re-enter tasks into a new system, sometimes introducing mistakes. Evaluate, select, and use standard tools that work across teams to improve cohesion and productivity.
Finally, get help! DevOps experts like ReleaseTEAM have years of experience helping customers map their value streams, improve processes, select the right tools, and implement culture change. Engaging outside expertise early-on can help to prevent costly delays.