Thursday, September 10, 2009


I was reading a paper yesterday, and it was a pretty generic "why software development is like X" paper. One sentence, though, stood out:

"Requirements -- probably the most misused word in our industry -- rarely describe anything that is truly required."

That guy is dead on, at least in this one point. "Requirements" is a word we tend to use in a rather slapdash manner. In the strict sense of the world, a requirement is something we are compelled by law or regulation to do. That thing where the SEC says that all stock sales by insiders must be submitted within X days? That's a requirement. That thing where marketing says it absolutely must be blue? Yeah, not actually a requirement.

Other than semantically, it really doesn't matter. There are only three buckets:

Legal requirements (aka "true" requirements) better fall in the "must have" bucket, and they better stay there. Other requirements might fall into the first bucket, but they might move. Things in the "will take" bucket also move around. Later in a release cycle, things tend to move down a bucket - from must have to will take, and from will take to "don't want" (which at this point gets nicknamed "please don't destabilize things").

It's easy sometimes to get caught up in subtleties and semantics, but in the end, keep in mind that everything in the product falls into one of only three buckets. So cut through the details and find your bucket.


  1. Oh man, best post I've read all week.

    The test I apply is: "If we have everything except feature XYZ, would you delay or cancel the product launch?"

    If "yes", XYZ is a "MUST HAVE"; otherwise, it's a high-priority "WILL TAKE" and nothing more.

  2. Nice post!

    "That thing where marketing says it absolutely must be blue? Yeah, not actually a requirement."

    Unless it really is a requirement. The question is always "who gets to decide?"

    It would be a shame to develop a bright orange logo, then find out that "IBM" really, really needs to be in blue.

  3. Great post Catherine,

    You have categorized "Requirements" beatifully, :) 100/100.

  4. Joe: I think we both agree it probably goes into the "must have" bucket. It would be kind of fun to see an orange IBM logo, though (and the marketing minds that thought that would be a good idea)!