Traditionally, organizations doing software development have adopted an approach of “divide and conquer.” Developers, QA testers, IT administrators, managers, operations engineers—all of these people had their role to play and focused on doing that particular thing well. This approach has often gone hand-in-hand with the waterfall software development model, in which development is separated into a series of discrete, sequential stages.
Today, however, many businesses realize that this concept of specialized labor comes with its own considerable set of disadvantages. For one, the “divide and conquer” approach tends to create silos that disconnect organizational units from each other. As a result, more and more companies are turning to DevOps as a means of producing active collaboration across traditional business divisions.
What Is a Silo?
In the world of business, a “silo” is any system within an organization that is closed off to other systems. Silos tend to construct themselves inadvertently, as different managers take on various priorities and responsibilities within the organization. Over time, departments gradually focus more and more inward and pay less attention to what everyone else is doing.
Although employees may not intend to create these artificial barriers, they nevertheless have the genuine potential to hamper collaboration within your business. When there are too many silos in an organization, information cannot flow freely, and communication breaks down.
For example, product managers have not had a simple way to know what is included in a software build and conversely developers haven’t known what product managers have planned for future builds. In turn, situations like this lead to more misunderstandings, problems with coordination and unproductive meetings and email chains. What’s more, the members of one group feel less responsible for issues in other parts of the organization because they don’t feel that it’s “their” problem to solve.
How DevOps Breaks Down Silos
On the other hand, DevOps culture is anti-silo by its very nature, while still retaining the subject matter experts that are so crucial to the software development process. DevOps requires developers, QA testers, operations engineers, and product managers to work closely together from the very beginning, which means that any existing silos will have to disappear quickly.
Organizations often start breaking down silos and migrating to DevOps by removing the barriers between development and testing. According to the waterfall model, testing should occur only after the software’s development is finished. However, this can present serious disadvantages when a major issue with the software is identified during testing, requiring developers to go back and make drastic changes. By requiring developers and testers to cooperate earlier in the process more closely, teams can incorporate feedback sooner, thereby making themselves and their application more agile.
In particular, one of the key elements of DevOps is the automation of processes and workflows, wherever possible utilizing integrated tools and processes. By increasing the use of automation, colleagues can share information more efficiently and make other people’s jobs easier at the same time, without requiring a series of conference calls to get everyone on the same page.
Final Thoughts
Breaking down silos has a variety of advantages for software development teams: they’ll deploy applications faster with fewer errors, react more quickly to external changes and be more efficient and productive. If your organization is struggling with silos, consider migrating to DevOps to see how you can become more agile and produce better-quality software.
Published first by Small Footprint.