Very Large Project Insurance
Jan 11th, 2008 by Ricker
Very large companies have very large software projects. It is not uncommon to find projects with hundreds of developers with schedules lasting years. Such projects cost hundreds of millions of dollars. Sometimes the projects go wrong. The companies put more people on the project, meaning more money. The deadline slips, the project is extended more months, which means more millions. In some cases, the company deems the project a lost and pulls the plug. The technology investment is a complete loss. We are talking about $100 million, $250 million, sometimes $500 million spent with no result.
Rule of thumb is $1 million for every 8 people per year. A project with 40 developers will cost $5 million per year. A project with 200 people lasting four years will cost $100 million.
Large companies should have very large project insurance. They should pay some premium in order to insure that at the end of the project there is something that can be delivered. The definition of very large project will differ between companies. I would consider any project with 100 people and longer than one year a very large software project.
For every large project, set up a competing team with 5 to 10 percent of the resources. If the main project has 100 people, then the competing team would have 5 to 10 people. The competing smaller team has the same business objective. However, the smaller team operates outside of the rules of the large company. They have no bureaucracy. They do not need standard approval processes. They operate with complete freedom. The smaller team does not have to use the same technology or techniques of the main project. They need only solve the same problem.
The two teams should work in isolation. The members of the large project should not know that the smaller project exists. The small project should have access to all requirements generated by the large project.
You must never, never let the large team steal resources from the small team. However, you may want to let some team members leave the large project for the small one. Very skilled software developers are creative people, and creative people will become very frustrated with the bureaucracy of a large project. The very skilled developers can always find work. If and when they become frustrated, you have a choice: either watch them leave for another company or move them to the small team. In the small team they will regain their excitement and they will have all the knowledge of the project objects. It may seem that the advantage is in favor of the small team. Remember, they are your insurance.
The small team must be a strategic asset. The team must have a separate reporting chain right up to the CIO, or CEO or even chairman. If the small team has a common manager anywhere lower on the chain, then you can be guaranteed that they will be shut down. The managers will covet the resources of the small team. They will see the small team as only a threat, not a strategic asset.
At the end of the project, you must be prepared to throw one of the two projects completely away. This concept is probably the most difficult to accept in very large project insurance. Executives will feel compelled to pull something out of the large project and merge it with the small one. Any attempt to merge the two projects will fail. This is insurance; there is no half way. If the house does not catch fire, you do not get your fire insurance money back. If the house does catch fire, you get a new house; the old house is gone. The same is true with very large project insurance. One or the other project will deliver; there is no half way.
You are not wasting your money by having a competing smaller team. Consider a project with 200 developers over four years. The main project budget is $100 million. The small team would be 16 developers over three years, which is $6 million. The large project burns more than $2 million per month. If it slips three months, it has burned more than the cost of the insurance.
