Prior to the Contract
- Hire outside legal counsel with contract law and software project experience.
- Demand data on investments in vendors from integrators and consultants who might have conflicts of interest. You have a right to know if their vendor picks are influenced by a financial stake.
- Demand that the vendor name any subcontractors it plans to use.
- Ask for references who engaged in similar projects. No references, no deal.
- Research past and current lawsuits in which the vendor was a participant.
- Require that the vendor has these insurance policies and that it will cover all damages you may be forced to seek.
- Commercial General Liability (CGL)
- Electronic Errors & Omissions (EE&O)
- Internet liability insurance
- Hire an independent consultant to analyze specific metrics the project must meet: response times, level of hardware, processing power and so on.
- Save all correspondence with bidders. Retain reporting and documentation of meetings and interactions.
In the Contract
- Specify the functionality to be delivered.
Bad: “Typical CRM functionality”
Good: “A system that will amass data on goods sold in retail outlets that is stored in a database for instant and anytime retrieval by marketing personnel for data-mining purposes.”
Mandate performance-level testing.
“Database must return queries in less than two seconds with 100 concurrent users, under all conditions.”- Specify the minimum skill level and amount of staff for the project.
- Mandate a project plan including:
- Progress milestones that detail what will function and how.
- Payment due at each milestone.
- The specific method by which there will be sign-off on these milestones.
- Mandate source code escrow and regular audits of the escrow so that you can take possession of source code or other intellectual property if the vendor suffers a disaster or goes bankrupt.
- Require that all contract provisions apply to subcontractors’ work as if it were the vendor’s own work.
- Detail a dispute resolution process:
- Describe specifically when mediation, arbitration and court proceedings will be used.
- Assign a specific “honest broker” or independent mediator to the project.
- Mandate a clause that specifies damages allowed in the event of a dispute.
- State that the vendor’s liability isn’t limited to any specific version of the software used in the project.
- Don’t sign a contract that limits a vendor’s exposure to lawsuits to, for example, one year after signing.
After Signing the Contract
- Create a warranty that the vendor will address changes to the software as time goes on.
- Make sure the execution of the contract provisions is sound.
- Follow through on acceptance tests before signing off on milestones. Confirm that auditing of escrow source code is actually happening and so on.
- If things go bad:
- Call in legal counsel.
- Document everything.
- Keep the systems online?the best way to prove a system doesn’t work is to show it doesn’t work.
- Do not talk to the press.
Source: CIO reporting