Why Contract Models?
A working relationship is influenced by the business framework of a contract. The kind of relationship your company engages in can be a win-lose, even a lose-lose, if you don’t understand contract models and your line of business properly. Understand the strengths and weaknesses of each model and, furthermore, understand the nature of the supplier and the customer in a specific project to provide the base for a win-win contract.
The most common contract models available are the time-and-materials contract and the fixed price contract. These names have been carried over from other business areas, like construction. Software development is like building a house, or it is not. It depends on who you ask. There’s also some talk on “Agile Contracts”, or contract models designed to promote an agile environment. These are aligned with Agile based methods such as Scrum, and supposedly provide a third kind of model.
Where a time-and-materials model and a fixed price model stand on a line looks like this:
There’s no maxim on what contract is best for every case. Each model has strengths and weaknesses. Each business has different roles and expectations in a project. They also have needs that exist outside of the contract realm, such as housing, food or meaning. All this plays a part in contract negotiation.
The Elements of a Contract
Within the realm of the contract, there’s the following three basic negotiable parts:
Requirements or Scope: What you are developing.
Price or Budget: How much you want to spend.
Deadline or Timeline: When do you want it.
The Fixed Price Contract
Simple and straightforward, the Fixed Price Contract is a classic. It’s used all over in contract negotiations. The customer and supplier agree on one price, requirements of a fulfilled project, and time of delivery.
There’s more to it than just that, though.
Definitions of what a fulfilled project means can vary from person to person. A company might be thinking that a project is fulfilled when he sees money flowing in from app revenues. A software developer might consider the project fulfilled once the code is delivered. A common understanding of this term within the fixed price contract provides a better framework for productive work.
There’s also the matter of time and money. Software developers and contractors might have their expectations set when they begin working. Unexpected changes in the market environment might happen while project development is ongoing. The competition could come up with something cooler. Or maybe other service providers like API’s or Search Engines can change, which can influence a software product’s performance, if it uses that kind of thing.
Fixed Price Contract Best Practices
Fixed price contracts are best used in software development for short projects. These can produce a demo version of the desired app, a Minimum Viable Product (MVP) or a new feature for an already existing app. They are ideal for when the product owner has a realistic view of what he wants and when he needs it.
A fixed price contract that enables project fulfillment needs to have two very important things. One of them is clear product specifications. These are product requirements explained in detail. Clear product specs give software developers a good understanding of the work that needs to be done. Number two is acceptance criteria. This is a checklist that’s used to define what to consider a finished product.
Fixed Price Contract Pitfalls
Two parties come together to agree upon supply and payment of a service. They agree on fixed requirements, fixed budget and fixed deadlines. This creates what is known as “The Iron Triangle”.
When these three elements of a project are no longer negotiable, there’s a chance it can go wrong because of any of them. Maybe developing that feature is more complicated than expected, or an accident happens, and the deadline is no longer achievable. What if, upon testing, the final product is not as good as it was imagined to be? Finally, when resources are fixed, as in a fixed price, there may be a tendency for suppliers to try and deliver the least amount possible and for customers to demand the most out of their established working relationship. This is an environment where the blame game can flourish.
THE IRON TRIANGLE The worst version of a fixed price contract kills innovation and stifles growth. Like the Bermuda Triangle, it will condemn your project to disappear in the midst of the vast Software Development Ocean. At its greatest, the iron triangle provides a stable, predictable relationship. BEST USED FOR SHORT, PREDICTABLE PROJECTS!
The Time and Materials Contract
A customer pays a supplier an hourly rate that is billed monthly to perform software development within the scope. This type of contract focuses in the usage of a labor based remuneration system that fits perfectly into long term contracts. To illustrate this point think in a house you are building; you need to pay a monthly wage to the builders plus the materials you need to build it.
T&M is usually charged by hours of labor as the billing currency. Nevertheless, there are cases where you can get a bill where the hours and other expenses as costs of materials and an average of fixed charges. These projects also tend to educate and merge the visions of the client with the know how of the provider. This merging often results in a more ambitious scope of the project with a deeper synergy between client and provider’s teams.
The main advantage of T&M contracts is that they ensure a product that will be tailored to the specific needs and requirements of the company. A synced schedule will guarantee the client total control over the deliverables and scope of the project.
How to Best Use a Time and Materials Contract
This contract is best used when the customer doesn’t have a predictable scope and when the supplier is proactive. The customer can use a time-and-materials contract when he is unsure of what his desired product is. He can also get better results with this kind of contract if he recognizes there’s a lot of unpredictable variables related to its progress. What do I mean by proactive suppliers? Stephen Covey calls proactive people as those whose behaviour is a function of their decisions, not their conditions. A proactive software development company responds to values of customer satisfaction and doesn’t react to the conditions of a time-and-materials contract. The main advantages of using T&M contracts are:
- Any additional feature ordered after the contract agreement will be charged only by the extra time spent by provider’s employees on the specific tasks that the feature needs.
- Flexibility: every requirement can be adapted. New inputs can be added, features can evolve with the time. The finished product will follow the exact expectations of the client.
Time and Materials Contract Pitfalls
The Time and Materials Contract is typically described as one that places the risk of variability on the customer. Why is that? In this case, the customer provides the supplier compensation for costs in materials and pays for amount of time spent working. The total amount of money that a customer is required to pay for a finished product can go up the longer it takes for the supplier to finish it. On the other hand, the supplier can expect to have a flow of money as long as it is working on something, and not necessarily have any progress.
Are you interested in using a time-and-materials contract? It’s important to emphasize that risk is on the variability of the work in question. For example, a project could be estimated to cost 20,000$. In reality, at projects-end, it could’ve finished earlier than planned and cost cheaper at 15,000$, or finished later than planned at a more expensive 25,000$.
Time and Materials contracts fit perfectly with the Agile methodology
The manifesto for agile software development mentions contracts and provides valuable insight.
“We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Customer collaboration over contract negotiation”
This means that, while Agile projects value contracts, they value collaboration more. Whichever contract model is chosen, customer collaboration is critical for success.
A so-called “Agile Contract” would provide:
- Ways to exploit variability in favour of project success
- Continuous visibility of progress
- A measured approach to investment
- Motivation for parties to build the best solution possible within agreed economic boundaries
Contract Considerations for Agile Environments
Agile software development produces usable results at quick intervals. It does this by working in sprints. A sprint typically occurs in two weeks, though some software developers might have sprints of a different duration. Every sprint produces a new iteration, or slightly improved version, of the product which is delivered to the customer. That was a brief, non-exhaustive explanation of an agile environment.
Both parties could seal a favorable deal by taking into account these considerations. A best practice for agile software developers seeking win-win contracts is to have a clear understanding of their capacity. Namely, in velocity, backlogs and releases. These are concepts intimately related with agile-based methodologies, such as Scrum or Kanban. When compared with traditional contract elements, velocity looks like the deadlines, and backlogs and releases look like part of the scope. A customer that’s contracting agile software suppliers can also benefit from understanding how the suppliers work and will likely have better results if it’s keen on measuring its return on investment.
The contract is part of the Agile environment. Development is influenced by the agreement between the customer company and software developer supplier. How’s an Agile contract practiced and billed can vary from one deal to the next. There’s great value in a supplier that can adapt to the customer’s needs, too, as we do. Following this guidelines it is clear that Agile contracts are a better fit for T&M contracts which are compatible with the schedules and working methodologies of an Agile environment.
Fixed Price or Time and Materials?
In conclusion, you might be asking yourself which of these models would be the best for your project? This depends largely on the project scope.
The fixed price business model is applicable to shorter, well-defined projects with the following characteristics:
- There is a strict deadline for the project completion, and the project is expected to be completed within a few months
- All of the features are defined before commencing the project
- The allocated budget is limited, and the cost needs to be known before beginning
- The project will launch an MVP or Beta product
Time and Materials
Time and Materials is a business model that should be applied to projects with the following characteristics:
- The project scope has not been fully defined
- The project will be dynamic, and you’ll need the freedom to add and modify features throughout the project
- The scope of the project is ambitious, and the contract is long-term
- The workload may vary from month-to-month
Now that you know how does the contract model work you might be interested in knowing more about agile environments. Take a look at our blueprint of an agile release.