One day we faced a problem. In January 2019, we were supposed to launch a new version of a SaaS solution, or more accurately, PaaS, i.e., platform-as-a-service, but the work schedule for our clients did not allow the project to be carried out by our programmers. We became aware of this in November 2018, 2-3 months before the launch date of the online platform.
The new version of the product was supposed to allow us to double our revenues because it was thoroughly tested and tailored to the needs of its customers.
We could potentially start recruiting members for a team, but we've noticed some disadvantages:
- The risk of recruitment failure and loss of valuable time
- Introduction of new team members takes time
- Recruitment takes time and costs and does not guarantee success.
We had to hire a web development company, agency, or programming team. Initially, we wanted to ask for an offer from two or three companies, but we've gotten so caught up in the process that, in the end, we received offers from more than 40 companies.
We would like to present a summary we've created and dispel some myths about choosing a web development company. We are convinced that the time we devoted gave us valuable knowledge. It's worth being equipped with it when negotiating with a web development company.
We also decided that the obtained conclusions should be implemented in our company when we'll be the ones offering programming services to our clients.
Billing models for programming work
Currently, two billing methods for programming work are commonly used in the market.
- Fixed price, i.e., settlement with an IT company with a price established in advance for completing a part or an entire project
- Time and materials, i.e., settlement with an IT company according to the actual number of hours spent on work and the materials used.
For the transaction to take place, two extreme points of view must be reconciled — that of a client and the contractor.
The customer's point of view: I have been paying a predetermined price since the beginning. Why should I pay for the working hours? From the client's point of view, this is a risk. Developers can enter any number and any amount into the hourly report.
What is the IT company's point of view? The commissioned software is not a closed product. This is not a car, home, or kettle. The software can be changed, updated, or further developed anytime. During work, clients sometimes even change assumptions and sometimes the purpose of the created application.
How did the situation look in the case of our project? In most cases, the fixed price billing model is more favorable for the client in terms of price. But it requires a lot of work on the IT specification. At the same time, both parties benefit greatly from its development. Therefore, while working on our SaaS, we emphasized preparing a detailed specification to reduce the programming costs of an external company as much as possible.
How do you make both parties agree to cooperate for a fixed price? Precisely determine what the web application should look like as a result of the web development company work – develop the technical specification of the software.
The client gains:
- A product that meets their requirements
- Confidence that they will get what they want
- Specification that can be attached to the contract with the IT company
- A tool for controlling and accounting for the contractor's work.
An IT company gains:
- An action plan
- An understanding of the beginning and end of the product that it must create.
When to use the fixed price billing model and when to opt for time & materials?
We use the fixed price when we have the following:
- Clear requirements and deadlines
- A limited or fixed budget
- To create an MVP
- Small projects with limited scope.
We use time & materials when:
- The scope of the project is not fully known
- We are running a long-term project with dynamic requirements
- We need flexibility to modify the scope of work.
What are the advantages of the fixed-price contract?
Predictability. Every entrepreneur is looking for predictability in business. A company's strategy usually requires clear deadlines and numbers that find their place in the budget. Knowing the cost of software development in advance makes planning far simpler. It can be divided into parts so the cost is easily absorbed by the company's finances.
Transparency. With specific requirements, a fixed budget, and predetermined dates — there are no surprises.
Easy management. Payments for the web development company depend mainly on the percentage of work done. A fixed price allows the customer to review small amounts of work regularly because the scope of work is transparent and predictable.
Disadvantages of a fixed-price contract
The lack of flexibility is the weakest point of a fixed-price contract. As a customer, you are responsible for any occurring changes or the ones that go beyond the competence of the provider. The IT company may not agree to changes during the implementation of work.
Advantages of using time & materials
Flexibility. Along with the time & materials contract, the customer receives the opportunity to modify the project's assumptions and change the amount of work during its implementation. Dynamic changes are part of larger projects.
There is a general goal that should be achieved, but knowing how it will be achieved is not so important at the very beginning. This suits startups and medium and large companies. Decision-making during the process is a feature of Agile project management methodology.
Acquiring competencies. If the client does not have the right specialists on the team, the time & materials agreement allows them to recruit and start a programming project.
Start right away. The client can start the project immediately — they have no specification, no design, and usually only have the goal they want to achieve.
Disadvantages of the time & materials model
The problem of budget control is the main disadvantage of the time and materials contract. The total cost may significantly exceed the assumed budget.
The time-consuming involvement of the client is necessary to ensure the team operates within the approved range and within the correct number of working hours.
Billing models in Poland
According to our experience, fewer and fewer Polish web development companies are interested in projects based on the fixed price model. We rejected all expensive companies employing more than 50 programmers and chose only those that employed from 5 to 49. Less than half of them wanted to talk about the fixed price model, despite the very detailed specification we provided. Other companies emphasized that they work only on the basis of the time and materials model.
Our company offers development services, and we still use the fixed price model. For those customers who order only a design stage (product design, UX design, and web design), we'll help prepare a technical specification that will allow the project to be carried out using the fixed price model.