If you attempt to calibrate a high-precision industrial lathe in a room where the temperature fluctuates by even three degrees, you are not engaging in science; you are participating in a very expensive form of theater.
My friend Anna B.-L., a machine calibration specialist who spends her days coaxing microns of accuracy out of massive steel gantries, once told me that the greatest mistake a client can make is asking for a “fixed” setting.
“The floor moves. The sun hits the south wall, the rebar expands, and suddenly your ‘fixed’ zero is three millimeters to the left. If you want the machine to stay accurate, you don’t buy a setting. You buy a person who stays in the room and keeps turning the dials.”
– Anna B.-L., Calibration Specialist
Software development is remarkably similar to that shifting concrete floor, yet we persist in the fantasy that we can “set” the project in and expect the results to remain true in . We treat the Statement of Work like a sacred text, a map of a territory that hasn’t even been discovered yet.
The Litigation of Section 3.2
I realized this most acutely during the of a project for a data visualization firm we’ll call Vantage. We were sitting in a conference room that felt too small for the tension inside it. On the left side of the table sat the client’s Product Owner, a man who had staked his quarterly bonus on a 147-page specification document.
On the right sat the lead architect of the vendor they had hired. Between them lay the “Change Request,” a document that had become more influential than the code itself. The argument was over Section 3.2: “User Profile Management.”
The client had realized that their enterprise users needed to belong to more than one organization. They didn’t just work for “Global Corp”; they worked for “Global Corp North” and “Global Corp South,” and they needed different permissions for each.
In any sane world, this was a logical evolution. In the world of a fixed-price contract, it was a declaration of war.
“Management implies flexibility,” the client argued. “If I can’t manage where a user belongs, then the management module is broken.”
“Management implies the CRUD operations-Create, Read, Update, Delete-defined in the technical annex,” the vendor replied, his voice flat. “The annex specifies a one-to-one relationship between a UserID and an OrgID. Moving to a many-to-many relationship requires a total refactoring of the RBAC-that’s Role-Based Access Control-logic. It’s not a bug. It’s a Change Request.”
Plus a 3-week delay for a “Change Request” litigation.
The premium paid for defending a document instead of building a product.
I watched them for forty minutes. They weren’t talking about how to build the best product for the user. They were litigating the definition of a word written by a junior analyst who had since left the company. They were arguing about the “compression” of an idea.
The False Safety of the Shield
The fixed-price contract is sold as the buyer’s ultimate protection. It feels like a shield. “I know exactly what I will pay, and I know exactly what I will get.” But it is more accurately a mechanism for converting every discovery into a conflict.
In a fixed-price engagement, the vendor’s profit margin is directly tied to doing the absolute minimum required to satisfy the literal text of the document. Every time the developer discovers a better way to do something, they are incentivized to keep their mouth shut. If they suggest an improvement, they are essentially volunteering to work for free.
History is littered with the wreckage of fixed-price certainty. Consider the HMS Captain, a masted turret ship built for the Royal Navy in the . It was the product of a rigid, competitive bidding process where the price and the specifications were locked in early.
The designer, Captain Cowper Phipps Coles, was so obsessed with meeting the specified requirements for a low freeboard-the distance from the waterline to the upper deck-that he ignored the shifting center of gravity. The builders, constrained by the fixed financial and structural terms, didn’t feel empowered to stop the process. On its maiden voyage in , the ship simply tipped over in a gale, taking nearly 500 men to the bottom of the Atlantic. They hit every specification on the list, and the ship was a catastrophe because the contract didn’t allow for the “discovery” of physics.
Renting Capacity, Buying Agility
When we build software, the “physics” is the data. You don’t know how the data will behave until you start moving it. You don’t know how the users will break the interface until they are clicking on it. This is why the industry is quietly shifting toward renting capacity-the monthly squad model.
It sounds terrifying to a procurement department. “You mean I pay every month regardless of what they finish?” Yes. Because the alternative is paying for the argument about what was finished.
The squad model, pioneered by firms like Digital Heroes, flips the incentive. When you hire a dedicated team that owns a slice of your roadmap, the “Statement of Work” is replaced by a “Weekly Demo.”
Fixed Price Model
- Goal: Defend the document
- Incentive: Do the minimum
- Discovery = Change Request
- Role: Border Guard
Squad Capacity Model
- Goal: Move the needle
- Incentive: Build it right
- Discovery = Adaptation
- Role: Partner Engineer
The senior tech lead in this model is not an account manager. They aren’t there to “manage the relationship” or “upsell the account.” They are there to own the architecture. In the Vantage project, if we had been using a capacity-based model, the lead engineer would have likely caught the multi-org requirement during the first sprint. They wouldn’t have had to ask permission to be competent.
The 45-Second Resolution
We often confuse “certainty” with “safety.” A fixed price gives you the certainty of a number, but it robs you of the safety of a functional partnership. I remember the exact moment I realized I could never go back to the old way.
It was a simple API integration. The spec said we would integrate with “the provider’s standard endpoint.” On , we found out the provider had deprecated that endpoint and replaced it with a GraphQL interface.
The Slack Message:
“Hey, the old API is dead. We’re switching to the GQL one. It’ll take us about four extra hours today, but we’ll save time on the mapping later this week.”
The hidden tax of “arguing time.” We spend 31% of mental energy litigating the past.
The squad model works because it acknowledges that we are all, to some extent, building a ship while it’s already at sea. You don’t want a contract that says the ship must be exactly 400 feet long; you want a crew that knows how to patch a hull when the waves get bigger than the forecast predicted.
Anna B.-L. eventually finished the calibration on that lathe. It took longer than she estimated. She could have “faked” the final numbers on day one, and no one would have known until the parts started failing .
But because she was paid for her expertise and her presence, not just for a “fixed result,” she stayed until the steel stopped moving. We need to stop treating software like a commodity you can buy off a shelf in a box.
“The spec is the shoe that kills the spider without ever asking why the house was built on a web.”
The transition is hard for those who love spreadsheets. It requires trust. But as the complexity of our systems increases-as we move into AI integrations and real-time data streaming-the idea that we can predict the exact path of a build becomes not just a fantasy, but a liability.
The companies that win are the ones that stop fighting the discovery of new information. They accept that the floor is moving, they hire the best dial-turners they can find, and they get out of the way. They realize that a project that finishes “on budget” but with a product that no longer fits the market is the most expensive failure of all.
Stop buying the map. Start buying the navigators.
They are the only ones who can see the storm coming before it hits the hull.
