I have a confession to make. I'm absolutely terrible at making estimates. No matter how long I think something is going to take, it always takes longer. Even if I double, triple, or even quadruple my original guess.
And it's hurting my business. Why? Because I do everything I can to deliver what I promised. And I end up losing money, instead of making money. Instead of renegotiating with the client, I work nights, weekends, and pay my employees out of my own pocket to deliver. I go months without a paycheck, rarely get a day off. Does that sound like any way to run a business?
For years I thought it was something else--that we just weren't executing well enough, that I didn't have the right people, that I didn't know how to run a business. But I've exceled at every previous job I've had, have lots of happy customers, and hear regularly from peers and colleagues that my insights have saved them lots of money, or helped them figure out the key things they need to understand to make their project succeed. And now I realize that I've been going about it all wrong.
The problem is, lots of things outside our control affect the cost of delivering a solution. Microsoft releases a new browser, and it breaks a bunch of Javascript on a bunch of sites. Who pays to fix those sites? A client asks for a bunch of reports, with one more layer of summarization than our tools can currently provide. Is that part of the original project, even if we didn't know about that requirement at the beginning? A client who has never fully thought through a user login system changes that system three times--which represents a major change in the project--and then wonders why we went over the estimate. Or, harder from our point of view, a key module we thought we could rely on for particular functionality turns out to be half-baked and causes more problems than it solves, and we end up deep down a rabbit hole of debugging to find a simple solution that solves everything better and takes 1/2 hour to implement--after we've spun our wheels for 20.
It's not just us. It's the nature of creative work. And our clients haven't been paying the actual cost of that. We've been bending over backwards to deliver everything they asked for up front, without charging more than our budget, but with no flexibility in the scope. From our standpoint, all parts of a project are equally weighted--if the customer asks for it, we do it, even if it uses more of the budget than it should and leaves us short when we get to a critical part of the project. Our clients dictate the scope AND the budget, once we get started. That's the real problem.
Starting right now, we're changing that. As a client, you'll now get to choose one or the other: Scope of the work OR the budget.
If you want to control the scope, we're happy to deliver everything you want and send you regular bills as we go. We can't tell you what it's going to cost ahead of time, because we don't know the scope. Even if you tell us. Because almost certainly, you're wrong--there's something significant you've left out, and nobody knows it until it comes up.
If you have a limited budget, then I'm sorry, you can't control the scope. We want your project to be successful, and we'll partner with you to make the most of your budget, deliver the most value we can for your budget. But when we've run out of your budget, we're done, until you've got more.
I think this is going to lead to a lot more successful projects. Why? Because it makes us an active participant in the planning of your project. We not only can, but must apply our years of experience to prioritize which parts to implement first. When our clients control the scope, the focus tends to be on the look and feel. We spend far too long making minor changes to the front page of a site, without wiring together the things that actually make the site work. If we control the scope, we'll start by identifying and prioritizing each feature, and make sure the critical stuff gets done before you're out of budget. And make sure we're around to keep helping your site improve.
The other change we're making is setting it up so that the launch of a web site is the start of the project, not the end. If you're like most of our clients, your needs will change over time, and we want to keep helping you adapt your site to meet your needs. That's the real strength of our platform of choice, Drupal--it can continue to grow and change as you use it. Set a regular budget and we'll work with you over the long term to keep improving your site, give you ideas on how to make it do more for your business or organization, and implement the things we cut from the initial project when we ran out of budget.
So here's to a GREAT 2010... Happy New Year!
Just thought I'd drop a quick note and as a former Freelock employee, and future solo consultant/contractor, I applaud this post. Very good insight on how to improve things in a business where it is very hard to predict projects.