There are four types of software outsourcing contracts: time and materials, fixed price, revenue share, and hybrid. These contract types are listed in order of increasing risk for the customer and decreasing order of risk for the service provider firm. Each type of contract has conditions under which it is the best choice.
- All contracts typically contain the following information: scope of services, software development approach, assumptions, deliverables, pricing, intellectual property and deliverable ownership, contract duration, service levels, customer responsibilities, service provider responsibilities, conflict resolution, and termination process.
- In a time and materials contract, the customer pays an agreed-upon contract rate per hour or day of software development performed by each service provider resource, plus materials (any agreed-upon other costs) such as travel, network costs and software programs. The rate may differ based upon the experience and/or role of the service provider resource, a system architect for example, would command a higher rate than a junior programmer. This type of contract is best used when the amount of programming required to create the agreed-upon deliverables cannot be estimated, such as when new algorithms or techniques are required.
- In a fixed price contract, the customer pays one agreed-upon price for an entire body of work developed by the service provider. This is less risky for the customer than a time and materials contract since the customer is paying one price regardless of how long it takes the service provider to deliver the software. Often, there are incentive or penalty clauses based on the number code defects or software delivery times. This type of contract is best used when the amount of programming required to create the agreed-upon deliverables can be accurately estimated.
- A revenue share contract can only be used if the service provider will be creating a software product for a customer who will then be selling the software product to their customers. In this case, the service provider will develop the software at a reduced cost in exchange for a percentage of sales of the software product. Thus, the service provider and customer are sharing the revenue from the software product. This lowers the risk for the customer--if the product does not sell, they have not paid as much for the software as under a time and materials or fixed price contract. On the other hand, if the product sells very well, the terms of this type of contract often allow the service provider to receive more compensation that in other contract types.
- A hybrid type of contract is one that combines several of the above approaches. For example, some contracts may have a fixed price design phase and a time and materials programming phase or a contract that combines a lower than usual fixed price with a revenue share component.
评论