Two pricing models dominate custom software. Both are dishonest in their own way.

Fixed bid is dishonest about scope

The client wants certainty. The agency wants to win the deal. Both pretend the scope is knowable upfront — even though every project of any size discovers half its requirements during execution. So the agency low-balls the bid, then pads the contract with change-request clauses that make every "small tweak" cost extra. The relationship becomes adversarial by week three.

Time and materials is dishonest about incentive

The longer it takes, the more the agency gets paid. The agency knows this. The client knows the agency knows this. So the client demands timesheets, status meetings, and detailed breakdowns — adding 15% overhead to every hour worked. Trust evaporates. The project drags.

What we actually do

For most projects we use what we call capped-phase pricing:

  • We agree on a phase — usually two to six weeks — with a concrete deliverable
  • We give a fixed price for that phase, with a 10% buffer that we eat if we overrun
  • At the end of the phase, we both decide whether to continue, change direction, or stop
  • No long-form contracts. Each phase is its own small commitment.

This works because:

  • Scope is bounded enough to estimate well. Two to six weeks is small enough that we have done the same work before. Sixteen weeks is not.
  • The client never has more than a phase of risk. If we are bad, they leave after ₹3 lakhs, not ₹30 lakhs.
  • Our incentive is to ship. The faster we finish a phase, the faster we start the next one. We make more, not less, by going fast.
  • We can decline scope creep without drama. "Great idea — let's plan it as a phase 4."

When we still do fixed bid

Government tenders. Some enterprise procurement processes. Anything where the buyer simply cannot legally pay any other way. In those cases we pad the price by 30% and accept that the project will be less fun.

When we still do T&M

Long-running maintenance. Embedded engagements where we are functioning as part of the client's team. Anything where the scope genuinely is unknowable and will evolve over months.

The signal we look for

When a client insists on fixed bid and refuses to consider phased work, it's usually because they have been burned before. Fair enough. But sometimes it's because they want to lock us into a number before discovering what they actually need. That second one is the bad signal — and it's almost always followed by a painful project.

Pricing models reveal trust. The clients we work best with are the ones willing to start small and grow the engagement as it goes well.

AT

Adyatech Team

Adyatech