
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
Tom Cargill, Bell Labs
This 90-90 rule is simple. It exists prevalently in software development and technology delivery world. The essence is the last 10% of work takes another 90% of the time. So in reality, count your mid point when you feel you are 90%. This is due to fine craftsmen’s final touch is more complicate, but also due to unknowns, unexpected turns, and other compromises.
This is rather an interesting topic for project managers, leaders, and most importantly, executives, as they are the one who promise the final date. First of all, have your buy in on it. Denying 90-90 rule won’t do any good because 90% of time, it will happen. Secondarily, have a big picture in mind on what you can compromise. If you are in aerospace or construction industry, the likelihood of your customer accept a 91% built product is absolutely none, because no one will trade safety to a hasty rush. However, if your products are social media, causal software, or you are pursuing an emerging market, you might have reasons to let the product go to market first and fix them later. In this scenario, timely birth is beating anything else. Weigh your business properly from 90-90 rule.
For most others, we are dealing with this challenge through risk management, and delivery strategies and tactics. Throughout my career, I have been facing mission critical deliveries or rescues that meeting a timeline is a 100% must, in combination of following fun factors:
- Technology unknowns
- Key members deserted
- Delay on resources (people, equipment, contract signing etc.)
- Increased or last minute compliance scrutinizing
- Integration unavailability
Therefore, without writing a book, here are a few tips on how I have emerged from those hazy problems repeatedly as I stick on the following principles:
First, do not skip planning and re-planning. As many people believe actions, only effective actions and smart strategy will do the job. Therefore, the first move is examining the situation, and redo the teaming (most time you will need it), a team who can win, and who wants to win.
If a rescue is needed, never skip re-planning.
Second, put an iron fist on scope. Scope is the universe of your problem. If scope can re-carved, under control, and without ad hoc executive interference, you have a better chance of succeed.
Scope is the biggest difference maker, at least freeze it.
Third, overwhelm the challenges with overwhelming resources in the early stage. Don’t sign up if no such support. This is to secure ahead of schedule delivery in the first 90% portion, which is the key. Overstaffing not only gives more expertise, but also boosts confidence to team members.
Even for a street fight, more hands are always helpful.
Fourth, know the absolute how, either by yourself or a trusted team lead. This is where technical skill plays vital role to reduce overheads, avoid dependency problems, and timing the integration.
No team can succeed without a technical soul.
Fifth, carry out a disciplined and high performance execution. This is at tactical and operation level.
With no extra days on the calendar, each day counts.
Last, focus on roll out strategy. Just like airplane’s taking off and landing are the two most important legs of its safety and operation, how to complete the work is why the last 10% requires a normal 90% time.
The most complications come at the completion time.
90-90 rule applies regardless of your software development methodology. Agile or waterfall does not matter either way. Work is work. 90-90 rule is more about the understanding and preparation for the last 10%. Similar to an NBA or NFL game, 90% regulation time (6 minutes left) usually leads to another 30 or 45 minutes in actual play, with timeouts, injuries, breaks, and unexpectable.
A strong, prepared, anticipating, and creative mind will prevail.