As outlined in my previous article “Documentation: boring – yes, essential – absolutely!”, documentation, although unexciting, forms a key part of any project. It helps to keep things on track and protects both you and your client. In this article I’ll look at the five documents you need to run a successful development project from start to finish.
Document 1 – Statement of Work
The statement of work is your kick-off document. It’s purpose is to get a high-level agreement on what you are going to deliver prior to the main work beginning. As a minimum, your statement of work should define the key deliverables and your terms of engagement (your rates, where you will work, what expenses you will charge for, whether you are working alone or bringing in additional resource). Ideally, it should also include some protection for your work, setting out compensation rates should the project be scrapped prior to completion and payment milestones (i.e. development tasks that trigger payments). By getting agreement on these, you can start work confident in the knowledge that both you and the client are working to the same agenda.
Document 2 – Wireframes
Wireframes aren’t usually seen as an essential document, but they make my list for a simple reason: clients aren’t usually technical people. The functional specification, as we shall see, is the more important document for development, but most clients simply can’t read them without falling asleep. That’s why wireframes are so useful, they are a visual representation of the deliverable that can be produced quickly and without the need for coding (what do you mean you’ve started coding before knowing the full specification – shame on you 😉 ). They are also useful for helping the developer to understand the user journeys involved in the system. There are lots of tools available online to help you create wireframes, but you can sketch them if you feel more confident. Once you’ve got your wireframes in place, run through them with the client and get them to sign-off on the concept; it’s the big document next and you don’t want any changes half way through.
Document 3 – Functional Specification
For the developer, working alone or in a team, this is the main document. A good functional specification is worth its weight in gold, as it contains the single source of guidance for the project. Within a functional specification, each piece of functionality required for the successful build of the system must be fully defined without any ambiguity. Using the wireframes as a reference, the functional specification will describe the workings of each screen, from input validation to login procedures and error handling. Writing a functional specification is not easy, and can be onerous, but is essential. It provides the basis for successful testing and acceptance and can stop ‘scope-creep’ in its tracks. If you can, try to go through the functional specification with the client, especially if there are any logical calculations or data processing that is represented in the wireframes. This won’t be easy, but it does help a project to run smoothly – pick out the main areas they need to look at or provide a client-facing “executive summary” up front to help them through.
Document 4 – Project Plan
The Project Plan defines the delivery schedule for the project. Although this will focus mainly on development milestones, such as the end of development, testing and go-live, it should also include payment milestones if these have not already been included in the Statement of Work. Project plans serve a dual purpose, they define timescales, but they also allow you to show the impact of changes on the project delivery date. The Project Plan is all about setting expectations for the client and protecting your time.
Document 5 – Project sign-off
This document is often missed from a project, but it’s important as it forms a clean break between development and production. The document itself is simple, you just need the client’s signature and a reference to the original Statement of Work, but its impact is greater. With a project sign-off document in place, there is no argument over charging for work, as anything post-signing is chargeable work (unless you decide otherwise) – a good situation to be in.
These five documents provide a complete overview of the project, both from the perspective of the developer and the client. They provide clarity around the deliverables and the timescales, and protect from the dreaded ‘scope-creep’ (I haven’t covered Change Management in this article, that’s for another time). They also engender trust, as a professional approach to a project gives the right impression to existing and potential clients.
Just one more?
Of course, there is one document that isn’t on the list that most freelancers would say is the most important: the invoice. It’s the one document we’re always happy to create and to submit to the client. Hopefully, with this set of documents by your side, submitting your invoice will be the easiest thing you have to do all project and there will be very little issue about getting it paid!
What documents do you use in your projects? Do you have a different set of essential documents? What’s the most important document in your armoury? Do you agree with our list? Let us know in the comments.