Answered Mar 3, 2021
Dispute resolution under a software agreement or other contract will typically be governed by the terms of the contract. A well-prepared software agreement will include a specific section or other provision saying exactly how a dispute will be resolved. These can (and often should) be very detailed. Sometimes, different types of disputes will have different dispute mechanisms.
For example, a dispute over whether a deliverable was accepted may be subject to one approach, a dispute over payment may be governed by another, and a dispute over a claim of a violation of third-party rights by yet a third.
Again, it depends on the terms of the contract. Hopefully, your contract includes a clear and specific provision for dispute resolution. If not, then you would default to trying to work it out. If that is not realistic, if the parties are willing to try mediation, that is often far more preferable to a lawsuit, both because it is usually far less expensive, and because it is not public.
But, mediation is voluntary and, if the parties don't come to an agreement with the assistance of the neutral mediator, there is nothing from the mediation that can be enforced. That leaves the parties with a lawsuit or, if the parties agree (or if the contract provides for it) arbitration might be used instead of a lawsuit. Arbitration is often (but not always) less expensive. But, it will be confidential, whereas a lawsuit is a public matter.
My dispute resolution provisions often include a stepped approach. Before a party is entitled to sue or initiate arbitration, they have to try to work it out between themselves for a specified period of time. Failing that, often I provide that mediation must be the next step. Only after that, if resolution by mediation fails, is arbitration or a lawsuit permitted.
A good dispute resolution provision should include a number of other provisions, including: governing law, location of the proceeding (venue), forum (e.g., federal or state court, or AAA or JAMS as the arbitrator), number of arbitrators if applicable, rules of evidence and other rules in an arbitration if applicable, waiver of procedural defenses to venue and forum, a "loser pays" provision (or not), possibly a cap on "damages" (money the loser must pay), a contract-based statute of limitations, a finality provision (no appeals allowed), how and where an award under arbitration can be enforced ... among other considerations.
Also, in many cases you will want a carefully prepared "equitable remedies" provision that is separate from any other dispute resolution provisions. This would allow a party to go to a court to ask the court not for money, but for force the other party to do or not do something. This often covers things like confidentiality, non-disparagement, indemnification, misuse by one party of property owned by the other, or other situations where payment of money is not applicable or won't be enough.
Finally, these days, it is not a bad idea to include a specific provision allowing remote proceedings during any time and place where governing authorities have declared a health emergency related to a contagion ... or even just where an in-person proceeding can fairly be substituted with technology like Zoom to help keep costs down and otherwise for general convenience of the parties and "judicial economy."