Software Development Agreement Checklist

1. Definition of custom software
 a. General functional description
 b. Specific deliverables
 c. Clear definitions
 d. Business functions
 2. Detailed design specifications
 a. Possible as separate agreement
 b. Approval process
 c. Procedure for changes to detailed design after approval
 3. Request for proposal
 a. Define user business
 b. User requirements
 4. Proposal
 a. Pricing
 b. Performance parameters
 5. Implementation schedule
 6. User involvement
 a. Formalize procedures
 b. Daily operation of system
 7. Progress reports
 a. Twice a month from vendor technical personnel
 b. Once a month vendor senior management
 8. Payment schedule
 a. Tied to performance
 b. Payments made at completion of specific functions
 c. Retainage until after implementation
 9. Relationship of software to hardware
 a. Premise hardware delivery on software acceptance
 b. Commit hardware supplier to software vendor
10. Acceptance tests
 a. Included in detailed design specifications
 b. Levels of acceptance
 c. Prior to delivery
 d. Use of live data
11. Ownership of software
 a. Custom software
 b. Modifications to licensed software
 c. Competitive advantage
 d. Exclusive license to modifications
12. Terminal response time
 a. Relationship between hardware and software
 b. Firm representation
 c. Number of transactions
 d. Maximum number of seconds
13. Data conversion responsibility
 a. Costs
 b. Vendor assistance
14. Programming language
15. Vendor staffing and staff qualifications
16. Training
 a. On-site
 b. Formal training courses at vendor facilities
17. Progress meetings
18. Documentation
19. Confidentiality
20. Software maintenance after development
21. Source code
 a. Delivery
 b. Escrow
22. Default provisions
23. Vendor disclaimers
 a. Implied warranties
 b. Consequential damages
24. Warranties of performance
25. Indemnity
26. Taxes
27. General
 a. Force majeure
 b. Notices
 c. State Law
 d. Assignment