14
.
11
.
2023
8
.
11
.
2018
Ruby on Rails
Business

Time&materials vs fixed price - comparison of the popular cooperation models

Michał Krochecki
Chief Operations Officer

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!

TIME&MATERIALS

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.

From Giphy

ESTIMATION

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.

FLEXIBILITY

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.

COST

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
    • wireframes
    • workflows
    • 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)

Fixed price

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.

from Giphy

ESTIMATION

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.

FLEXIBILITY

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.

COST

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.

from Giphy

What do you think? Which model suits you more and why? Please let know in the comments or send me an email at m.krochecki@visuality.pl

Michał Krochecki
Chief Operations Officer

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

What does the ||= operator actually mean in Ruby?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Ruby
Tutorial

How to design an entity - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Entity - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Should I use instance variables in Rails views?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Frontend
Backend
Tutorial

Data Quality in Ruby on Rails

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Backend
Software

We started using Event Storming. Here’s why!

14
.
11
.
2023
Mariusz Kozieł
Event Storming
Visuality

First Miłośnicy Ruby Warsaw Meetup

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality

Should I use Action Filters?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Tutorial

Value Object - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Introduction to DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Safe data migrations in Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Backend
Tutorial

I love dev, and so do we!

14
.
11
.
2023
Michał Łęcicki
Software
Conferences

Updated guide to recruitment process at Visuality

14
.
11
.
2023
Michał Łęcicki
Visuality
HR

Visuality Academy for wannabe Junior Engineers

14
.
11
.
2023
Michał Piórkowski
HR
Visuality

How to approach funding as an MVP

14
.
11
.
2023
Michał Piórkowski
Business
Startups

Visuality 13th birthday

14
.
11
.
2023
Michał Piórkowski
HR
Visuality

How To Receive Emails With a Rails App in 2021

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Tutorial

Project Quality in IT - How to Make Sure You Will Get What You Want?

02
.
10
.
2024
Wiktor De Witte
Ruby on Rails
Project Management
Business

5 Trends in HR Tech For 2021

14
.
11
.
2023
Maciej Zdunek
Business
Project Management