Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I found companies generally either:</p> <ol> <li><p>Don't do specs.</p></li> <li><p>Have a spec template. Each spec looks like all the others (ie "standard") - they all have the same sections.</p></li> </ol> <p>I don't like either. Each spec is different. Trying to make it fit a rigid template is like writing a book to a template - a children's book is different to an adults book is different to a cooking book is different to a ....</p> <p>Some specs need to go into technical details (like file formats), but others are fine when presented from the users point of view (a button that when clicked does x).</p> <p>The best specs I've seen are ones that I can take and do what it is without having to ask the spec writer any questions. If I have to ask questions then I consider the spec to have failed. The spec should answer all my questions.</p> <p>When I'm writing a spec, I always print it out and read it (I find more errors when it is printed). Then I leave it for a day and read it again. If I find any errors or think of anything it's missed I update the spec, print it out and read it and leave it for a day. I keep doing that until I don't find anything wrong with it.</p> <p>A spec should be easy to read. I was once handed a 120 page spec with no table of contents and no page numbers. I asked the spec writer to put in a table of contents and her answer was "no, I want people to read through the spec to find what they're looking for since then they'll read more of it". I wasted a lot of time looking through that spec looking for stuff. That was a bad spec.</p> <p>Whatever method you use to write the spec doesn't matter - the outcome is the important thing. The spec should be easy to read and answer all questions.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload