4.2 Specification Tips
Know the target
Know who the customer is, what are his needs and why he wants
your work. Be aware that you may have several customers with
different degrees of importance - your boss, the project manger,
your company manage, your company owner and your company customer.
Be aware that these customers needs are not necessarily the same,
and even can contradict.
Sometimes your boss need to produce reports to upper managements
and not advance with the development...
Sometimes the company has several customers with significant
different degrees of importance.
Know the requirements
It is not obvious to know the requirements of the project. The
project manager tells you one thing. The customer has another image
of the product. It may be a good idea to get a requirements document
or write it yourself and ask for management approval. This way you
will avoid changes in the requirements and specification and
everyone will be happy. If someone complains about the result, you
can address him to the requirements document that he approved.
Avoid adding too many features
A complicated product is not necessarily what the customer needs.
Most customers will prefer a simple and reliable product.
Adding to many features to the product may expose you to several
risks:
- Time to market - each feature will take additional time to
design, implement and test. So the product release will be
delayed.
- Complexity - Many features will make the product complex and
hard to implement.
- Testability - late system test may hide system problems that
could have been revealed earlier.
- Customer feedback - early customer feedback is better than
late feedback.