Digitec Specification Process
I'm being asked to give a quote on a job, now what?
The first step you must take as a developer BEFORE starting any project and BEFORE writing down any code, is to correctly identify the requirements that need to be fulfilled in order to satisfy the project.
The Guidelines:
For large projects we use an abbreviated form of the IEEE SRS standard which relies on the functional requirements section. This document is also a great overall reference for learning about software specifications.
830-1998 - IEEE Recommended Practice for Software Requirements Specifications
REF -In every specification, unambiguous language is of paramount importance and to that end it is useful to reference the Key words RFC which clearly specifies the use of the words: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
Key words for use in RFCs to Indicate Requirement Levels
REF -Words matter, especially when you are legally binding yourself to the delivery of services. The language you use in the specification should observe a criteria that ensures clarity for both the developer (writer of the specification) and the client. As a rule both the developer and the client need to sign off on the specification before work begins.
It may be worth noting that at times the role of client can be played played by the project manager or other personnel requesting the job. Although this specification is destined for internal use, it is just as necessary as one that is destined for a client.
The end result should be that the developer is ensured a properly scoped job, in which the requirements he must satisfy are clear. Any new requirements that come up can be confidently labeled out of scope and the developer is protected from having to fulfill them without a re-negotiation. For the client it means, a clear articulation of the job requirements which legally ensure that the client is getting what he paid for.
The following text is a great guideline for the type of language that you must use when writing a specification.
Specifications are printed documents that establish procedures and requirements for a particular project. Specifications are legally enforceable as contract documents and must be prepared with concern and respect of their legal status. Specifications should include the correct use of words and grammar with properly constructed sentences and paragraphs. Specifications must be clear, correct, complete, and concise using these guidelines:
- Clear: Use correct grammar and simple sentences to avoid ambiguity. Carefully selected words to convey exact meanings.
- Correct: Present information accurately and precisely.
- Complete: Do not leave out important information.
- Concise: Eliminate unnecessary words, but not at the expense of clarity, correctness, or completeness.
OGS Design Procedures Manual - Specifications Language
REF -The Process
- Discovery: gather as much information about the project as you can. Your goal is to