Writing A Functional Specification - Of Time And Talent (
Page 3 of 9 )
The functional specification should be written by a person who is isolated
from the actual development of the software, so as to add a degree of
impartiality and independent thinking to the process. Obviously, this person
needs to have a wide range of skills: an understanding of how users think; a
thorough knowledge of the capabilities of various programming languages and
tools; the experience and creativity to break down a large and complex
project into smaller, discrete modules and data structures; and, most
importantly, the ability to communicate all of the above in a clear and
concise fashion via a formal document.
This, you will agree, encompasses a fairly wide (and hard-to-find) range of
talents, which may require years of experience to develop. But talent is
just one of the things a functional spec writer needs...time is the other.
Contrary to what you might think, creating a functional specification is a
fairly time-consuming job. As a functional spec writer, you need to spend a
fair amount of time understanding the requirements and business vision for
an application, discussing design and implementation with the development
team, and mapping the two together to ensure that the final deliverable
satisfies the customer's needs...all before you can even begin to think
about structuring this information into a formal document. This process is,
obviously, not something that can be accomplished in a matter of hours;
depending on the complexity of the application, creating a detailed
functional specification can consume days or even weeks.
In case you're wondering whether the process is really worth the time, the
answer is a resounding yes. The consequent benefits of the process - a
streamlined development process, better risk and change management, greater
clarity in the development team and fewer course corrections - all add up to
a substantial cost and time benefit in the final analysis.