How Our DevOps Team Adopted Agile Practices
Agile and DevOps: Is There a Difference?
In today’s environment of rapidly-evolving business demands, agility has become essential for staying ahead of the competition. No wonder so many organizations have embraced agile methodology, originally as a software development manifesto and now as a broader secret of success. It’s a way of working that emphasizes cross-functional collaboration, customer feedback and rapid, iterative change over hierarchy and drawn-out processes.
Agile methodology is sometimes confused with DevOps, but the two concepts actually pertain to different things—and the agile approach can be used in DevOps, too.
Agile development closes communication gaps between customers and software developers with an iterative approach. On the other hand, DevOps practices bring developers and IT operations/infrastructure teams together to achieve smooth deployment.
Agile practices are rooted in the software world. Now, “agile” has become something of a business buzzword. Either way, the concept has practical applications for today’s speed of business.
What Are Agile Practices?
In 2001, a group of 17 programmers met in Utah’s Wasatch Mountains to discuss ways to improve upon the traditional “fixed” organizational structures and waterfall that companies used to develop software. They knew the dawning of e-business, e-commerce, and the Web demanded a different approach.
So, the team spent two days workshopping different and exciting ways to create and collaborate that would support more adaptable development approaches. Together, they created the Manifesto for Agile Software Development. Thus, the age of agile software development was born.
According to the Agile Alliance, agile practices mean “thinking through how you can understand what’s going on in an environment that you’re in today, identify what uncertainty you’re facing, and figure out how you can adapt to that as you go along.” Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it.
Rather than building and launching a “final” product, as in traditional models, agile methodology is an iterative approach in which a cross-functional team creates small, rapid releases of software in response to customer feedback and evolving requirements.
The development process, in turn, values:
Individuals and interactions over processes and tools
Working software over documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile practices now permeate entire organizations, supporting everything from sales and human resources to marketing, operations, and management. Unlike the traditional top-down management style, agile practices seek to inspire those doing the work to accelerate innovation and add genuine value to customers.
Why Leverage Agile Practices on a DevOps Team?
The accelerating speed of business affects Burwood’s business, too. So, our DevOps team members have adopted agile practices themselves to more quickly respond to clients’ changing needs.
Our work groups now follow more collaborative approaches to solving problems both internally and in collaboration with our customers. Our small, cross-functional teams are more visible and transparent than before, sparking increased value for our customers in a shorter amount of time.
The Burwood agile toolset incorporates technologies for task management, collaboration, and progress reporting:
Task Management: A central task board based in the Scrum or Kanban method (read more on that below) is critical to agile practice success. Tasks are often modified and changed on a daily basis, meaning an organized view of who is doing what is critical.
Collaboration: Fluctuating tasks can lead to fluctuating task ownership. Team members must have an easy way to quickly ask questions, share progress, or communication changes. This is especially critical for geographically dispersed teams, for whom online collaboration is the primary means of connecting.
Progress Reporting: The ideal agile toolset includes means for project leaders and organizational stakeholders to check in on progress. What obstacles have come up? What new features have been requested? How has our timeline fluctuated? These questions should be answered by tool reporting and analytics.
By combining agile practices and DevOps, we’ve enabled our teams to innovate rapidly, and solve customer problems more quickly than our competitors can.
So, how did we get here?
How Burwood Adopted Agile Practices
Every agile transformation is unique, but lessons learned in our own transformation could support yours, too. These were the key steps in our agile adoption:
Selecting Our Methodology: Scrum vs. Kanban
We began by determining which of two primary methodologies would best support our agile DevOps workflows: Scrum or Kanban. Scrum structures work in sprints, involving small tasks in response to change. Kanban visualizes workflow management with a structure that prevents workflow logjams by balancing tasks with team capacity.
We found the sweet spot, balancing the need to focus on specific deliverables with our responsiveness to urgent customer and internal needs. Typical scrum sprints of 2-4 weeks were too long for our needs, and Kanban didn’t provide the regular release and feedback cycle we wanted. So, we chose scrum with one-week sprints.
Educating Stakeholders and Assigning Key Roles
Next, we needed to ensure that everyone understood the impact of the traditional approach of “dropping everything” to work on a new urgent priority. To gain leadership and internal stakeholder buy-in for our new approach, we showed the value of scheduling days for development work to enable a more effective mix of flow and uninterrupted work time.
Once we’d won adoption, we identified key agile roles such as the Product Owner and Scrum Master. And, we set up a regular weekly cadence for the “four ceremonies of Scrum”: Sprint Planning, Daily Standup, Sprint Review and Demo, and Retrospective.
Setting Up Agile Tools and Processes
Lastly, we set up the tools to support the agile process, such as user stories, sprints, and agile boards, where work can be easily tracked while it flows from backlog through to completion and release.
As an operational team, we were already utilizing ServiceNow for IT service management (ITSM) and IT operations management (ITOM) work. So, we used ServiceNow’s Agile module to customize the deployment for our needs. Having all our work in one system meant that everyone across Burwood can create, track, and provide feedback on requests and user stories.
What Agile Practices Mean for Projects and Enterprise Goals
Today, agile practices enable us to be more responsive to changing requirements and priorities. Our consultants work more collaboratively, especially with our customers, with increased transparency and visibility to stakeholders.
Adopting agile practices can be transformative for your IT team, management processes, and enterprise as a whole. We love sharing how agile practices have helped teams become more responsive and adaptive. Please contact us to share your story and learn how implementing agile practices may help your team.