Created: March 30, 2021

An Ultimate Guide to Time-and-Materials Contract

Tamara Mun.

Tamara Mun

ex Software Delivery Manager

Project Management
An Ultimate Guide to Time-and-Materials Contract

It sounds bizarre, but software development can start months (if not years) before the first line of code is typed. Moreover, the earliest strategic decisions are usually made by a customer before the contract is signed.

One of these early decisions is the choice of a software business model that will fit the customer’s business needs, expectations, and budget. 

A time-and-materials contract is one of the options. 

What is a time-and-materials contract?

The name of the time-and-materials business model is pretty self-explanatory. The customer is paying for the time and the materials that the contractor has invested in the development of a product. In the case of software development, it means that the customer pays for the developers’ time according to their rates and additionally for the tools and infrastructure the developers will need to deliver the product. 

It’s important to avoid confusion here. The client is actually paying not for the amount of work but for the man-hours it takes to deliver a product and push it to the market. So there’s a risk for the client to get stuck with a dishonest vendor who will inflate the time it takes to deliver the project (thus increasing their own earnings) into infinity.

Luckily, there are two simple rules for the customer that help negate the risk:

How does the time-and-materials model work?

A well-designed time-and-materials contract will ensure that you only pay when the work is done. In the contract, you establish milestones and deadlines, and you will receive the functionality you’ve paid for when it is due. 

Once it’s all set and done, you will settle on the IT team that fits your scope and requirements, and the team will start the development process according to the workflow.

The time-and-materials workflow resembles a loop. Here are its stages:

  1. Setting the goals: You and your vendor will divide the project into separate parts. You will receive estimations for each of them and an approximate scope of work. The flexibility of this “pay-as-you-go” model allows you to make changes and add new requirements along the way, which is great for fast, feedback-driven development. Remember though that every unplanned addition will expand the scope of work and, as a result, the sum you will be charged at the end of a milestone. 
  2. Doing the work: Your contractor will oversee their developers as the actual coding magic happens. You’ll be working with an established team and a fixed hourly rate for each member. It’s a good idea to interview the people who will be working on your project to make sure that their rate adequately reflects their experience and level of technical skills. 
  3. Billing: This part is fairly simple and straightforward. Multiply the hours by the rate of your development force and pay for the completed work. Do note that you only pay for the work you need. You can’t be billed before the project manager receives your approval. 

The stages repeat for as long as you need the vendor’s services.

Pros and cons of a time-and-materials contract

Flexibility to make feedback-driven changes, continuous communication, and overall control over the development cycle are the most obvious benefits of the time-and-materials model. 

Let’s take a closer look at the trio.

The model’s three cons, interestingly, sprout from its greatest strengths.

Risk of falling victim to a shady vendor: If you can’t check whether the rate is justified, there’s the risk of being deceived by a vendor who charges you by the hour.

Crucial terms

Now that we are settled with the pros and cons, let’s try to find a fitting strategy for mitigating the negatives. 

Let’s start with keeping your budget safe by understanding some pivotal terms.

Labor rate is a tool that’s used to fix the cost of any labor-related service. Be it the work of developers, QA engineers, UX designers, project managers, or any other specialists, the rate needs to be set in stone. 

Material markup is the price the customer pays for the materials needed for development: for example, third-party software, cloud infrastructure, or data storage. Expect to see retail prices unless specified otherwise. 

Maximum labor hours are the limit you set as the customer. This is a fine way of controlling development costs by specifying the number of hours for which you are willing to pay. 

And lastly, there’s the not-to-exceed point. It is similar to maximum labor hours but focused on the budget as opposed to the scope. The not-to-exceed point is your budget ceiling. Combined with maximum labor hours, it protects you from being overcharged due to unexpected changes in the development scope or due to any other reason.

Handy tips to improve your experience with a time-and-materials contract