What is a requirement?

What is a requirement? If you check any English dictionary, you will probably find a definition along the lines of “something wanted or needed“.

But what is a requirement within the context of software development? You could argue it is whatever the customer wants and is willing to pay for and I have heard that argument several times. To my mind, however, that argument leaves no room for requirements analysis.

Part of the job of the requirements analyst is to challenge the requirement, test it, view it from different angles, check that it makes sense, be sure that it meets the business need.

That’s the key word for me. The requirement is primarily about what the customer needs, not what the customer wants.
Of course, in a solid relationship between the customer and a capable requirements analyst, the true needs of the business will come out and that is what the customer will want.

I have been on projects where requirements analysts merely document what the customer wants without giving it a second thought. Such requirements stenographers (as they should be called) do a disservice to their customer. Such people do not attempt to understand the why behind the what and they fail to see what are effectively design solutions masquerading as business needs.

I think The Rolling Stones said it best:

You can’t always get what you want
But if you try sometimes, well you might find
You get what you need

Takeaways:

  • Analysts, ensure you challenge in order to understand what your customer’s business really needs
  • Customers, ensure the analysts are doing their job and making you think about what your business really needs

Kind regards,

Declan Chellar

Related posts:

2 comments to What is a requirement?

  • Paraic Hegarty

    Of course, it’s also what the user is willing to pay for – many initial requirements fall by the wayside when the time and effort to deliver them is explained to users in terms of other requirements that they can no longer have. I was always taught that delivery of software is a three-way trade-off between time/money, quality and scope.

  • Indeed it is, Paraic!

    I have also found that there are always trade-offs, because the customer has neither limitless time nor countless sacks of money.

    I’ll be talking more about scope in other posts.

Leave a Reply to Paraic Hegarty Cancel reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>