Whether you're looking to create a website that publishes posts about your local town, or one that sells thousands of products online - the importance of a well scoped specification is always number one priority. A specification helps you and your web developer communicate the ideas of what you want the website to look and function like. That document is what bonds your minds and thinking patterns. It's the most important part of the process - to get right. When you're creating a web development specification - be sure to look at the following points.
- Purpose of the document
- Description of the project
- Front-end functionality
- Common features
- Sitemap and website structure
- Description of every website page
- Wireframes (home page and at least 2 other important pages)
- Miscellaneous functionality
- Back-end functionality
- Use cases
When you're describing what the front end and back end functionality does - DESCRIBE it. The developer cannot assume you know the technical terms for objects and elements on a website - and you cannot assume the developer can interpret what you think a certain object or element is called. For example;
"I'd like a big picture at the top of the page, it should move and another picture shows."
What the developer sees: "A sliding hero."
Though this is a relatively easy one to interpret... it's missing fundamental details that will inevitably raise concerns later. Let's go over this request again.
"I'd like a big picture at the top of the page, like on www.example.com. There would be 3-5 images. They would slide to the left every 5 seconds. Each one has some text in a box over the top. The text box would be slightly to the left. It's full width to the page regardless of screen size. There are arrows to let people switch back between them"
What the developer sees: "A sliding hero with transitions of 5 seconds, responsive, with navigation. The client will need to be able to add/remove images and captions - see www.example.com for an example of the client's taste."
Now we know exactly what you want. The more you and the developer knows now - the smoother, faster and overall better the process - and result - will be.