You can contract with an outside programmer to create original software or customize existing software. Custom software contracts involve both goods and services.
Note: You must consult a Buyer in Campus Purchasing before you negotiate contract terms and conditions. Do not sign letters of intent or other written understandings because they are enforceable as contracts even if signed by people who have no authority to commit funds.
Vendor Selection
The selection of a vendor for custom software will normally be limited to a Sole Source selection if the customization involves modification of a vendor's proprietary software product. If the custom software is a development project that does not involve modification of a proprietary software product, competitive bidding may be required to select a vendor for the software development services. In most cases, a vendor's product that is being customized will be covered by the licensing agreement.
Statement of Work
Any custom software development project should have a clearly-defined Statement of Work including what the vendor is able to perform and a definition of deliverable products and services. Specifically and clearly define the services and deliverables in advance. You must develop this statement yourself, and you define the format. It can include:
Services | Specify the objectives and services such as installation, training, support, and maintenance. |
Goods | Specify deliverables, including required software functionality, source code availability, documentation, manuals. |
When | Specify the schedule, stages of performance, and acceptance criteria for the software. |
Who | Identify key personnel for each party, especially when you are hiring a company but you want a particular programmer. |
Cost and Price
The higher the cost, the more important it is to break it down into components when negotiating the contract to minimize taxes (goods are taxable, services usually are not) and to develop a payment schedule. For example:
Cost | Itemize and include standard of measurement used such as hourly rates or unit costs. |
Warranty | Is it included in the cost? |
Number of sites and users | How many will be using the program? |
Price Protection | Include price protection for additional users or future maintenance periods. |
Timing of performance and payment | If the work can be broken into phases or steps, payment can be negotiated based on completion of such milestones. Milestones may include:
|
Other key terms | Discuss with the buyer your requirements and some of the other issues you should consider in contracting for custom software. For example:
|