Legal checklist for developing software

This note highlights some key legal and commercial issues that should be included in a properly drafted software development agreement, which if overlooked, can have very serious consequences both legally and commercially if they are not dealt with properly from the outset of the relationship between the developer and the customer.

Is there a business need for the software?

Evaluate
1. Existing infrastructure
2. Interfacing with other systems
3. Mission critical/real time systems
4. End-user requirements
5. Desired functionality
6. Performance criteria
7. Regulatory/audit criteria
8. Consider proposed revenue model if appropriate

1. Development language and tools
2. Interfacing with other applications
3. Future proofing
4. Performance
5. Scalability
6. Security
7. Functional operation
8. Maintainability
9. User interface (Beware of scope creep)

1. Technical specification
2. System/program architecture
3. Well documented code
4. Version control
5. Quality assurance
6. Error reporting
7. User interface

1. Functionality
2. Destructive testing
3. Review output and reporting

1. Has the functional specification been achieved?
2. Benchmark the performance
3. What happens when you Go Live?

1. Training
2. Transition
3. Data migration
4. User documentation
5. Configuration documentation

1. Refining the software
2. Support and maintenance agreements
3. Service levels
4. Identify future development to meet evolving business needs

  1. Ownership of software
  2. Escrow/access to source code
  3. ‘Open source’ issues
  4. Pricing, payment on milestones
  5. Project plan
  6. Jurisdiction
  7. Third party content
  8. Data protection issues
  9. Change control/scope creep
  10. Limitation of liability
  11. Original work/©/IPR infringement