Game of the Day: Time and Material vs Fixed Price Contract
Selecting the right contractual arrangement is a vital step when outsourcing software development. Consequences of a wrong choice may be harsh – you could go through much hassle and end up without a finished product. So, what can you do?
Fixed price agreements
A fixed price contract involves an agreement that explicitly defines the services along with a set price for the entire project. Many people select a fixed price because it is:
- Predictable. With a fixed budget, clear requirements, and set deadlines—there are no surprises.
- Budget-friendly. Knowing the cost ahead of time makes it much easier to stick to set budgets.
- Easily manageable. Payments are set ahead of time and are based on the percentage of work completed, which requires little interaction when expectations are clearly laid out.
- Organized. Negotiating tasks beforehand, based on a set price and, results in delivering well-documented projects.
While fixed price agreements may work well in some industries, in my opinion app development doesn’t belong there. That is because having a set price leaves absolutely zero room for flexibility essential for successful application development. Think about the following scenarios:
- A client realizes that a particular functionality, agreed upon in the contract, may no longer be needed.
- The original arrangement proves it wasn’t detailed enough, and the consultant becomes unhappy about putting in too many hours.
- The client feels they have paid too much for what they believe is a minimal amount of work.
Are you ready to take the risk?
To explain—fixed rate agreements can, undoubtedly, jeopardize your finished product. During the development of your application, the client may be responsible for any unexpected tasks that arise and weren’t part of the original scope of work. Also, with fixed rates, the contractor makes more of a profit when they complete the work in a more timely fashion. This begs to question whether the work you are paying for will be – in some way – rushed. If cutting corners help improve profit margins—what’s to say, the company being outsourced to won’t skimp on the resources (materials, subcontractors, etc.) needed to finish a project.
Time and material contract
Time and material contracts are much different because they involve billing clients for exactly what they get. With a time and material contract, you are charged a set hourly rate for all labor along with the costs of materials. Agreeing to this type of contract may post some risk to your budget, but its advantages are far superior to that of a fixed rate contract. Here is why:
- Flexibility. A T&M contract presents the opportunity to change things as you go, which helps those product owners who are still polishing the concept of their app.
- Control. This is particularly the case with software development because the team complete projects one step at a time, which allows you to be more involved in the development process.
- Timing. If you’re in a rush, a time and materials agreement is the best option because you avoid having to go through the fixed-rate bidding process. Plus, you can see exactly how much time is spent on each commit, which motivates the team to work as efficiently as possible.
At 10Clouds, we implement a time and material model for our software development contracts. This type of pricing structure best suits agile development, which is definitely our thing. From my perspective, this pricing structure is most productive for both the clients and the company. A labour and materials billing structure fosters a communicative environment, which will ensure you get the most from your decision to outsource app development. With agile development, we are able to work more closely with our customers, so making adjustments caused no problem at all.
The art of budgeting and estimating
Supporters of fixed rate contracts will surely point out that the issue with a time and materials contract is that it can be difficult to budget for. This is a valid point because there have been situations where companies outsource development work and are quoted a price that is much lower than what the work ends up costing. However, just because you select a pay-as-you-go pricing structure, doesn’t mean this will happen to you. If the company you are working with has a solid reputation and strong communication skills, you will have nothing to worry about.
A reliable outsourcing company will work with you and provide full disclosure about pricing when unexpected changes arise. If you were to ask me, when it comes to hiring a company to handle software or app development, the optimal pricing structure is with a time and materials contract.
Why time and material contract?
Because in life—you get what you pay for. Remember, you may pay more to have quality work done but in the end, it will probably be a lot less than the cost you will end up paying if you develop a product of poor quality. Although it is hard to make a sharp estimation in a time and materials contract, in the end, you will end up with a superior product. Plus, by participating actively in the project—you will be able to help guide and direct it. This will help minimise any significant differences from the given estimates (it’s hardly possible to make a 100% correct estimation, any project manager will agree). You can also modify the scope of the project as you move along.
When selecting between these two different types of contracts, you should know that from our experiences, we have never had a project where nothing changes during the development phase. It is important to understand the dynamic nature of software development. If you know things are going to change, you should be prepared AND being prepared is what you agree to in a time and materials contract.