This blog we discusses DevOps and Agile at great length. DevOps is a methodology for technology delivery while Agile is a methodology for project management. The two methodologies pair together quite well to increase the flow of value to the market.
The delivery methods are also often intertwined leading to confusing misconceptions if one isn't careful in their adoption journey. Let's dive in and discuss the most common misconception about DevOps and Agile!
What Are the Most Common Misconceptions About Agile and DevOps?
There are several common misconceptions that surface quickly when businesses are evaluating DevOps and Agile either independently or together. It is not entirely unreasonable to assume that anyone in the software development space, technical or non-technical, could quickly make the jump from hearing about how awesome DevOps and Agile are into these misconceptions.
Below are a few of those misconceptions.
Common Misconception #1
DevOps and Agile can fill gaps in my poorly running delivery process
DevOps and Agile are commonly viewed as a tool to fill a gap in software development delivery activities. If delivery cycles are variable in length, inconsistent, and filled with twists and turns; companies will look for some quick outs to patch up their delivery to ship something.
The problem with this approach is low quality.
While borrowing from DevOps and Agile might work in the short term, it does not work over the long term. Companies or projects looking to step up their delivery processes need to look at things holistically and make some choices about how they want to engage in the market with their customers.
Common Misconception #2
DevOps and/or Agile can be purchased off the shelf and implemented
DevOps and/or Agile cannot be purchased. There is no singular tool set, workbook, or process that can be purchased and put in place to shortcut the adoption of these methodologies. Both of these methodologies are a fundamental transformation of delivery and need to be adopted fully in order to be effective.
This transformation is also cross-cutting throughout all technical and non-technical roles. A sales team cannot assume that groups delivering technology are delivering in a different way than they are selling.
Account management cannot build plans with customers on their future technology state and expect that planning to look different than the overall delivery workflows. Technology groups cannot adopt a different way of delivering if it is at odds with business expectations.
Common Misconception #3
DevOps can be implemented without Agile
Now, that statement is a little clickbaity. You can indeed implement DevOps inside of other project management frameworks.
I would make the argument that you cannot fully realize the benefits of delivery transformation unless you adopt both DevOps and Agile. DevOps practices do not lend themselves well to Waterfall, but it can be done. You really lose out on all of the continuous improvement facets of DevOps which really means you are adopting some automation and calling it "DevOps".
Common Misconception #4
When DevOps and Agile are combined, you can foregoe planning
Software development always needs a great deal of planning. DevOps and agile do not let you get away without planning.
Agile in this case is formal agile delivery which I would argue consists of more planning, market research, feedback, and pivots than any other project management framework.
DevOps focuses on continuous improvement and automation which need a significant amount of planning to ensure the right areas of focus are being worked on.
The truth is this; development teams, operations teams, infrastructure teams, quality assurance teams, account management teams, and members of any other team benefit from having a good plan that is backed up by principles, culture, and a centralized philosophy.
Common Misconception #5
DevOps and Agile are only for small teams
Teams of all sizes can benefit from these delivery methodologies. Software delivery is a complex problem that requires good communication, tools, talent, and principles to drive consistency and quality.
While there are an infinite number of methods that could be used to deliver technology, Agile and DevOps are formalized and prescriptive platforms to solve these complex challenges.
By adopting DevOps and Agile together and bringing a core set of delivery principles to an organization's approach to delivering technology, one can actually achieve a much larger scale of delivery more quickly.
All of your teams are on the same page, utilizing the same tools, communicating about the same processes, and driving agile development and operations together as a unified front.
Common Misconception #6
DevOps and Agile are focused on controlling software development
I would argue that this is the farthest idea from the truth. DevOps and Agile aim to democratize the delivery process across an organization's many different value streams.
One of the core principles of the Scaled Agile Framework for Enterprises is to get decision-making as close to the work being performed as possible. This means that teams must work together on their high-level planning initiatives to get stories in the hands of implementers leaving them the freedom to deliver those stories any way they want to.
This does not mean that the business does not have a say in what is getting delivered, but how it is delivered is determined by the individuals that know best.
Early on in the adoption of these methodologies, it is not uncommon for a pendulum of decisions making to swing back and forth between IT and the business as everyone tries to figure out this new dynamic. Everyone's goal should be to find a new center where everyone is heard and all concerns, no matter their size, are given room to breathe in a conversation about delivery.
How Should I View DevOps and Agile?
By fully adopting Agile and DevOps, a lot of doors are opened up for delivery.
- Flow: Instead of moving from task to task, or project to project, work can be put onto a conveyor belt of delivery. Agile and DevOps offer more of an assembly line-type flow to technology delivery.
- Quality: Context switching impacts quality. By offering more stability in work coming down the pipeline, engineers in various disciplines can focus on quality first.
- Flexibility: Companies need to meet the market where it is at. Sometimes this means quickly pivoting from products that are not working to products that do well in the market.
- Release faster and work smarter: By reducing the size and scope of deliverables, the team can focus on shipping more often.
- Simplifies Software Development and Operations Focus: Day-to-day operations can seem like a burden that interrupts delivery frequently. By adopting DevOps, operations are a normal part of everyday life.
- Responsibility: Agile helps individual contributors feel like they are part of something bigger by influencing the overall planning and delivery processes. They are not just taking orders from the tower, they are actively delivering value against their vision of great outcomes.
- Consistency: Consistency brings predictability and reliability to products and planning
- Measurement: Promote data-driven decision-making into your day-to-day workflows through predictability and consistency in the flow of work.
- Security: Security is no longer a secondary burdensome process that detracts from delivering work to the market. Security is built right into DevOps through automated delivery pipelines.
Any of these benefits could be achieved on their own in their own ways. By fully embracing Agile and DevOps, each of these ideals comes with the methodology. There is no need to solve an already-solved problem.
Conclusion
When first hearing about DevOps and Agile, it is easy to build some initial blinders and misconceptions about what they really mean when utilized as a symbiotic relationship. It takes a mindset change, and a full perspective shift to realize the benefits of DevOps and Agile together.
I would encourage anyone out there to go get some training, watch some YouTube videos, and read as much as you can about the methodologies and what they have to offer. DevOps and Agile together can really open up a lot of new benefits for your business and your customers.