A software architect answers questions for business people who are interested in working with software consultants.
Bill Zimmermann is a software architect at Pro Systems, a custom-software developer in Gurnee, Ill. In 16 years Pro Systems has completed about 500 custom jobs, mostly accounting and engineering packages for small and midsize companies. Zimmermann offers some tips to CEOs working with software consultants:
Inc.: How should I prepare for a meeting with a developer? Zimmermann: We want to know about the business and the goals of the project. If there are people who understand the operations around the software better than the CEO does, have them at the first meeting. What often happens is that the CEO learns something about his or her own business.
Inc.: What are the standard pricing and payment terms? Zimmermann: The best pricing has aspects of both fixed cost and time-and-materials cost. Using fixed cost for the main project gives the developer an incentive to understand exactly what you want. Time-and-materials cost works well for additional work before and after. Some time-and-materials projects have a deadline. If that's missed, the rate diminishes -- maybe it drops from $100 an hour to $80 an hour. With fixed-price agreements, we bill 25% down, 50% in in-progress payments, and 25% upon completion.
Inc.: How should I make changes along the way? Zimmermann: The earlier, the better. But a change may cost extra if the contract stipulated that things were going to be done in a different way.
Inc.: What's the best way to contain costs when a project starts to go over budget? Zimmermann: It's too late at that point. You have to look for benchmarks at the beginning. Tell the consultant, "I want to monitor costs. What intermediate points are there to see if it's on schedule?"
If there's a cost overrun, it's because somebody didn't realize the complexity or scope of what was actually needed. If it's the consultant's fault, you may want a third opinion on the architecture of what's been done. If the work is strong enough, it will accommodate changes. Otherwise, it will be wasteful to push it. You could end up with something hard to work with and almost unchangeable. Better to scrap it and start over.
* * *
Resources Managing Software Development Projects: Formula for Success, by Neil Whitten (John Wiley & Sons, 1995, $44.95), provides a good explanation of custom-software development and has a bibliography of additional resources. The chapter on vendor relationships includes a project-management evaluation scorecard to help readers measure developers.
Also check out the Software Engineering Institute's web site at http://www.sei.cmu.edu. The nonprofit, which operates out of Carnegie Mellon University, has developed models based on best practices of software developers.