Chapter 6. XP and Embracing Change
People hate change... and that’s because people hate change... I want to be sure that you get my point. People really hate change. They really, really do.
Steve McMenamin, The Atlantic Systems Guild, 1996 (from Peopleware: Productive Projects and Teams, by Tom DeMarco and Timothy Lister)
Have you ever noticed how often programmers complain about their users? Do a little web searching through programmer forums, and before long, you’ll run across a thread where developers complain that their users don’t know what they want before they ask for something to be built. It’s a long-accepted part of programmer culture: users never ask for what they actually want, and they make your life hard when they change their minds all the time.
We saw earlier in the book that Scrum has an answer for this: work with the users to understand what’s valuable to them, and deliver working software often, so that understanding can change over time. This gives project managers and business owners the ability to constantly revise the goal of a project, if that’s what delivers the most value. But wait a minute—now the team has to make constant changes to code to keep up with those changes. Developers know from experience that when you have to make changes to code that was already written, it causes bugs. The more changes developers need to make, the more brittle the codebase gets. Aren’t all of these changes going to make the software buggy and unstable?
This is one of ...