Promise and Deliver
“They” say that you should under-promise and over-deliver. That seems to make good sense, doesn’t it? Why argue with conventional wisdom here? You set the client’s expectations really low and then you “WOW” them. How does that *NOT* make you look like a superhero?
The problem actually sets itself up several ways. First of all, it is extremely hard for your clients to manage their projects that way. If you set a time line of 3 weeks to finish 3 features and the client needs 10 features done in total, budgets are set to that effect and plans are made (including testing plans, marketing, etc) with the expectation that this project will take 10 weeks to finish development at this pace.
However, since you are an “over-deliverer”, you actually get 6 features done in those 3 weeks and the last 4 features done in another week and a half. So now we are less than halfway to the deadline and all the features are done and you even throw in “extra” features that had been cut due to your original estimates. What we are left with is a client with a finished product that they aren’t properly ready to market (remember those extra features?) and a TON of lag until launch day.
Let’s pretend that our situation isn’t even that dire. We can imagine that we had a simple project to do and we decide that we can do it in 3 days, but we pad our estimate to a full week since we love to under-promise. The truth is that we could really do it in 2 days and we do just that. We spend day number three testing the heck out of the thing and hand it over to the client. Their initial reaction might be that they are really surprised and happy.
That happiness might not be too long for this world, though. Your client might notice a pattern when working with you and decides to start pressing you for shorter estimates under the guise of urgency, but really it is because he doesn’t trust you any longer. You are either a terrible estimator, you cut a lot of corners, or you are a liar. Now when you really do need more time for something that is more complex than anticipated, the client fears that you are sandbagging and might make you commit to a deadline that you can’t make, further eroding that trust.
You can just avoid all of that hassle. Become familiar with your own throughput and velocity. Learn what you can and can’t do. Give up being a “superhero” (I know that one is hard, it is my Achilles heel). Learn the skill of Software Estimation and give good estimates and then… Back. Them. Up!
Occasionally, you will over-deliver and that is okay. Those are examples of when you have truly gone above and beyond. However, remember that you are far more valuable to your clients as someone who promises and delivers with such regularity that it is almost boring. You will be a superhero in comparison to others who are not as dedicated to the craft.