One of the most common barriers to Agile transformation success is the wall between the technical teams that develop software and the business and operations stakeholders who are responsible for its ongoing support. Advancements in the Agile methodology and culture over the last decade exposed the need for a more holistic approach to the end-to-end software development life cycle. Enter the DevOps (and later BizDevOps) movement.
Many say DevOps is the offspring of Agile software development – born from the need to keep up with the demand for increased software delivery speeds and an understanding of the value that an Agile framework achieved by employing collaboration in product development.
The tech community has used a variety of terms to describe the essence of DevOps – it is a culture, a movement, a set of practices, and the act of using tools (software) to automate and improve imperfect methods of managing complex systems. At its core, DevOps aims at unifying software development and software operations methodologies. It asks the Operations teams to be part of the Agile development lifecycle.
DevOps is reinforced by the practices it borrows from Agile and Lean principles, with an added focus on service and quality. By designing, building, testing, deploying, managing, and operating applications and systems faster and more reliably, DevOps practitioners create greater value for customers. This then translates into a profitable competitive advantage for them – and fosters a manageable delivery schedule that places people over product.
The three primary characteristic of the DevOps movement are:
DevOps also promotes frequent communication and ongoing, real-time collaboration between traditionally separate workflows of developers and IT operations teams. It replaces the traditionally-siloed development and IT operations teams with multidisciplinary teams, helping to further streamline the movement of software throughout the build, validate, deploy and delivery stages of development.
Successful organizations understand that development and operations teams must work together if they expect to continuously deliver high-quality, supportable technology solutions that satisfy their customers. When organizations have siloed teams, each time a software program is “thrown over the wall” to an independent team it adds bottlenecks and risks that threaten the success of the release.
DevOps addresses the challenges of traditional development approaches by establishing ways for business and IT teams to be collaborative – bridging the gaps between disparate tool sets. In a recent report, Gartner refers to these collections of siloed development tool ecosystems as “tool islands.” If CIOs want to achieve continuous delivery of high-quality software, they must build bridges between these islands so that tools and teams can work together seamlessly.
On average, high performing DevOps teams have been able to:
Adopting a DevOps model of software development relies on selecting the right technology to manage and execute different phases of development and delivery. This technology stack is often referred to as the DevOps toolchain, which distinguishes different tools used at different stages of development, testing, and business processes. These stages include the following:
These stages are commonly represented in the form of the DevOps Loop:
Why DevOps Alone is Not Enough
Many organizations assume that if you can achieve speed through Agile and DevOps, then you’ll be successful in driving business value. However, the reality is that as a product passes through each stage of the DevOps toolchain, gaps in alignment can become chasms within value stream mapping. Without a deeper focus on the aligning these business-IT value gaps, a product will continue to drift further and further from its intended business goals as it moves through different stages of the development lifecycle.
Therefore, there is a need for organizations to expand their view of the DevOps delivery process from tactical mechanics to strategic business integration. DevOps alone will not lead to better business outcomes. This can only be achieved by integrating business alignment into the overall process in a holistic BizDevOps cycle.
BizDevOps integrates business alignment and market responsiveness directly into the development process to accelerate product success and reduce scope failure. While companies have always tried to align business goals with development goals, new technology is finally enabling them to automate this process.
By integrating business stakeholders into the value stream, organizations can keep the rest of the DevOps cycle tightly aligned with business objectives in an automated and accountable manner. When done well, it allows companies to execute on a vision faster and more efficiently.
Using this model, the full BizDevOps toolchain can now be traced back to business level priorities, ensuring that the technical aspects of an organization’s products and services are designed to meet customers’ needs in an Agile, compliant, and cost-efficient way.
Simply put, BizDevOps sets the guardrails so that, as technologists, you are actually following the original vision of an Agile framework – involving the customer early and often in your approach and creating greater business value for your organization.