Christmas and New Years are right around the corner. I have been busy writing SOW’s for iPhone Applications, websites and even giving estimates on Logo’s, Business signs and Print Collateral. All to hit before the Christmas of 2009 or New Years 2010. Multiple projects using different skill sets. However, I must not stray from methodology and use effective strategies to estimate time for design projects.
Estimating Is Not Fun
Ok, so it’s not as sexy as adding that beautiful grunge effect to a design, and it’s not as exciting as tweaking that jQuery plugin to work just the way we would want, but estimating time for a web project more accurately is almost certainly more important than both when it comes to sustaining a freelance or small web agency business.
However, while few will disagree as to its importance, many will continually find it difficult to muster up the passion and diligently estimate time for a web project, but why!? Here are more secret reasons:
It’s hard work and takes many outside their comfort zone
Estimating usually has to be completed alongside your plans for your already fully booked week
- It forces you to try and predict the future
- It makes you largely responsible for the business’s sales success, solution offered, project profitability and growth and survival of your business (scary stuff!)
Web agencies often have the edge here because they will have dedicated salespeople or project managers who are used to the rigors of estimating, but freelancers will generally be more inclined to find the whole process rather boring and just want to get on with the fun stuff.
Luckily, I have come from both an agency background and corporate background, I know the importance and skills necessary to do the due diligence up front. I also, reap the fruits of my labor by working on the project I have planned.
So what other techniques can be used to further increase the accuracy of your estimates?
Consistent Project Phases And Tasks
As previously mentioned, when being asked to provide an estimate for a project, it is invariably not something anyone has allocated time to do. As a result of this, estimates are often put together quickly and if compared to past estimates it’s not uncommon to see the same project phase or task classified in many different ways, and for similar sized projects the estimates for each to be completely different.
If you win the work you may think “so what?”, and to some extent you would be right, however, the first step in creating more accurate estimates on a long-term basis is to always break down the project phases and tasks in a consistent manner. Web projects can generally be broken down into the following phases:
- Research and planning
- Solution design
- Design
- Front-end development
- Back-end development
- Content entry
- Testing
- Go-live
By always beginning to compile estimates using a consistent high-level breakdown means you can have a re-usable template eventually and track the time spent on each.
But don’t stop there! Consistently breaking each phase down further will not only increase the accuracy of the estimate, but again, also result in valuable data over time.
Getting Granular
Now the project estimate is broken down into high-level phases, it’s time to get more granular and break each phase into tasks. This is where the estimate begins to become more tailored to the specific project, but also includes common tasks that you can add to your estimating template and use again and again. For example:
- Research and planning
- Requirements gathering
- Project planning
- Solution design
- Sitemap
- Wireframes
- User workflows
- Functional specification
- Design
- Initial homepage look and feel
- Content page
- Master content page template
- News main page
- News item
- Front-end development
- 5x Templates build XHTML/CSS
- JavaScript and AJAX
- Cross-browser fixes
- Back-end development
- CMS Setup and configuration
- News feature
- Contact us form
- Content entry
- Homepage copy
- Addition of 10x News items
- Testing
- Internal functional testing
- Client User Acceptance Testing (UAT)
- Go-live
- Live server setup
- 301 re-directs from old site URLs to new
The page templates and features specific to the client’s project can be listed at this stage, alongside the tasks required in all web projects.
Once you get into the habit of compiling estimates in this way you will find yourself envisaging the phase and tasks lists during the pre-sales initial communication with the client and this invariably:
Refines your requirements gathering skills to quickly get the information you need in order to put together a thorough estimate
Forces you to think the project through in a step-by-step fashion and minimises the chances of missing a large, or several small, tasks that could end up putting you over budget because you didn’t factor them in
So, you now have a pretty solid phase and task list for the project and all that’s left is to estimate hours for each and send it off to the client right? Maybe, but wait, what exactly does the News feature consist of? Is your interpretation of a News feature the same as the client’s?
Now is the time to investigate and define it, as opposed to after the contracts have been signed.
Getting More Granular
While it’s tempting to estimate hours for the News feature and submit to the client, if possible, try to nail down exactly what the client wants from this feature at the estimating stage, after all, if you look around, you’ll be able to quickly find different variations of the same feature that have a huge differences in terms of size, features and complexity, and thus cost.
Using the News feature as an example, talk to the client and determine what it needs to do so that you can again minimise the chances of missing something in your estimate that could, when added to the other ’small’ missed tasks, amount to a serious budget overrun situation.
You may find out the News feature requirements are:
- News feature
- Add/edit/delete news item
- Upload image
- Attach PDF
- Auto-archiving
- RSS
Excellent, you have now defined the News feature and can confidentially estimate the time you think it will take to implement. But hidden in even the most basic and common of features lay more ’small’ things that if not captured, considered and quoted on, can add to the likelihood of overrun.
For example, the client has specified they need to be able to upload images to news items, but do they need any of the following:
- Auto-resize capability?
- Auto-thumbnail generation?
- Full-screen viewing?
- Caption addition facility?
Any of the above News features could add a few hours to the overall project and thus need to be ideally catered for in your estimates – a few missed ‘couple of hours’ tasks and suddenly the project is two days over budget.
Getting granular and mentally trying to build the solution means you are able to identify and address these issues early on, making sure to cater for them in your final estimate.
Buy:Acomplia.Zetia.Lipothin.Buspar.Amoxicillin.Benicar.Seroquel.Aricept.Cozaar.Nymphomax.Female Pink Viagra.Prozac.Wellbutrin SR.Female Cialis.Advair.Lasix.Ventolin.SleepWell.Zocor.Lipitor….