Let's face it -- we've been talking about agile for two decades, and about DevOps since 2009. Everybody wants to embrace these business-paced approaches to software development and delivery, but confusion and disappointment has been the rule for many enterprises. In a year which will be marked by rebuilding in a post-pandemic environment, accompanied by ever-accelerating digital competition, guess who will be under enormous pressure to deliver software with little or even reduced budgets? Yes, IT managers and professionals can expect an intense time ahead.
Also: What is DevOps? An executive guide to agile development and IT operations
In this next of a series on the year before us, I canvassed industry leaders about the prospects for DevOps and agile, and find there are just as many interpretations of these philosophies as there are enterprises implementing them. The challenge is getting everyone on the same page -- and to see the urgency, and demonstrate the benefits to the business. In the year 2021, smooth, well-focused technology delivery has never been more critical.
"DevOps means different things to different people, so different people do different things and call it DevOps," observes Kief Morris, principal cloud technologist at ThoughtWorks. "The movement and the buzzword has been successful in making people think about the need to collaborate across everyone involved in making and running software. This is why you see it expanded with things like DevSecOps - it's not just about developers and operations people, it's everyone."
The issue that arises is "people often focus on tools and the superficial forms rather than on the principles and on outcomes," Morris cautions. "So you see DevOps teams that run Jenkins servers and maybe write Ansible, but you don't always see developers involved in operational aspects of the code they write, and you don't often see everyone across different roles including testing and governance collaborating effectively on building the right things into software."
Putting DevOps front and center can be an organizational challenge. "One of the biggest challenges to pursuing DevOps is a lack of urgency," says Aly Simkins, director of developer operations at Catalytic. "DevOps is not a bright and shiny feature and oftentimes the impression is that if things are working as-is, there isn't a need to prioritize the work. But the reality is that DevOps should be iterative and agile." What happens is "legacy DevOps implementations are neglected instead of growing alongside the rest of the software development lifecycle process," she adds. "Since there isn't a direct monetary value tied to an improved DevOps flow, it is not an area that is first looked to when allocating engineering resources."
Also: Agile development: How to tackle complexity and get stuff done
To make progress with DevOps, Simkins advocates ongoing improvement with these efforts "to build a strong foundation for your engineering team, which in turn will increase speed and efficiency. Take the time to identify the areas where an improved DevOps cycle would provide value and prioritizing the work alongside the rest of your software development process is an important investment when it comes to growing your agile team."
How close are we to finally delivering on the promises of the Agile Manifesto, which advocates collaboration over closed technical processes? "I'm not sure that the thinking in the Agile Manifesto is the norm in the industry, still," says Morris. "People know they need to change how they think about technology, they talk about digital transformation, but I don't know that they really see how the values and principles of the Agile Manifesto connect to this, how you can use them to make it a reality. The Manifesto talks about things like valuing 'individuals and interactions over processes and tools,' but that's hard. Processes and tools seem easier. So many software companies and consultancies offer you processes and tools to give you Agile and DevOps and make you digital. But they're really about giving you the comfort that there's an easy way, a formula, that will make you as successful as the companies that are winning in the market."
Looking at agile initiatives themselves, enterprises need to look at value and outcomes, "rather than on measuring effort and tasks," says Morris. "We've seen the rise of formulaic 'enterprise agile' frameworks that try to help you to manage teams in a top-down way, in ways that are based on everything on the right of the values of the Agile Manifesto. The Manifesto says we value 'responding to change over following a plan,' but these frameworks give you a formula for managing plans that don't really encourage you to respond to change once you get going."
Another challenge for the year ahead continues to be extending agile well beyond the borders of the IT department. "Agile technology initiatives include business lines -- especially as process managers continue to get more deeply involved in automation," according to Nicolas Chabanoles, CTO at Bonitasoft. "Digital process automation technologies need to be used for close collaboration across organizations to positively impact agile projects. For example, automation technologies should include wide options to allow visual programming for citizen developers to create user interfaces, define business rules and conditions, as well as coding capabilities for developers like SDKs, templates, archetypes, and extension points."
In terms of technology that can help advance these processes, Morris advocates "new waves of technology approaches like container clusters, service mesh, data mesh, serverless, and so on are enablers. They package up and organize tools and technologies in ways that people can use to get better flow. They don't magically give you that, though. What we're starting to see with some of the things that have been around for a while, like cloud, is that it's all too easy to make the same kind of mess, or new kinds of messes, with these technologies that people made with traditional technologies and platforms. You have to combine the true agile and DevOps ways of encouraging collaboration, and focus on value and outcomes, with these technologies. Then you can really fly."