Rather than merely presenting hypothetical warnings about what can go terribly wrong with an important software project, it is always far better when an actual case comes along to provide those lessons. The recently decided case by the Court of Appeal in the U.S. Seventh Circuit,1 does just that – in spades.
TransCare provides ambulance and other medical transportation services and it wanted to replace its dispatch and billing software. Digitech's proposal to provide that software to TransCare included a provision that the Appellate Court described as a “90-day satisfaction guarantee”. That offer stated that during the first 90 days of software use, billing would be limited to programming charges and that if TransCare was not completely satisfied within that period, it could walk away from the contract without paying any software license fees.
TransCare and Digitech proceeded to negotiate and entered into a formal license agreement, and then TransCare issued a written purchase order for the software under that agreement – including a provision that incorporated Digitech's original proposal, thereby including the “90-day guarantee”.
In the Appellate Court's words, “The software did not work as TransCare expected…the software was plagued with malfunctions relating to, among other things, transferring data from TransCare's previous software system, training…and operating the system to fit TransCare's regular needs.” When it was clear to TransCare that the software was not going to satisfy its expectations, TransCare attempted to exercise the “90-day guarantee” and walk away from the procurement. When TransCare ceased making license payments, Digitech locked the software's operation remotely and litigation ensued.
Despite the “90-day guarantee” that Digitech offered in its original proposal, and despite the subsequent purchase order's inclusion of that proposal, the Appellate Court found that the definitive license agreement: did not include a “90-day guarantee”; required TransCare to provide Digitech with a 90-day written notice period to cure any material breach of the agreement prior to termination; and, required that all amendments must be evidenced in writing. The Court of Appeal further held that: (i) TransCare had not followed or exercised the notice and cure period obligations that were expressly provided in the license agreement; and, (ii) that no evidence of a license agreement amendment, via the purchase order, existed2 - therefore, the proposal's “90-day guarantee” did not form part of the license agreement.
Despite TransCare's allegations that: Digitech had fraudulently misrepresented the functionality of the software; that the proposal's “90-day guarantee” had wrongfully induced TransCare to enter into the license agreement; and, that Digitech wrongfully interfered with TransCare's operation of the software, the Court of Appeal (for the most part) upheld the trial court's decision in favour Digitech. TransCare was ordered to pay the monthly license fees for the remaining 25 months of the three-year fixed term license, as well as other software service fees and some of Digitech's legal expenses.
This case provides five very clear software project “best practice” reminders: