7.1. What specifications can and cannot do
Specifications, like vision documents, are a form of communication. When used effectively, they convey important information in a simple and easy-to-consume way. When used poorly, they are hard to read, tedious to create, and frustrating for everyone who comes into contact with them. Often, teams that write lousy specs seem to need more of them (as in, "If wolves come in packs, specs come in plagues"). Most of the time, weak or failed specifications come from a misunderstanding about what specifications are capable of and what they can't possibly achieve.
Here's a list of the important things specs can do for a project:
Effectively describe the functionality of what will be built
Help designers to clarify decisions by forcing them to be specific
Allow the review, questioning, and discussion of detailed plans before full implementation begins
Communicate information from one to many
Create a team-wide point of reference for specific plans (and if drafted during the design phase, use it as a living documentation of what's going on(1))
Provide a natural schedule milestone to focus the team
Create insurance against the author(s) getting hit by a bus(2)
Accelerate, improve, and increase the frequency of healthy discussions
Give leaders an opportunity to give feedback and set the quality bar
Add sanity and confidence to the team (and author)
Things specs cannot or should not do:
Eliminate all discussions between team members
Prove to the team how smart ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access