Creating a website specification is the most important task of a project. Get this wrong and the whole project can tank, including making an unhappy customer and an unprofitable project. Get the website specification right and you can meet the project deadline and bring in profit. The importance of this is often under estimated. Implementing these techniques to create the website requirements and the project timeline will make your life easier and your clients happy.
These skills are invaluable whether you are an employee or a freelancer/contractor. There are different ways of creating a website spec document, and this project management method is based on my experience. I have used this technique successfully.
Step #1: Create the Website Requirements List
Define the specifics of the project. This is where people get themselves into trouble because they don’t spend enough time figuring out exactly what the client wants.
This is also the stage where you need to figure out the general budget range your client wants to have for this project. It is smart to keep this in mind because if you spend a ton of time on a specification for a project that is only $2,000…you’ve wasted a lot of time because they probably won’t be able to afford all of the features they want. If they are looking for a rough quote, you don’t need to spend as much time, just make sure to give them a fairly large price range until they give you specifics. Don’t let the client force you into a corner and give them an estimate that is too low.
It is practically impossible to exactly estimate how long each project will take. You will always error on the side of estimating too high or too low. My advice is to error on the side of being too high (just don’t go too high). As time goes on, you should be able to create very accurate price points, and be able to tell when a client is going to cost you more than what they are paying.
Step #2: Create Website Timeline
Once you have created a complete list of pages and features for the site, it is time to go through each item and specify how long it will take. Keep in mind that you should not be estimating on time that is in an area you are not involved with (in my case that would be creating the graphics and the graphical site layout).
Typically with spec documents, I never send how long something will take me to the client. This is because how long something takes a programmer is dependent on experience and knowledge. What took me 3 hours five years ago, may only take me 30 minutes now. That doesn’t mean I would charge the client 30 minutes (this is not always the case). I would charge the client what the code is valued at. This idea is worth a separate discussion, but if I have code that I re-use, I’m not going to charge them just for the time to implement the code. In most cases, I would charge them for the time it originally took to create the code. The client receives the value of code that has been tested and tweaked and customized for their site.
Once you have estimated your time for each item, add each section/sub section together and come up with a total time number. I usually give myself some cushion based on this number…especially if there are still a few factors in the project you are not sure on. If I know a client is very needy, I will add even more cushion. The idea here is that you want to put the odds in your favor in having a profitable project come out on time.
In most cases, you end up doing yourself and your customer a disservice if you underestimate your time and cost for a project. If you have trained your customer (which we will go into customer training later on) to expect a certain charge for certain type of work, they will come to expect that rate (even if the rate is too low). The bottom line is BE CAREFUL and learn from your mistakes. Clear communication is a necessity with successful project management.
Step #3: Schedule Project in Current Workload
You should not have contacted the client at this point with estimates on the project. Depending on how quickly they want the project done, and how busy you are, can affect the cost of the project.
Again, this is where a lot of people encounter problems. They want to make the customer happy, and even if they have a full plate of projects they need to get done, they over promise on when the project can be completed by. Just like number two, give yourself some margin with your time. If I think there is a possibility I can have a project done this week, I often times will tell the client this can be done by the end of next week.
Again, what this does is put the odds of a successful project in your court. In most cases, you will be able to get the project done sooner than what you told the client…and give the customer a good surprise when you have it done sooner than they anticipated. This also gives you more cushion room to work with if they present “surprise” changes.
If the project is a large project, create phase timelines. Sometimes the client will give you deadlines for when each part of the project should be done. BE CAREFUL with these, because it is better to tell a client that a timeline is not realistic before the date approaches.
I recommend also setting timelines with any information you need to receive from the client (such as logo, files, content, etc…). Communicate with the client that if they don’t meet these timelines, this could have a ripple effect on the deadlines for the project as a whole. If this is not clearly communicated and enforced (especially with large projects), you may end up receiving 100 pages of word documents to put into the site within a few days of when the site needs to launch.
Give your team and your client enough time to review the site and check for errors BEFORE the site is scheduled to launch. Even if there is an error in the content that was provided by the client, you don’t do yourself any favor by not providing the client enough time to make sure they are happy with what visitors will see. In other words, don’t plan on having all of the content entered by 4/15 and launch on 4/16. This is especially important with larger projects.
Step #4. Finalize the Website Specification
At this point you should have a good perspective on the project. You should know what needs to be done and when you can realistically get it done by.
With fixed bid quotes (where you are bidding on the whole project), I like to give a range. If I have a good feeling that as the project sits now (which is defined in the spec document), it will cost around $2500, I usually will send them a quote of around $2400-$2750. Even after this whole process, if there are a few unknown factors, I increase this price range. If I have a client that is consistently presenting changes during prior projects, I increase this range even more (account for the extra risk). I keep on saying this over and over again, but doing this increases the chances that you are going to do well on this project and that your customer will be happy…which is the goal of managing a project.
If they present changes during the life of the project, make sure you reflect this in the price and timeline. The client should understand that the specification is a description of what they are paying for…so they know that if they want something that is not specified in the spec document, they will need to pay for it.
Companies handle payment plans differently, but most companies I have worked with require 50% of the project total before the project starts and progress bill as the project goes on (especially if it is a large project).
IMPORTANT: Website Timeline Changes
The timeline and timeframe you include with the specification should be stipulated with receiving the 50% of the project total by a certain date or with a determined timeline…otherwise the timeline could be different depending on what is in the shop at the time they are ready to move forward. This is important because other projects and clients could come in before they decide to go forward with the project. You could have no work in the shop one day, only to come in the next day and have 10 projects come back at the same time with the idea that they are going to be done by next week.
The idea behind doing all of this is that…
- You increase the chances that you can meet all of your project deadlines.
- You increase the chances of having a happy customer after the project is completed.
- You increase the chances of your projects being profitable.
Have you learned anything when managing projects that you would like to share?