Estimating a project is a learned skill akin to becoming a Sorcerer Supreme. To be honest, I am not even sure I do it properly half the time. So many variables to take into account, and you’re shooting a moving target from the back of a speeding train. The most important thing is to properly understand the scope. If you’re working with small companies, a lot of times the scope will be nebulous. A lot of moving parts to pinpoint. That’s why it’s important to define the objectives of the project right off the bat, and provide a clear understanding of the work involved.
An honest estimate provides the basis for a solid working relationship. It is important to present an estimate that is understood by both parties. The estimate should also reinforce that the work being done is a skilled service like plumbing, or auto maintenance, or carpentry. There are a lot of factors at play when doing any skilled work, and web design and app development is no different. The client should be made aware that your skill is not a commodity. There are a lot of tools of the trade that help to speed up a project and make it more cost effective, but if the client is serious about their business then they should understand that what they are paying for is an investment in their brand.
They Grow. They Always Grow.
The simple nature of web and graphic design means that your estimate must have room to grow. It is imperative that wiggle room for incidentals is included in the estimate. This will in turn help to limit the scope of the project. Providing a conservative estimate is okay, but it is also important to let the prospective client know that, like all estimates, what is contained in the initial price tag only includes things that are known. Estimates need to allow for the “gotchas” as they always come up. It is one thing to screw up and have to eat the cost for work that wasn’t performed correctly, it is something different altogether to have to change course on a project because of a component or deliverable that was assured to be present that never truly existed.
The client needs to be made aware at the very beginning that additional “gotchas” can occur, and that the client will be presented with these clients as they arise. Ultimately, it is on the consultants shoulders to get the client to pay for those gotchas, but if the consultant can provide a solid value for these items
What it is not?
Discovering the limitations of a project at the very beginning is the best way to create a reliable estimate.
Instead of defining what the project is, try defining what the project is not. If the project is to design and create a blog page, make sure that the project doesn’t include rewriting backend code, or installing a database. If the project is creating a fully functioning web application, make sure you communicate the need for additional resources as most large projects will require both frontend and backend work.
Ask The Experts
If you are needing outside resources to complete your project, make sure to ask experts who you trust how long they think their portion of the project will take. Don’t just come up with a number without consulting the person who may be doing the work. There are programming and infrastructure things to think about. Timing, dependencies, troubleshooting. All of those are a great reason to get a second opinion on your estimate.
What invariably happens is that the resource starts on the project, notices a few things not scoped out, and then all of a sudden the estimate is blown out of the water, and you have to go to the client and explain why. Very awkward.
Creating a project plan and proper estimate can be stressful, and there will always be items that you do not account for. You want to deliver the best possible project to your client, and you want everyone on your team to get paid what they’re worth.
By giving your full attention to the project estimate, you can narrow down a lot of variables and keep scope creep to a minimum. That’s not to say it won’t happen. It will, but keeping at a level to which you can complete the project succesfully is key to your client’s happiness.