Chapter 1. Key benefits
In the internet age, delivery speed is the theme of the day in software development. A decade ago, projects lasted several years and project phases were measured in months. Today, most teams’ projects are measured in months and project phases are reduced to weeks or even days. Anything that requires long-term planning is dropped, including big up-front software designs and detailed requirements analysis. Tasks that require more time than an average project phase are no longer viable. Goodbye code freezes and weeks of manual regression testing!
With such a high frequency of change, documentation quickly gets outdated. Detailed specifications and test plans require too much effort to keep current and are considered wasteful. People who relied on them for their day-to-day work, such as business analysts or testers, often become confused about what to do in this new world of weekly iterations. Software developers who thought they weren’t affected by the lack of paper documents waste time on rework and maintaining functionality that’s not required. Instead of spending time building big plans, they waste weeks polishing the wrong product.
In the last decade, the software development community has strived to build software the “right” way, focusing on technical practices and ideas to ensure high-quality results. But building the product right and building the right product are two different things. We need to do both in order to succeed.