Innovation. Speed. Quality. Value. Today’s tech savvy customers demand these from the companies they support. If your organization can’t deliver on those expectations, consumers are just a single mouse click away from another company that can fill their order in a millisecond. Jeff Bezos, founder and CEO of Amazon, put it this way; “Our customers are loyal to us right up until the second somebody offers them a better service.” When scaling Agile in your transforming organization, you need to be fully confident in the repeatable robustitude* of your delivery pipeline. The principles surrounding DevOps (people, process and technology), play a key role in that journey, and front and center is automation around testing, continuous integration, and continuous delivery.
In traditional organizations that have not embraced digital transformation, silos between Development and Operations are commonplace. It is practically built into the pipeline to eliminate effective communication between these two groups. In this world, it’s common for completed software solutions to be tossed from the IT Dev silo into the Operations silo--and in many cases, it’s the first time the Ops team will have seen the application. Each silo operates in a different technical environment, so immediately the pipeline becomes clogged with back-and-forth discussions about resolving gaps exposed with this handoff. And of course, the test and deployment model is typically manual, because you can’t really automate much between silos. The result is a time-consuming, process-heavy deployment pipeline that again, kills any hope of robustitude.
Today we live in a customer-first environment, and the companies that will survive are steering madly towards digital transformation to get the edge on their traditionally-minded competitors by focusing on fast, high-quality delivery. The old-school approach of long-range, detailed planning, committee-run phase-gate sessions for project decision points, and extensive manual processes for testing and deployment activities simply result in ridiculously long delivery cycles.
Under this mindset, the mere notion of a continuous, integrated flow of work coming into the system and delivering often seems like madness--but then, this vision of “progress” only ends up in overly-structured, time-consuming processes that create gates between Development and Operations rather than creating the connections they need. It quickly becomes completely obvious how the old organizational mindset removes any chance for efficiency between these two critical contributors, and shafts the customer in the end by delivering poorer quality products, later. There’s no robustitude here. In fact, this is working directly against the idea of robustitude.
Organizations scaling Agile look to solve those issues by investing in advances in technology around test automation and tools that enable the Continuous Integration/Continuous Delivery process. The legacy practice of a manual approach to testing, software integration, and deployment across multiple environments is not sustainable. It’s slow. It’s error prone. It’s not repeatable. It’s not scalable. And it’s definitely not the model to embrace when the goal is to deploy high-quality software quickly to consumers resulting in a competitive edge.
As mentioned above, DevOps is more than technology, but automation is fundamental to its success and investing in the right tools to achieve repeatable robustitude is crucial to support:
- Frequent code check-ins to a robust Source Control Management (SCM) system
- Continuous integration to ensure new code integrates seamlessly with the existing code base and provides feedback in minutes, not hours or days
- Automating deployments across environments (Dev, QA, Staging, etc.), each supporting different levels of testing, to gain more confidence in the code base as it nears release
Creating a DevOps team focused on pipeline robustitude can seem daunting: there are a lot of different technologies to choose from. When you finally get your Goldilocks combination of apps integrated and configured juuuust right, you don’t want to do a lot of heavy lifting to get that to interoperate with your ALM platform. That’s why you need to choose a platform with a strong, flexible integration strategy. For example, many of our customers love the combination of GitHub and Jenkins. AgileCraft is easily configured to allow our customers to continue to use this power duo via platform connectors, so teams can continue happily coding away and integrating continuously without any disruption to their normal way of working while at the same time providing visibility to application changes and build status in AgileCraft.
The astonishing advances of technology in just the last 10 years have permanently altered consumer behavior. Those same advances have given every company an unparalleled chance to leverage that technology, and the power to disrupt markets that were previously thought to be solidly unchanging. Companies that are able to shift to lightweight, forward-thinking, visionary organizations driven by innovation will not only survive, but flourish. When transformation begins, DevOps needs to have a front row seat and play a major part in the journey to streamline operations, deliver value faster, become more competitive and become a disrupter instead of being disrupted. They’re focused on delivering value quickly. Processes are streamlined. Decisions are made swiftly. And none of this is possible without a deep, mutual capacity for understanding, and a shared ability to automate, integrate, and cooperate within a DevOps environment.
*Robustitude: [noun] The ability to withstand a crazy shift in mindset without falling apart, flourishing on the change and continually improving on the baseline.