Tech Journal The Unified Value of Agile and DevOps
By Vince Fabro / 14 Dec 2020 / Topics: Agile Application development DevOps Digital transformation
By Vince Fabro / 14 Dec 2020 / Topics: Agile Application development DevOps Digital transformation
Attempting to manage this complexity with a traditional waterfall approach, in which projects move along a linear and sequential path, incurs far too much risk. Cumbersome processes lead to long release cycles which slow the flow of customer features and results in loss of market share. Worse, delayed or missing feedback loops can lead to the development of features that fail to align with customer needs.
To address these challenges, modern businesses are shifting their approach. Gartner estimates as many as 85% of organizations now favor a product-centric delivery model, as promoted by both Agile and DevOps, as opposed to the traditional project-centric method.
But the correlation and, in some cases, intersection of Agile and DevOps can create some confusion. Are they complementary or competing? What are the differences? Where does each live within your organization? And which should you adopt first?
Agile, in its simplest form, provides a set of guidelines for helping teams maintain focus on the evolving needs of the customer throughout the development cycle. By iteratively refining functionality, soliciting feedback and enhancing working increments over time, Agile empowers organizations to build on progressive learnings — and work toward delivering a product that encompasses the end-to-end user journey.
There are many approaches, from Scrum and Kanban to Lean Software Development, which can be applied to Agile, but it's critical to recognize that simply adopting these practices in a templatized manner won't help your organization achieve its transformation goals. Likewise, limiting the adoption of Agile to development teams — or attempting to implement this approach without shifting the underlying culture — will inevitably lead to poor results and missed opportunities.
But even those that have effectively transformed with Agile often notice opportunities for further optimization throughout the development process. Teams may be able to rapidly develop and deliver applications, but the approach often reveals corresponding challenges with technical support, security and automation. While Agile is effective at highlighting these issues, it isn't intended to provide solutions — it doesn't include specific tactics for execution or measurement. Instead it assumes organizations will need to adopt other practices and methodologies in tandem.
This is why, according to the 14th Annual State of Agile Report, 90% of organizations that have implemented Agile feel DevOps transformation is important to their goals, with 76% reporting that they're currently undergoing or planning a DevOps initiative in the next year.
Sometimes referred to as Agile applied beyond the software team, DevOps evolved from the recognition that many of the same principles established to improve the software development process could also be applied to the entire product value stream. The goal of DevOps is to streamline and manage engineering processes from end-to-end, enabling IT teams to accelerate time to market with high quality and reliability.
Because DevOps encompasses the value stream holistically, it involves a wide range of skills across software development and IT operations, including everyone involved in taking a feature from a mere idea to production deployment. By unifying people, processes, technology and culture to create multidisciplinary teams, DevOps helps organizations improve communication and collaboration, reduce time-consuming handoffs between siloes, and enable greater focus on constant testing and delivery.
To accomplish these goals DevOps not only embraces many Lean and Agile principles, but also provides many of the complementary practices needed to resolve technical and process challenges related to rapid delivery. Bringing together all teams within the value stream with an emphasis on collaboration, automation and testing allows organizations to better support the fast, frequent, high-quality releases which Agile strives for.
The underlying values and cultural shifts associated with both Agile and DevOps offer a new way of thinking about, and addressing the challenges of, uncertainty and ongoing change. When applied in tandem, these approaches yield greater visibility and alignment, faster time to market, higher quality and ultimately greater value for the business.
According to research by Freeform Dynamics, those that effectively leverage Agile and DevOps together — not just among specific teams but also throughout their organizations — report up to 60% higher revenue and profit growth than their non-Agile and -DevOps counterparts. They're also more than twice as likely to grow their business at a rate of more than 20%.
This is because Agile and DevOps empower teams to maintain focus on their next-best product investment. They provide a framework for optimizing organizational structures, processes and tools to enable sustainable flow of value. These approaches also help to remove or integrate silos to support common goals, creating greater clarity in decision-making responsibilities and involvement in key domains.
Teams that successfully adopt both Agile and DevOps are able to deploy features to production faster, more frequently, with higher quality and less effort, and at a significantly lower cost.
Of the 1,279 IT leaders surveyed by Freeform Dynamics, just 18% had broadly implemented Agile and DevOps across their organizations. This indicates that while modern business leaders understand the need for DevOps and Agile adoption, the majority are missing out on the full benefits.
Those considering implementing DevOps and Agile together should begin with whichever approach addresses the most immediate business need. In many cases, building capabilities with one approach will lead to the other.
Whether starting with Agile or DevOps, here are a few key factors to consider:
Start small and simple.
Plan to apply the principles of Agile to implement change in an iterative and incremental way, treating the adoption journey like a Minimum Viable Product (MVP). This means empowering your teams to learn through iteration, adding complexity incrementally over time. Without this approach, you run the risk of re-creating something that operates and produces very similar results to existing systems without yielding much improvement in outcomes.
Not all challenges are created equal.
Throughout the process of transformation, organizations almost always discover multiple types of problems and opportunities for growth — simple, complicated, complex and chaotic. There are principles and practices that align to each type of challenge. The highest-performing organizations recognize the need to address all four types, and enable adaptive use of the best-suited principles and practices for each situation.
Look beyond leadership for solutions.
Many leaders attempt to define the solution to be implemented, which naturally creates resistance and significantly limits effectiveness. Greater success is found when leaders clearly define the problem and desired outcomes, along with boundaries and clear levels of decision delegation. The goal should be to create a space where those closest to the work are given the freedom to experiment and discover solutions.
Lead through culture.
Ongoing support and engagement from senior leadership is a key indicator of success in any transformation. As a leader within your organization, your role must be to drive and support the critical culture changes required to enable communication, collaboration, compassion and creativity. Throughout the transformation, you must consistently examine which elements of the current culture are impeding growth and identify steps to shift your words and actions to support behaviors that will better enable agility.
Don't set it and forget it.
Anticipate that the first iteration of any solution will be imperfect and plan for ongoing improvements accordingly. Even those solutions which are well-suited to your existing needs or circumstances will need to be adapted over time to deal with new uncertainties and ongoing changes. This need for continuous optimization applies to software products, processes, tools and larger transformative efforts.
Avoid falling back into old habits.
Both organizational inertia and fundamental human nature make it easy for businesses to get comfortable with the way things are, for better or worse. Even once you've made the commitment to change, in the long run, if the cultural mindset doesn't equally transform to embrace the new way of doing things, these changes are likely to fall away. To combat this issue, goals and successes should be consistently communicated and celebrated beyond immediate teams to the organization as a whole. Leverage ongoing performance metrics to ensure changes continue to demonstrate value — and reinforce these changes over time.
In the face of ongoing disruption, the ability to rapidly develop and deliver high-quality products is no longer a luxury but a necessity for future resilience. Agile and DevOps provide complementary approaches to streamline collaboration, improve feedback loops and deliver faster, more frequent releases.
While Agile helps to address uncertainty in the software development process, DevOps fully embraces this iterative and incremental approach, extending many of the same principles to the holistic product value stream. Together, they work hand in hand to help break down silos, enable faster feedback loops, shorten production cycles, and ultimately deliver greater value for customers and your business.