Get requirements capture right at this stage, so that
top-priority requirements can go into the
functional specification
The functional specification ‘does what it says on the lid’ – defines the
things your program will do. This is what you are aiming to produce
and to get your customers to agree to. But before you can produce a
document that says what you will deliver, you need to be able to
describe what is wanted, and that document is a requirements
specification.
You can write this requirements specification from the screen draw-
ings and user stories and the discussions you have had to clarify them.
Your customers should sign it when they agree that it is an accurate
and complete definition of what they want.
From the top-priority requirements, you can derive a Stage 1 func-
tional specification, which will define what you will deliver first and
when. Your customers should determine what is top-priority and what
isn’t.
However, if your customers are the sort for whom everything is a
must-have, find out what they want delivered first. If the answer to that
is also ‘Everything!!’, then the first functionality you deliver is the first
feature that you can complete.
We will look in more detail at this process of developing a require-
ments specification and, from that, a functional specification, in the
next chapter. For now it has to be said that if a requirement is not top-
priority, then it is probably no-priority. By the time Version 2 comes
around, there will almost certainly be a whole slew more of top-
priority requirements – the dreaded ‘feature creep’.
So it goes; but if you have a signed-off functional specification, then
you can postpone requests for new functionality until the next version.
Without it, you either have to take on more work than you have
planned for, or you have to say ‘No’ to customers; would you want to
be forced to make that decision?
So, to sum up: it is worthwhile spending plenty of time capturing
requirements accurately at this stage of the development process.
Getting it spot-on now costs an awful lot less than trying to fix it later.
And you cannot deliver on time, and within budget, without an agreed
specification. In the next chapter, we will go on to look at how we get
there from here.
GET REQUIREMENTS CAPTURE RIGHT AT THIS STAGE 31