Over the years, promoters of Agile development have known that things tend to run aground with larger software projects or large organizations. Now, the drive to digital, automation and AI may be too much for even the most Agile of teams.
As Ron Jeffries, co-creator of the Extreme Programming (XP) methodology recently put it, Agile has become another cover story for relentlessly pushing developers to keep producing more and more, faster and faster. With digital, AI and automation, the scale gets even more untenable, and this is where Agile as we know it tends to fall down.
Another view, of course, is that Agile is the only way to grow a digital business. Agile, applied at scale, "appears to be a more effective way of working in a rapidly-evolving digital environment," according to an article out of MIT. "Large companies like Spotify, Ericsson, Microsoft, and Riot Games have all adopted the method."
Companies that adopt agile at scale 'benefit from breaking down functional silos and pooling the talent from each function into teams," relates Carine Simon, a senior lecturer and industry liaison at MIT Sloan. "In the traditional management, you have one leader for each function ... but the coordination and collaboration between those functions is often difficult, whereas if you create one team that pools members from each, then the thinking is that the project will be more successful. All projects are going through a similar mode of management."
In a recent analysis of Agile companies, Federico Berruti, Geet Chandratre, and Zaid Rab, all with McKinsey, state there are many complications when attempting to apply Agile methodologies to digital settings, from immature technology to the fact that "with thousands of processes involving tens of thousands of employees, organizations find it difficult to build workable road maps for large-scale automation." Add to this the changes AI and automation bring to employees' jobs, which further gums up the works. Scrum, with its emphasis on chunking work into smaller components, scrum masters, and process ownership, also falls flat when scaling automated approaches that suck in diverse portions of the enterprise. methodology.
Still, Agile may be doable, even in the most intensely scaled settings. Berruti and his McKinsey colleagues propose a revamped way to bring Agile methodologies to high-scaling automation environments, an approach they appropriately call "Agile automation." Agile automation, they explain, is built on scrum approaches, but adapts to the scale requirements of AI or automated environments. Here are the five key components:
- Team structure. The team is key, the McKinsey authors point out, and should consist of a product owner and business subject-matter expert working with developers, testers, IT staff, and business stakeholders.
- Upfront design. "Fully define the process before development work begins in earnest," to ensure "the automation project will integrate with the wider business and comply with regulatory requirements and other constraints."
- Trigger-driven stories. These will help "break the project down into addressable chunks, agile automation replaces conventional user stories,'" Berruti and his co-authors state.
- Release management. "Decouple releases of prototype and production software," based on a "controlled schedule that is tightly coordinated with the affected parts of the business."
- Program support. As Agile automation remaps the way people and teams work together, it requires significant support. The McKinsey team urges the establishment of "a dedicated program office to provide expertise, establish good practices, and monitor the progress of the overall automation effort."
Digital and automated enterprises will accomplish little without a business direction and vision. That's why Agile methodologies, which have been around for decades now, are needed more than ever.