One day we faced a problem. In January 2019, we were supposed to launch a new version of an 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 were aware of this in November 2018, which was 2-3 months before the launch date of the internet platform.
The new version of the product was supposed to allow us to at least double our revenues, because it was thoroughly tested and tailored to the needs of its customers.
We could potentially start recruiting for a team, but we've noticed some disadvantages:
- The risk of recruitment failure and loss of valuable time;
- It takes time to introduce new team members;
- Recruitment not only takes time, but costs, and does not guarantee success.
We have to hire a software company, agency, or programming team. Initially, we wanted to ask for an offer from two or three companies, but the process drew out so much that eventually we received offers from more than 40 companies. We would like to present a summary we created and dispel some myths about choosing a software company. We are convinced the time we devoted gave us first hand knowledge. It's valuable when negotiating with a programming company.
We also decided the conclusions drawn should also be implemented in our company, when we offer programming services to our clients.
Models of settlements for programming work
Currently, two methods of billing for programming work are commonly used in the market.
- Fixed price, i.e. settlement with an IT company at a price fixed in advance for completing part or all of the order;
- Time and materials, i.e. settlement with an IT company according to the number of hours actually worked and the materials used.
In order for the transaction to take place, two extreme points of view must be reconciled - the client’s and the contractor’s.
The customer’s point of view on time: we have paid a predetermined price since the Phoenicians. Why should I pay for time worked? 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 program made to order is not a closed product. This is not a car, home or kitchen kettle. The program can be changed, updated or developed at any time. During work, clients sometimes even change assumptions, and sometimes the sense of the created application.
How about our project? In most cases, fixed price settlement 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 put the main emphasis on preparing as detailed specifications as possible 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? Determine exactly what the internet application should be as a result of software company work - develop the technical specification of the program.
The client gains:
- A product that meets its requirements;
- Confidence that they’ll 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 must be made.
When to use fixed price, and when to opt for time & materials?
Fixed price we use:
- When we have clear requirements and deadlines;
- A limited or fixed budget;
- To create an MVP;
- For small projects with limited scope.
Time and materials we use:
- When the scope of the project is not fully known;
- When running a long-term project with dynamic requirements;
- When 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 to the software 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 changes you have initiated or that go beyond the competence of the supplier. The IT company may not agree to changes during the implementation of the contract.
Advantages of using time and materials
Flexibility. Along with the time & materials agreement, the customer receives the opportunity to modify the project's assumptions and change the amount of work during its implementation. Dynamic change is a feature 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, medium and large enterprises. Decision making during the process underlies Agile project management methodology.
Acquiring competences. If the client does not have the right specialists in the team, the time & material agreement allows them to recruit and start a programming project.
Start right away. The client can start the project right away - they have no specification, no design, they 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.
Time-consuming customer involvement is necessary to ensure the team operates within the approved range and within the correct number of man-hours.
Settlement models in Poland
Our practice shows that fewer and fewer Polish software companies are interested in projects based on the fixed price model. By rejecting all expensive companies employing more than 50 programmers, we chose only those that employed from 5 to 49. Of them, less than half 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 programming services and still uses the fixed price model. However, those customers who order only the design stage (product design, ux design and web design) help in the preparation of technical specifications that will allow the project to be carried out using a fixed price model.
> read pt. 2