Estimating the Time a Project Will Take
I went back and read the post I wrote on pricing your web design service and realized that I made a pretty big assumption with it. I assumed that every freelancer looks at a list of requirements for a project and can instantly predict the amount of time it will take to complete the project with a high degree of accuracy. When someone comes to you with requirements that are very similar to your previous work, this may be true. What about when you look at a list of features you’ve never personally created. You’re confident you can address every item on the list, but you just don’t know how long it will take.
I’ve had a great deal of success breaking the project down into the following areas and making estimates of the time I’ll spend on each one.
Design
Think about your client’s (as well as your own) expectations for how this site is going to look. Is it going to have a jaw dropping Flash intro? How educated are the users going to be, and do you need to dedicate a lot of time making the user interface as intuitive as possible? Is the client providing source images for the site? Will you need to spend a few hours walking around their building with a digital camera?
Database Design
Exactly how much data are you going to be handling? Once you’ve got the tables created, are you going to need to spend much time creating indices to speed up queries on some of your bulkier tables? Are any other applications going to be accessing the same database? Are you working with more than one database? Are you responsible for the security architecture of the database?
Programming
How fluent are you in the language that’s going to be used? How many areas of the website are going to require programming (contact form, shopping cart, user reviews, etc.)? Will the system be automatically generating emails? Does the system require any scheduled tasks that won’t be triggered by visitor interaction with the site?
SEO
In some cases, you’ll be directly involved with your client’s search engine marketing efforts. You’ll be optimizing a lot of code to be search-engine-friendly, so how many pages is this site going to have? Are you familiar with the latest recommendations from Google and the other search engines, or do you need to brush up? Do you know the client’s industry well enough to find suitable niche directories and link partners?
Communication
Some clients require more interaction than others. Does this client seem to have a very clear idea of the type of site they want you to create? If not, you may be spending hours on the phone and email trying to coax from your client what “just isn’t quite right” about the design. (Even without that problem, you may be surprised how much time you spend reading and writing emails.) If the design is particularly complex or for a corporate intranet, are you going to be doing any training once the design is complete?
Travel
Speaking of communication, how much of that is going to be in person? Are you dealing with multiple decision makers who will want you to come on site for meetings and progress reports? Remember the “Design” section above when I mentioned walking around their building with a digital camera? How far away is their building?
Research
I frequently work with clients who know that they want A, B, and C, but would like me to look into how difficult it would be to add D into the mix. Sometimes I can answer automatically, but sometimes it will take some looking into. If you find yourself in the same situation, how long are you willing to research something on your own time?
Is that everything? Not necessarily. Every project has modifications once the client has a chance to look at the finished product, so having a moderate amount of buffer time can be wise.
Trivia: The strangest time drain that I didn’t plan for came with a client who used a hosting service with which I wasn’t familiar. That host set default permissions on all my files that kept my PHP code from working. In the grand scheme of things it didn’t take that long to resolve, but it did eat into my profit on that project.
