XP Home

You Aren't Going to Need It.

Lessons Learned

 During the initial requirements and design sessions of my current project, we continually had people wanting to push a lot of "future" requirements into the first phase. Our answer was always the same. "We'll write a card for it so we don't forget about it, but we won't put it into the design until the time comes when we need it."
 This strategy saved us a tremendous amount of grief, especially with regard to one of the fundamental building blocks of the system. We were designing a model to be used for defining the possible combinations of product offerings.
 The catch was that in about 6 months time a new corporate model was going to be released. We got numerous requests to try to predict and model the inevitable corporate direction. We resisted, and instead modeled the product definition piece of the system to reflect the current business practice, and only those portions of it that were relevant to our project.
 We kept the design as simple as possible while still satisfying all project requirements. We practiced "you aren't gonna need it."
 After six months passed the corporate model was postponed for another year. Meanwhile our project was considering a completely new and different model based on expanded requirements.
 If we had tried to guess at a corporate model we would have needed months of rework to migrate to this new model. Because we kept our design very simple, we could easily evolve our model into the new model. We estimate it will only take a week or two of adjustments, which represents substantial savings.

Don Wells
eXPerience Software

ExtremeProgramming.org home | XP Lessons Learned | Simplicity | Email the webmaster

Copyright 1999 Tom Kubit. Logos Copyright 1999 J. Donovan Wells all rights reserved.