Why People Are Turning to Agile
From using ½ day sprints to delivering some of the most complex and critical hardware and software products in history, iterative and incremental delivery is, quite literally, rocket science1, used to manage risk and maximize learning in the most challenging situations.
Agile methods are the most recent incarnation of iterative and incremental methods, gaining acceptance over more traditional, sequential methods, as a result of a changing paradigm for software delivery. In today’s development environment, product development teams are battling five significant trends that directly impact the work they are doing:
Product Complexity: Products that 10 years ago were relatively simple, mechanical devices (e.g. door locks or thermostats) are today digital and connected machines. Even the most basic products are now designed, simulated and stress-tested in virtual form, on computers, and the mass manufacturing of them is deeply embedded in complicated logistics networks running on interconnected pieces of ERP software. Complexity both within and between products makes controlling dependencies and interactions harder and harder to do.
Technical (Environment) Complexity: Driven by the adoption of internet technologies in the 90s, environments and technology stacks have proliferated as technologies become more mature and more specialized. There are many more technologies to choose from, some of which can be swapped out very quickly. The rise and fall of a specific web technology, for example, may nowadays be measured in months. Change is inevitable in this space as specialization and fragmentation continues.
Business Complexity: Companies can no longer rely on finding the employees they need in their local markets, or spend decades on growing internal experts. In order to deliver the products and services customers want in the timeframe they want them, companies must now set up new offices around the world, join existing ecosystems or form new partnerships. This is enabled by new communication technologies that allow high-bandwidth collaboration between timezones and continents. Unfortunately all your competitors — and indeed a lot of companies that you didn’t know were your competitors — are also rushing for the same skilled employees and ecosystems.
Consumer Market Change: Most markets change very rapidly and changing with them is critical to modern business success. Demographics change, as our local 60-plus age bracket get healthier and wealthier than ever before. Former bottom-of-the-pyramid markets are opening up in Brazil, India and China (aka “BRIC”) as well as in sub-Saharan Africa. Meanwhile, product trends come and go with depressing regularity. What makes a good product today is different than what made a good product a year ago, so product development cycles that take years to get from inception to the customer find that the needs and expectations of the user have changed. Iterative releases allows the product to adapt with the users’ needs and wants.
Impatience: Perhaps the most debilitating mega-trend is the increasing expectations of consumers for continual change and improvement. Today’s consumers change cars every 2-3 years, phones annually, clothes continually. Nothing is sacred, and this places the advantage squarely on the companies that can provide rapid upgrades, without sacrificing design or technical quality. Just as the environments companies work in are getting more complex and harder to manage, the pressure on businesses to perform has never been greater.
This increasing complexity drives a number of strategies for survival, including crowdsourcing or co-creation, rapid product development iterations, mass tailoring, and fast customer feedback. To guide this process and keep control over what they are doing, companies increasingly use agile methods; in fact, agile methods are often assumed to be the starting point for customer-centric product development, rarely mentioned as a foundation for success (see, for example, one of the three tenets behind The Lean Startup or Scrum/XP teams delivering releases in SAFe). Agile methods are robust at both creating and handling change, resulting in higher levels of success in delivering large projects, seen both as fewer failures and more successes. Further, employees positively enjoy being part of a well-working team and having a proper balance of authority and accountability.
The business benefit of iterative and incremental methods is driven primarily by a much shorter time-to-market with the same or better quality. While the volume of features delivered over time may not necessarily increase, the frequency with which customers can get new functionality, coupled with the advantage of rapid feedback from real, paying customers, creates an environment in which the penalty for being slow to market can be terminal. Conversely, the rewards go to the companies that embrace business agility, and use shorter cycle times to validate requirements with their customers, increasing customer satisfaction while maximizing return-on-investment. A win-win for all concerned.
1. Iterative and Incremental Delivery: A Brief History, Craig Larman & Victor R. Basili, IEEE (2003) ↩︎