You’ve likely heard of DevOps and Agile and may be experimenting with them already. But are you using Agile to your greatest advantage as you work toward your DevOps transformation?
This week, we sat down with Damian Dingley, seasoned Agile coach and DevOps expert, to discuss the relationship between Agile and DevOps, and how you can use them together for the success of your organization. From our conversation, we’ve gathered a few takeaways on how you can improve your DevOps transformation with the help of Agile along the way.
Tip #1: Use Agile as Your DevOps Secret Weapon
Despite the many differences between Agile and DevOps, Dingley believes that Agile methodologies can be the secret to optimized DevOps success. After all, both are innately focused on efficient delivery of business value to the customer. Both are cultural and require a shift across the whole of an organization.
Although their methods and areas of emphasis may differ, Agile should not be seen as a distraction, but the key to achieving a significant DevOps advantage. In fact, DevOps was born out of the Agile infrastructure and Agile operations lean movement. If anything, Agile should help us cultivate a team, department, or organization for ideal DevOps adoption.
Tip #2: Make Sure Your Initiatives Support, Not Distract, Your Organization
Perhaps the greatest balancing act between Agile with DevOps comes from the constant push between new feature development while sustaining engineering for development teams running Agile scrum. In other words, how do we support DevOps initiatives (often continuous and unpredictable) without derailing the more structured routine of productive Agile teams?
Somehow, we need to find a way to work towards new initiatives without disrupting the whole of the organization. Though we usually discourage the creation of a specific DevOps team, creating a small DevOps Transformation team may be the answer. This team is often made up of experts and champions (from inside or outside the organization) who can guide, train, and initiate change alongside regular business operations.
When done correctly, a DevOps Transformation team can help initiate change and transition without causing a distraction or more hurdles to jump through along the way. The key is to make sure this team doesn’t become siloed and is eventually dissolved back into the organization.
Veracity Experts are trained to assist in this kind of transition, working alongside experts within organizations to adopt new practices, conduct training, and implement new tools. That way, the remainder of the business can stay focused on the business, and initiate positive change along the way.
Tip #3: Track Internal Progress
Agile is known for providing detailed metrics and tracking performance. But tracking doesn’t have to stop there. Dingley suggests using the same agile methodologies to track internal progress of DevOps initiatives.
Just as we write external Agile user stories to define our path and customer needs, your team could write internal stories that identify what internal aspects you’re trying to improve. This could include anything from optimization in engineering to architecture, or even support oriented activity.
Then, from the moment you begin your DevOps journey, begin tracking you progress. Key Performance Metrics such as Mean Time to Recover and Deploy Failure Rate give us a good idea of how quickly we can respond to unplanned issues, and how quickly we’re truly delivering value to the customer. Just as metrics help us improve our agile practices, we can employ the same focus to improve DevOps initiatives from day to day.
Tip #4: Use Release “Themes” to Define Your DevOps and Agile Release Cadences
Agile and DevOps practices tend to have different release cadences, so how can we help them work in sync? On the one hand, Agile typically requires a release at the end of each sprint, or a cadence to release when ready, while DevOps is largely centered on Continuous Delivery. To balance the two, Dingley suggests working with release “themes” rather than “release definitions” to stay on track.
By creating a “theme” of features or ideas you want to release to the market, you can work in continuous release pattern without sacrificing the structure of a focused sprint. Work with your project team to identify the theme of your next release, then map out a hierarchy of needs and tasks to be done. Although you may not be able to push the changes out at once, you can work to continuously push small pieces at a time, achieving a pattern of continuous delivery, and staying on track with the structured sprint.
DevOps transformations are complex initiatives that take time, effort, and refinement. While your execution may not be perfect from the outset, improving your Agile and DevOps practices requires that you simply begin. According to our expert Damian Dingley, this is the best thing you can do for your organization. Start somewhere, begin tracking, and use Agile to refine your processes along the way.