I was speaking to friend the other day who had worked on a procurement project for a piece of machinery for his organisation. His role was to lead the requirements specification. The machinery needed was large and complex, and had to operate in fairly diverse environments. It was also very expensive. That meant it was important to encourage honesty from the vendors to avoid costly mistakes, and his organisation needed to be clear and honest with itself about what it needed, for the same reason.
In the end there were almost 800 requirements, with every term clearly defined, and clarity about the precise circumstances in which each requirement was to hold. That’s quite a lot.
But what impressed me most was that of those almost-800 requirements, only 14 of them were “must have”s. All the others were “should have”s. In other words, the prospective vendors only had to demonstrate 14 capabilities to be acceptable; everything else was a matter of how well they fulfilled the requirements, not whether they fulfilled them.
(You may say that “should” is a very woolly term, and I would agree. So would my friend. That’s why he further specified what “should” meant. In fact, he had three kinds of “should”, labelled “should1”, “should2”, and “should3”. Each of these was defined in terms of whether they got extra points in the evaluation for showing it, and whether the organisation expected to pay extra for it.)
As you might expect, my friend’s organisation also took great pains to check that each of the claims of the vendors’ products was indeed correct.
But back to the 14 “must”s. That’s a very low proportion, and it must have been very difficult for the stakeholders in my friend’s organisation to get to such a small number. But it allowed the vendors to be very honest about their products, and it ensured they were focused on legitimate competition rather than pretending to do things they didn’t do.
When I see my next requirements document I’m going to be very aware of how “must have”s are in there… and how well-defined “should have” is.