When a development team is working on a project, how do they ensure that the functionality is being coded correctly? Design specification documentation serves this purpose.
What are Design Specifications?
- A design specification document must be free of any ambiguities and should be complete, since an incomplete design specification document full of ambiguities can have you reaching for the costly rewrites.
- A good design specification follows a pyramidal approach i.e., from the top it provides a complete and broad overview of the software system or application and its components and at the lower levels it provides a detailed overview of the primary components of the application.
- The details should be as much required by the development team.
- Most of the software developers tend to work with design specifications documents which include detailed description of every function, sample screen shots, layouts of the data base as well as reports.
- Many a times it happens so that the client does not provides sufficient detail; in such a case the developer responds in writing asking as many questions required getting a detailed overview of the project.
- These questions are supposed to enquire in depth regarding the design specifications of the application under development.
- Writing an effective and a self sufficient design specification document is an art in itself.
- If you find it difficult to write a design specification document, you can first write a basic outline and then fill it up based up on the needs of the client as well as the skills of the developers.
- Coming up with a document that fits the requirements and needs of both the client and the developer is quite a difficult and requires a lot of struggle.
- There is no need to show the entire specification document to the client or the customer since they won’t understand it.
- Some organizations even take up the extraneous effort for creating two design specifications documents.
- One contains only a broad overview of the application for the customers and clients while the other one consists of detailed description of the application and its primary components meant for the developers.
- There are some artistic developers who themselves like to fill up the details for the design specifications after knowing what functions are to be performed by the application.
- To make it easier, you can start off with a high level description of the design specifications followed by signing off by the client.
- Then you can go for writing second file with more detailed descriptions.
- Keep the design specification document updated as regularly as possible.
- IEEE has come forward to help in this regard and it has laid down “IEEE 1016- 1998 standard” for specifying a structure for the SDD or software design description.
What should a design specification include?
According to IEEE standard, the design specifications must include at least the following:
1. Introduction: It includes
(a) overview of the design and
(b) Requirements traceability matrix
2. System architectural design: It includes (a) discussion regarding the alternative designs
(b) Chosen system architecture
(c) System interface description
3. Detailed description of the application components
4. User interface design: It includes
(a) description of the interface
(b) Objects and events (actions)
(c) Screen image
5. Additional information
After completing writing down the design specifications, you should compulsorily have it signed off by the client or the customer so as to have a proof that they abide by everything that is there in the specifications document.
This also provides coverage to your bases and enforces that the customer reads the whole specifications document. The design specifications should also be reviewed by the quality assurance people since a good design specification helps in creating better test cases.
No comments:
Post a Comment