Subscribe to Manu's Elastic Graphite Newsletter

Get weekly emails in your inbox to learn about value selling and value based pricing.

EG46: types of contracts for software services

Written by Emanuel Martonca
on April 25, 2022

Pricing cannot exist without contracts.

Whatever you write in your project and financial proposals doesn’t mean much unless it’s carried over to a formal contract and enforced as the project progresses.

Typical contracts

One way to think about different types of contracts is by placing them on a risks and profits matrix.

Taking the vendor perspective, from low risk to high, the contracts typically used for software development collaborations are:

  1. Offshore Development Center
    • The vendor provides an office space, admin and HR services
    • The client manages the team, project roadmap, tasks, owns the results
    • The risk for the vendor is minimal, which means the margins are also relatively low and it’s a numbers game – you need large teams to make this a profitable business
  2. Dedicated Team and Resources
    • The vendor assembles a complete team that works exclusively on the client’s project
    • The client has a say in who is part of the team, how they work
    • Most of the economic and financial risks are borne by the client
  3. Time & Materials
    • The client pays for all the time spent by the vendor’s team on the project
    • The client assumes the risks of project overrun, with all the commercial and financial implications
  4. Fixed Scope, Fixed Price
    • The project deliverables and outcomes are clearly defined in the contract, a fixed budget is set and the client knows from the beginning what they will get
    • The vendor needs to manage the risks related to change requests and the consequences if their initial estimations have been unrealistic

There is also a fifth, less used type: the Pain-Gain-Share Contract. In this case, a bonus and penalty mechanism is included in the contract, based on a performance metric relevant to the project.

A good example would be a higher price paid by a startup to their software development vendor if the MVP built by them is successfully used to attract customers. At the same time, the vendor would incur a budget penalty if the project is not delivered in a timely manner.

What your clients see

When they hear about these contract types, your clients might think about them in the same ways that everyone in the industry does.

They might also have slightly different definitions in mind. 

Or completely different definitions.

The advantage of clichés is that everybody knows them and you can move faster in your communication.

The disadvantage of clichés is that sometimes people have different understandings of the same label, but they will not realize it until it’s too late and the harm is done.

One way to manage this in your sales process is to be very specific about what you mean about the contract type that you are proposing.

You also need to ask for specific clarifications when the client is the one requesting a certain type of contract.

The alternative

There is another way.

One that doesn’t involve contract types, definitions, clichés.

This approach starts from the triple constraints of project management:

  • Scope
  • Timeline
  • Budget

We all know that it’s impossible to realistically fix all 3 sides of this triangle.

As managing a software project means closely managing the scope, timeline and budget, it would be wise to have a contract built along the same axes.

A Fixed Scope, Fixed Price type of contract is one where scope, timeline and budget are all fixed (for the client).

A Time and Materials contract is one where timeline is fixed, the budget is a known quantity as a direct consequence of the timeline (though hourly or daily rates), but the scope of work that will be delivered is not known.

In my experience, by using measures like:

  • Fixed
  • Optimized
  • Prioritized
  • and Flexible

we can build a lot more different types of contracts than the 5 commonly used.

Contracts that are customized based on the customer segment, project types and capabilities of the vendor.

But also contracts that are customized based on the client context and expectations.


By taking the time to understand well the client needs and the project requirements, it is possible to achieve an alignment between:

  • Project plan
  • Pricing and financial metrics
  • Contract terms

This is one way to create the premises for a successful collaboration, if that is what you are looking for.

PS. When you have 10 minutes for some Wikipedia reading, I recommend this page on trilemmas from other fields of science and society.

For example:

The Pinker social trilemma: a society cannot be simultaneously “fair”, “free”, and “equal”. If it is “fair”, individuals who work harder will accumulate more wealth; if it is “free”, parents will leave the bulk of their inheritance to their children; but then it will not be “equal”, as people will begin life with different fortunes.

You might also like

Subscribe to Manu's Elastic Graphite Newsletter