There’s a saying in software development: the first ninety percent of development takes ninety percent of the time, and the last ten percent takes the other ninety percent. This isn’t meant to be a scare tactic, causing project managers to throw up their hands in exasperation, but certainly a problem we need to understand. Jeff Atwood, from Coding Horror, tries to explain:
This software developer does not have a detailed list of all the things he needs to do. Which means, despite adamantly claiming that he is 99 percent done — he has no idea how long development will take! There’s simply no factual basis for any of his schedule claims.
Now think of all the other little things that need to be done for a website launch.
- Do you have a user friendly sitemap and a robot friendly sitemap.xml?
- What about form validation?
- Are all the social media links hooked up to the right places?
- Do they need to integrate their Twitter feed via the API?
- Has it been tested on Mac & PC? Don’t forget the client uses IE6.
These are all the little things that probably don’t get mentioned during the pitch for an awesome new design featuring a community forum. Unfortunately, if they’re not included in the quote, the client may assume they are so minuscule as to not require mention. While this may be true on their own, combined they can cost hundreds of dollars and you’ll be the one footing the bill for that assumption. You can give yourself a safety net by including “15 additional pages” in your estimate, but that doesn’t paint an accurate picture of the work either. In fact, it gives the client even more leeway to request expensive features on those “additional” pages.
If the developers don’t know about all the little things, they can’t accurately estimate a project in the first place. Trying to give an exact hour estimate on how long an entire project will take, without knowing all the work required, is kind of like asking a contractor how long it takes to build a house without showing them any plans or drawings.
Let’s return to our original quote, which says the last 10% of any work is takes just as much work as the previous 90%. Why is that? Some would argue that the first 90% is spent making features “work” and the last 10% is used to perfect them. However I would argue that the last 10% is actually the 50% or more of the “features” that you forgot to estimate for.