I take your point, and it's definitely a fair one. Ideally, we would anticipate and iron out all disputes up front. In software development, that's exactly what we try to do!
In contracts, though, there are cases where a company will live with ambiguity because it has done an assessment of (1) the likelihood of a dispute, (2) its leverage vs the other party, and (3) its ability to prevail on the merits in the event of a dispute.
A contract is usually, although not always, a compromise between two or more parties with at least some divergent interests. In reaching a satisfactory compromise, sometimes you need to prioritize the parties' disagreements and move onward. That's why I mention the concession to ambiguity – because it just happens that way.
And guess what? There's a parallel in software development. Whether it's shipping dates, lack of resources, skills, whatever, software development is also often a compromise. We all know that stuff gets swept under the rug because it's an obscure edge case, or it only affects 0.x percent of the userbase, etc., etc.
My point and yours aren't mutually exclusive; I just wanted to acknowledge that sometimes reality intervenes and makes great things good enough.
In contracts, though, there are cases where a company will live with ambiguity because it has done an assessment of (1) the likelihood of a dispute, (2) its leverage vs the other party, and (3) its ability to prevail on the merits in the event of a dispute.
A contract is usually, although not always, a compromise between two or more parties with at least some divergent interests. In reaching a satisfactory compromise, sometimes you need to prioritize the parties' disagreements and move onward. That's why I mention the concession to ambiguity – because it just happens that way.
And guess what? There's a parallel in software development. Whether it's shipping dates, lack of resources, skills, whatever, software development is also often a compromise. We all know that stuff gets swept under the rug because it's an obscure edge case, or it only affects 0.x percent of the userbase, etc., etc.
My point and yours aren't mutually exclusive; I just wanted to acknowledge that sometimes reality intervenes and makes great things good enough.