The old WHAT vs. HOW debate

When explaining to laymen what a requirement is (or more importantly when telling a junior analyst what job is required of them) some people say:

Requirements specify the WHAT without going into the details of the HOW.”

I’ve always found this explanation more confusing then helpful. I mean is a statement like “The customer enters a credit card number.” a what or a how?

Depending on where you stand it can be either!

For example:

  1. making money is the what * charging customers is the how
  2. charging customers is the what * accepting his credit card is the how
  3. accepting a credit card is the what * getting it’s number is the how
  4. getting the number is the what * a text box on a web page is the how

This can go deeper still:

  1. the textbox is the what * the HTML tag is the how

The whole picture is made up of a hierarchy of levels each of which is a what for the level bellow and a how for the level above.

Saying “You should write more about the what then about the how.” is really meaningless. What you should say is something like: “Concentrate on user’s goals without going into the specifics of how those goals are achieved in the actual user interface but instead looking into how they help achieve his overall objectives.

So please: be specific! And don’t confuse newbies: we tend to have a hard time as it is ;-)

Update December 2016: Moved post from to, which is currently my main professional site / blog.