What is the difference between Functional Specification and Design Specification?
When we start to develop the system, documents such as Functional
Spec and Design Spec need to be prepared before submission to the programmer(s). What is the
different between Functional Spec and Design Spec? I would really appreciate if you could provide
me a sample. What other documents should we prepare?
always viewed the Functional Specification document as the document that describes the product
in terms the users understand. Probably the best way to think about the Functional Specification is
that it's the user interface document that you can hand to a Subject Matter Expert (SME) to review
and ensure you are meeting the needs of the users. The Design Specification on the other hand is
the document that describes the subsystems and the interfaces between those subsystems. It's the
developer view of the system. The other documents you need to plan are the Schedule and the Testing
Plan. If you have well thought out Functional Specifications and Design Documents, the Scheduling
document is moderately easy to do because you've covered all the bases. The Testing will list
exactly how you will go about testing the individual features and the final product. Probably the
best way to learn about what documentation you need for a good design is to look at Steve
McConnell's excellent Rapid Development (Microsoft Press). I've generally followed Steve's advice
when planning my own projects. When it comes to Testing Plans, Russ Black's Managing the Testing
Process (Microsoft Press) will show you exactly how to proceed.
This was first published in September 2002