Skip to Main Content

Custom Software


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:

 ServicesSpecify the objectives and services such as installation, training, support, and maintenance.
 GoodsSpecify deliverables, including required software functionality, source code availability, documentation, manuals.
 WhenSpecify 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:

CostItemize and include standard of measurement used such as hourly rates or unit costs.
WarrantyIs it included in the cost?
Number of sites and usersHow many will be using the program?
Price ProtectionInclude price protection for additional users or future maintenance periods.
Timing of performance and paymentIf the work can be broken into phases or steps, payment can be negotiated based on completion of such milestones. Milestones may include:
  • Design and development
  • Installation and beta testing
  • Acceptance testing, training, documentation
  • Warranty and maintenance period
Other key termsDiscuss with the buyer your requirements and some of the other issues you should consider in contracting for custom software. For example:
  • Who owns the software? Will you get a license to use the software or own it outright? Rights of any third parties: Who owns existing off-the-shelf software?
  • Acceptance testing: criteria, specifications, and procedures to decide if the software does what you want before you pay for it
  • Performance specifications: criteria for response time, downtime, error rate, hardware requirements
  • Mission creep: Plan for your needs to change, and include processes to change requirements and price
  • Warranty and maintenance: coverage options, costs, renewals