by CIO Staff

A Crash Course on Avoiding Software Project Disputes

News
Feb 01, 20043 mins
Outsourcing

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