|
So what does all this mean to you, a businessperson thinking of contracting the development of custom software? Well, most important, you have to realize that people who say things like "That's a six and a half man month project." or "Going with a three-tier solution will add another man-month to the project" are talking through their hats. Unless the programming team has been selected, the schedule set, and the technical lead consulted on the matter, such statements are meaningless.
The biggest favor you can do yourself is to simply ignore all talk of man-months. Some simple preliminary analysis will determine the approximate cost of the project. If the price range is acceptable to you, insist upon -- and be willing to pay for -- the compilation of a detailed functional specification of the software to be built. Once that is done, then a final price and delivery schedule can be agreed upon.
From that point on, focus only on functional requirements not the resources the contractor is using to meet them. Whether the software is developed by a team of 20 programmers or created by voodoo incantation really doesn't matter. The developer is responsible for allocation of resources. You are purchasing the end product.
With this in mind, you should also require that all bugs found within a reasonable time frame, say one year, be fixed promptly and without charge. Most development companies are happy to provide such guarantees, but those who balk should be treated with the same mistrust applied to any manufacturer who refuses to warranty their products.
Focusing solely on the end product is the best way to get value for your money, but many clients feel that having five programmers working on their project for three months demonstrates that they are getting their money's worth. However, 30 years of productivity figures show that this is simply not the case. In fact, man-month scheduling usually becomes a self-fulfilling prophecy.
When a contractor tells you that a certain job is a "ten-man-month project," it means the company will assign three engineers full time and a fourth part-time. You will get whatever they have developed after three months. This is wonderful for the contractor. For unless he grossly misestimates, it ensures the profitability of the project. From the buyer's side, however, the situation is less than ideal.
"Now wait a minute", I hear you say. "I know of quite a few small projects that were scheduled using man-months and they went just fine." True enough. Most contract projects are still scheduled in man-months, and a lot of perfectly acceptable software has been built and delivered in this manner. Then again, a lot of law and sausage has been made over the years as well. In all cases, there is room for substantial improvement.
|