how to accurately estimate a web design project

Download How to accurately estimate a web design project

If you can't read please download the document

Upload: intervals

Post on 16-Apr-2017

1.567 views

Category:

Software


1 download

TRANSCRIPT

PowerPoint Template

How to Accurately Estimate a Web Design Project

Whether you flat-bid or bill hourly, the ability to accurately estimate projects is crucial for delivering within budget and avoiding client disappointments. While completing over 300 projects for more than 100 clients at Pelago, weve spent the last nine years honing our estimating skills into an art form. Follow these four steps to create accurate estimates when quoting your next project.

1. Break it down

The more you can break down a project into its basic components, the easier it will be for you to estimate. By estimating the hours needed on a granular level, you will have more precision in your estimate. There are a few ways you can break down the project, how you choose to do it is up to you.

We usually try to break a project down into modules, and then further down into the types of work required for each module. For example, an ecommerce site could be broken down into modules like Product Admin, Order Admin, Customer Accounts, Store Front, and so on. Each of those modules can be further articulated by work type; Engineering, Production, and Database.

If the project is a simpler one and you are designing and building pages using HTML & CSS, break it down by the number of pages youll be building. A good formula for HTML production is to estimate several hours for the first page, and then an hour or two to build each additional page.

Breaking down the requirements like this gives you smaller chunks of functionality that you can easily wrap your mind around and estimate accurately. When youve estimated each piece, add them all up for your total.

2. Add time for project management

Now that you have an idea of how many hours the project will require, its time to make your first adjustment. Add 10% to 20% more hours to accommodate for project management. These are hours that will be used to compensate you for the time you spend corresponding, meeting, and emailing with the client. It will also cover the time you spend managing any subcontractors or team members. Freelancers can get away with a smaller markup, while design teams should use a higher percentage.

3. Mark it up, again

In an ideal world, our estimate would be complete. But its not an ideal world. There will always be unforeseen events and circumstances that are going to increase the original estimate. So we might as well account for them in the beginning. Mark up your estimate by another 25% to 33% to account for the fluctuations that are certain to occur. If the project includes any type of web-based software, it is highly recommended that you do this.

4. Add a margin of error

Some times you will come in under budget, some times you will come in over. Including a margin of error in your estimate gives you some wiggle room if conditions change during the project, and gives the client a realistic range of what the final project will cost. We usually use a margin of +/- 15%. For example, if our final estimate was $10,000, our estimate will show a final total of $8,500 $11,500.

And thats it, really. Now you have a number that will accurately account for the time needed to complete a project. Your estimate may seem high with all these markups, but it is far better to come in with a high estimate and deliver under budget, than it is to bid low and hit up the client for more money, or worse, pay for the overages out of your own pocket.

In addition, developers have expectations of one another. Some developers may be working their asses off while others are hitting up the ping-pong table every hour. If developers are tracking their time, you are one report away from knowing who is doing their job and who isnt. Disparity in effort among developers may not have any effect on the quality of code, but it will kill morale and may ultimately take the product down with it.

Accurate Flat Bids

Just because agile development makes us faster at web development doesnt mean we are immune to inaccurate estimates and scope creep. Having estimated over 300 projects in the last 10 years, we strongly believe in the predict, track and learn cycle of estimating projects. Weve honed down our estimating skills to the point we can estimate a project to within 10% of its final outcome. We could not have done this if we did not track our time. The win-some-lose-some mentality behind flat bidding is not a very sound business practice. It leaves you open to underestimating projects and scope creep. Disciplining developers to track their time gives your business a much higher probability of accurately estimating future projects and takes the guess work out of flat bidding.

Billing Hourly

In our case, we are a web development agency that does agile development and bills clients at an hourly rate. We gave up on flat bidding long ago because they required too much work up front; defining a bulletproof scope when neither the client nor ourselves had a clear picture of what the finished product looked like. Billing hourly allows us to quickly develop a web application that will inevitably change as the client watches it come to life. Changes in scope are easily tracked and billed without interrupting the agile development process.

Short-term gain, long-term loss

Lightning McQueen learned this lesson the hard way. He was all gas-n-gos and was positioned to win the Piston Cup when his two back tires blew out. He didnt win the race. If an agile software development business decides not to track their time, they will likely not suffer any consequences in the short-term. However, they will experience long-term repercussions as a result of their decision. Developers will burn out while cramming to complete poorly planned sprints, managers will struggle to quantify why a given feature is taking longer than it should, and shareholders will start making uncomfortable inquiries. Had a time tracking system been in place, many of these problems go away.

The discipline of accurate time tracking is getting more and more simple to accomplish with the advent of so many great online time tracking apps. Intervals, for example, will let you toggle timers on and off whenever you start or stop a task. You dont have to recollect your workday at 5pm because the app has already done it for you. It also seems that other online agile project management tools are beginning to come around and add time tracking as a feature.

Meanwhile, there are some additional conversations on this subject over at StackOverflow.com:

Time Tracking and Agile Methodology

Time Tracking in Scrum

Check out the Intervals blog for more articles

The Intervals Blog

A collection of useful tips, tales and opinions based on decades of collective experience designing and developing web sites and web-based applications.

www.myintervals.com/blog

Click to edit the title text format
When they two lines?