Saturday, January 26, 2008

Requirements Anti-Pattern: That Can't Be All They Need

One anti-pattern in requirements gathering that I have seen... a habit of making up for incomplete or erroneous requirements by anticipating more than the user is asking for. It's a different kind of overbuilding.

This seems to be an attempt to account for the fact that the requirements that have been gathered might not be accurate. We might have specified that a user can run something on-demand. Then, we might overbuild by allowing the user to schedule the process to run at a specified time in the future. We might further overbuild by allowing them to specify recurring intervals for the process to run.

Instead of confirming the proper requirement was captured, you build to satisfy the requirement as you think it should have been captured. This is related to goldplating, but is more specifically accepting that your requirements gathering abilities are deficient, and so instead manufacturing requirements to meet your guess at what the requirement should have been.