Creating User Specifications For Systems
Functional specifications are often used on bespoke development projects to document the business requirements of a system. As expected they are structured by function. Superficially, this may seem fine but in reality they are vague and difficult to relate to the final system. The result is that the project goes out of control, time and money are wasted, and people get stressed and burned-out.
What is needed is more than a functional software specification. A detailed system specification is the key to success; a document that specifies the outputs needed the relationship between outputs and the inputs available. It should also show the functions needed to transform the inputs into the specified outputs and the additional inputs needed.