Enter DevOps and the inherent silo-busting nature of a truly optimized Agile development team.
How it used to be – The Silo Analogy
In the past (or the present, in far too many companies,) each member of a development team had their own special role and expertise.
There was the Java guy, and the UX girl, and never the twain shall meet.
Each department had teams that were set up this way as well: a development team, a QA team, a customer service team, a tech ops team… each with their own collection of resident subject matter or tool experts.
This worked really well for organizational purposes because there was a place for everything and everything in its place. Much like a farmer building separate silos for each type of grain he harvests, not wanting to intermix two kinds of grains up front because it would cause further hassles down the road.
But imagine, for a moment, what that farmer would do if his customers could call him up and demand that his wheat contain more corn-like qualities. Or let him know that it would be much more convenient for them if his barley came pre-mixed with hops (since they’re making beer, after all) and ordering the two grains separately was a hassle.
Imagine these calls came in several times a day, and began taking up hours of the farmer’s time. Imagine production grinding to a halt and grain spoiling in the silos…
The analogy falls apart
You see, eventually, the analogy falls apart: the old way of looking at product development, project management, and a host of other processes simply doesn’t compute in today’s development environment.
For years now Agile development methodologies have helped bring modern product development into the 21st century by offering development teams ways to introduce new and better versions of the product through fast development cycles, iteration, and continual improvement.
DevOps has gone a step further by attacking some of the inherent bottlenecks that tend to creep into development even in an Agile environment.
In both these cases, the adoption of these philosophies and practices should be doing away with the old fashioned silo mentality once and for all. And yet, the silos still persist in one form or another in most of the organizations currently developing software and other projects in seemingly Agile ways.
The analogy isn’t even logical any more:
• Organizations are no longer able to focus all time and effort on one specific project or goal in exclusion of all else.
• Development team members can no longer create products with no advanced thought given to testing or customer feedback. The feedback comes too fast and too loud to be ignored.
• Organizations can’t afford to invest in development that’s going to hit a brick wall repeatedly throughout the process because different teams – or team members – are unable or unwilling to keep up with the release schedule. There must be workarounds available at every stage.
It’s not an agricultural world any more.
It’s a technological world.
How it should be – The Chain Analogy
Modern development teams – and, really, entire organizations – need to function in chains rather than silos.
If you picture a chain, it’s made up of many links. As we know, the chain is only as strong as its weakest link, so it makes sense to ensure that every link in your chain – every individual team member, and, more broadly, every team, department, or business unit – is as strong as it can be.
In an optimized Agile environment, this requires specialized training to begin with, and potentially coaching to provide longer-term benefit.
Now, a chain made up of strong individual links can be powerful, and can last a long time. But, as a single chain, it’s still not as strong as it can be.
To take on truly grueling tasks – such as towing a heavy load, or putting together a particularly complex software project – you’d be smart to loop the chain back on itself several times to multiply its strength and resilience. When you do so, individual links are placed in close contact with other links from elsewhere on the chain. Links they would otherwise have never had the opportunity to touch.
While these links still need to work hard to pull their load, the individual strain is lessened and the overall level and quality of work the entire chain can accomplish is greater.
In product management, this is the role that DevOps fills: seeking to “place links together that may otherwise never get the opportunity to touch.” Doing so strengthens the entire development process, speeds production, lessens errors and bottlenecks, and ends up delivering a higher-quality product to the end user faster.
In the modern Agile development environment, integrated tools offer the best opportunity for teams to develop this chain mentality and eliminate the old silos from their lives. For example, Atlassian offers a suite of tools that can work together seamlessly to enhance Agile work flows through DevOps processes.
If you’d like to tear down your silos and install the chain instead, we can help you, from the initial training and coaching to the installation and integration of Atlassian’s DevOps-friendly tools .