Source | www.mckinsey.com : By Santiago Comella-Dorda, Swati Lohiya, and Gerard Speksnijder
Organizations are succeeding with agile software and product development in discrete projects and teams. To do so in multiple business units and product groups, they must rethink foundational processes, structures, and relationships.
Many digital companies are using agile development practices to deliver goods and services to customers more efficiently and with greater reliability. Using this software-development approach across all business units and product groups, digital giants have been able to design and build features quickly, test them with customers, and refine and refresh them in rapid iterations.
By contrast, few traditional companies—those with both online and offline presences—are using agile methodologies across the majority of their product- and application-development teams. Many banks, for instance, have established digital units to develop and release mobile apps or website features quickly. But those groups typically remain physically and strategically disconnected from the rest of the IT organization and the rest of the company.
Research indicates that many traditional companies are experimenting with agile practices in discrete pilot projects and realizing modest benefits from them. But fewer than 20 percent consider themselves “mature adopters,” with widespread acceptance and use of agile across business units.1Meanwhile, according to our own observations, the companies that are deploying agile at scale have accelerated their innovation by up to 80 percent.
There are many reasons traditional companies have not been able to successfully scale up their agile programs, but we believe a chief impediment is their existing operating models and organizational structures. In most of these companies, the process of software or product development remains fragmented and complex: a business request for a new website feature can kick-start a development process involving multiple teams, each tackling a series of tasks that feed into the original request. For instance, one team working on the front-end application, another updating associated servers and databases, and still another reconciling the front-end application with legacy back-end systems. What’s more, the supporting business processes (among them, budgeting, planning, and outsourcing) and existing roles and responsibilities in both the IT organization and business units continue to adhere closely to the legacy waterfall approach.2