By reading this article, you will learn about the characteristics of the two most popular cooperation models with a software house. Sooner or later you will face a decision which will have an impact on the quality of your product, your budget, timeline and future planning. You will also learn how we do it and why. Enjoy the reading!
With time&materials you pay only for the real, registered time spent on building the application. It is a flexible solution which allows you to make changes to the backlog, shift priorities, juggle with features, pivot, react accordingly to your current needs and the needs of your clients.
With the time&materials contract, there is a certain range of cost that you receive when it’s an application built from scratch that you need. You can choose different scenarios, shift the scope, choose an MVP approach and then iterate it, or demand a complete product.
As stated before, time&materials gives you the freedom to change, react quickly and adapt to the market in real time. You are in constant contact with a project manager and the team who can suggest a right course of action and support you with the planning of the new features. Time&materials helps in creating trust and strong bonds. Therefore you can expect a lot of flexibility in case of adding or removing developers from the team depending on the current condition of your business.
A lot of people believe that when working on a time&materials basis, they won’t know the cost until the very last moment. It is not true. ** To avoid having uncertainties around, software houses give you estimations based on their know-how and experience.** Such a project is divided into stages/phases with most likely cost per each. On that stage, there is still time to make necessary modification to make the project most cost-effective.In case of the long-term development projects, the cooperation lasts for longer and it is fairly easy to plan the budget if you know how much you will pay for a full-time team.
When to use time and material?
when the project scope can change
you haven’t prepared:
- a closed list of the requirements describing software you want to build:
- product backlog in the form of User Stories
- graphic designs
integrations with external systems:
- communication protocols to which your system will be connected (if they change during the development - you will receive deliverables which will reflect this specification.)
If you don’t want to pay the cap for unforeseen part of work and risks (which is added by the provider to the cost and schedule in fixed price, fixed scope, fixed time)
A fixed price contract is a contract in which a software house commits to deliver a piece of software or a complete application within a defined, unchangeable, therefore fixed budget. If the real cost exceeds the budget set in the contract, it’s not of the client’s concern.
If a software house finally decides to sign a fixed price contract, what may happen is that they add a safety buffer to the estimation as a precaution in case they encounter unexpected problems. It may increase the overall price to the point where a more flexible solution would be cheaper.
In case of the fixed price contract, any changes of the scope are endangering the agreed deadlines and budget, so a task once added to the scope needs to stay there. What happens if, after the development starts, a client decides to pivot? Fixed price makes it impossible to make any changes and even if a software house agrees to such an arrangement, be sure that the renegotiation will take time and the whole operation will be at risk.
One is certain, the price won't change because it is in the contract, so it's good for the company's budget planning and stability. But when the application is delivered earlier than expected, you won’t get a refund.
When to use a fixed scope, fixed time, fixed price?
When you have thoroughly described a well-documented vision of the product you want to build.
When you have a very limited budget that by no means can be modified during the development.
When you have a short-term, fairly simple application to build.
Why we chose to use time&materials model at Visuality?
Onboarding, a team to a project, is cheaper for the client and at later stages, it is easier to scale-up the size of the team.
Our customers are having a business continuity and knowledge flow (https://en.wikipedia.org/wiki/Bus_factor)
The team greatly benefits from sharing challenges and ideas. It is proven that teamwork positively affects productivity and long-term motivation. Such circumstances are possible thanks to the time&materials cooperation model.
We were able to achieve very low staff rotation ratio because of company’s culture and high standards of work quality (e.g., professional project management, code reviewing, pair programming, investment days, etc.)
We can make sure that every engineer is dedicated to one project. We can witness the bond and engagement on both sides. Low turnover, dedicated developer, long-term project all that makes the cooperation smooth and pleasant.
We can manage the budget and time efficiently. The client pays only for the exact time spent on the development. The administration of sick-leaves, holidays, it’s all on us. Therefore the client can focus only on the product.
What do you think? Which model suits you more and why? Please let know in the comments or send me an email at firstname.lastname@example.org