One of the most ubiquitous words in the development and DevOps vocabularies is "Agile." It is that shining, valued, and sometimes elusive goal that all enterprises strive for.
The word speaks for itself. When you hear the word "Agile" you think of streamlining processes and empowering people so you can deliver faster, improve quality, and react to changes.
But how do you get there? How does your organization become truly Agile? With these questions in mind, DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile.
This is an opportunity to gain guidance from some of the world's leading DevOps experts on what Agile truly means, and how to make Agile a reality in your organization, and ultimately gain the benefits Agile has to offer.
This list of "Essential Steps to Become Agile" will be posted in 5 parts over the next 2 weeks. Part 1 covers the big picture.
COMMIT ACROSS THE ENTIRE SDLC
The most effective way to increase agility is to identify where bottlenecks exist in your application delivery lifecycle today, then move to address those issues, it's that simple. To do this, you have to ensure that goals are closely aligned between the technology organization and the product organization, starting with definition of requirements. This effort can't be isolated within dev; you have to get Agile across the entire Software Development Life Cycle (SDLC), whether related to testing, continuous delivery or management of applications. For instance, if you have bottlenecks on the production side, you need to ensure that the relevant information cycles back to the dev team in a smooth and consistent fashion.
VP of DevOps Solution Marketing and Management, CA Technologies
Any company doing an Agile-DevOps-CI/CD initiative needs to deal with the entire application delivery pipeline, not just Development. They need to address all the automation and manual tasks in the release process for every single environment from Development through Production. "It's not done until it's in Production" should be the mantra for everyone on the delivery team.
VP of Customer Success, XebiaLabs
Becoming Agile is something that requires a cross-functional commitment across design, development, QA/Testing and operations. These teams need to come together and define both the processes and the toolsets that will be required in order to embrace and benefit from an Agile methodology within their organization.
VP of Products, Test & Development, SmartBear
Consider DevOps as a full end-to-end process from the legacy backend to the digital front end to mitigate inherent risks of "two-speed" IT.
Product Marketing Director, Workload Automation, Automic Software
INVOLVE THE ENTIRE ORGANIZATION
Keeping up with today's speed of digital business requires that developers pursue a more continuous delivery approach. Completing the journey to continuous delivery is challenging but necessary. Large global IT organizations require commitment from every part of the business to implement talent, technology and culture appropriate Agile processes while maintaining a global principle of accelerating delivery and still maintaining value. The organization must be willing to reinvent and invest in new complementary solutions while still maintaining, improving and modernizing existing services. The best approaches to achieving a faster pace of innovation and value creation are ones that take a holistic view of the development chain and include all stakeholders in the transformation. What is key to remember is that everyone must participate but it is not "one size fits all."
VP, Performance and Analytics R&D, BMC Software
When people say the word Agile, they often think of a software delivery model designed to support frequent changes with greater speed and efficiency. But Agile development alone can't make a business more successful, because success in today's dynamic, competitive markets requires agility across all dimensions of your business — not just software development. After all, in an increasingly digital world, market change is continuous, pervasive, and can occur with once-unthinkable speed and magnitude. So product development, finance, marketing, partnerships, HR, and even facilities must all be capable of responding individually and collectively to those changes. Unfortunately, there's no single thing you can do to endow your business with this kind of multi-dimensional agility. Agility isn't something you buy or do — it's something the entire organization must become. Realizing this and having the right leadership in place across the entire enterprise, willing to make major (and sometimes uncomfortable) changes, are the biggest keys to becoming Agile.
GO ALL IN
Actually, Agile is not for everyone, but if your organization has decided to go Agile, then it has to be all in. Otherwise you get the weakest-link-in-the-chain effect. There may be some aspects of Agile that you can choose from, but the ones you choose have to be adhered to 100 percent of the time. And in order to do that, people need training, not just on the technical aspects of Agile, but the cultural ones as well, like what are the benefits, such as shorter release cycles, better products, more revenue, increased stock price, longer vacations, etc.
Technology Evangelist, Savvius
DOUBLE LOOP LEARNING
The top way to become Agile is to question our assumptions in the face of new challenges. This is referred to as double-loop learning. In single loop learning, we would ask "How can we improve?" when faced with a challenge. But this approach could set us up for failure if our assumptions are wrong or we have incorrect mental models. In double loop learning, we ask "Why do we think our current approach should work?" or "What do we assume is true and can we confirm it?" This will help us seek out new mental models to deal with the new challenges we face.
Agile Coach, Sonatype
Agile is about embracing change. You must evolve like a biological organism — let your strengths survive and your weaknesses die. Once you master the art of embracing change, you'll sit back and watch how people and processes begin to unfold into a harmony of efficiency and success.
Director of Product Marketing, AppDynamics
An important piece of the puzzle is tool chain and process traceability to measure your value streams from plan-to-ops, quickly identify bottlenecks and provide feedback to stakeholders. This allows organizations to adhere to another Agile tenet of responding to change over following a plan.
VP DevOps Product Engineering, CollabNet
When a team transitions to Agile from traditional software development, such as waterfall, they should remember that it is a cultural and technical philosophy, not just a set of ceremonies. Successful adoption of Agile shifts the focus from big-bang launches and arbitrary deadlines, to continuously shipping value to customers based on velocity and the team's capacity. Companies should consider using the Agile project management tools that can adjust to their teams' needs, rather than adjusting the way they work to fit the tools.
JIRA Software and Bitbucket Team Lead, Atlassian
The most significant changes an organization will have to undergo to become more Agile are cultural. Business, development, and operations must understand the need for continuous engagement throughout the process and buy into and remain passionate about automation, measurement, and continuous improvement. The first step is to admit that massive tomes of specification are a waste of time, and that the entire team — representatives of the business, development, and operations — must participate and remain engaged in an ongoing, iterative process. Second, there must be a vision for what the team has set out to accomplish, which, like everything else, is subject to constant review and should evolve if needed. Finally, measure everything. Not just the behavior and performance of the software, but of the team itself. Be prepared to evaluate this information dispassionately and feed it back into the process so that future estimates, for example, can become more accurate.
Chief of Product Portfolio Strategy, Application Platforms Business Group, Red Hat
Try to think in business metrics rather than technical metrics: define business-relevant end goals for your development efforts, identify how you will measure impact in concrete terms, then iterate and track progress against those metrics. Code is only valuable if it does something useful.
VP of DevOps Strategy, XebiaLabs
Read Essential Steps to Become Agile - Part 2, covering processes including automation, continuous delivery and testing.