Software development pricing models: Globaldev’s experience in setting the right contract
The right pricing strategy is important to the long-term success of your business. It can not only help you deliver your project on time and within budget, but also follow the terms you agreed on with your partner. There are many factors that can influence your choice of a software development pricing model including your business needs and goals, project scope, team structure, budget, and risks you’re willing to take.
Previously, the main contract pricing models were fixed-price, time & materials, and milestones. In recent times, industry experts started talking about additional two pricing strategies: dedicated team and outstaffing pricing model. In this article, we look at the advantages and disadvantages of these pricing models for software development and share our experience based on over a decade of collaboration with different partners over diverse projects.
What is the fixed-price model?
A fixed-price contract is based on an estimate of the amount of work that needs to be done. Project requirements need to be written to define this scope of work. Wireframes also need to be created to help the development team figure out the hours necessary to implement all features. With a fixed-price project, the service provider and the customer both carry some scope-related risk. Any extra work (when clients want to add a totally new feature that was not specified in the documentation) usually goes under an additional agreement. In this case, the client must pay extra.
In this custom software development pricing model, it’s important to discuss everything before the actual development in order to estimate the cost of the software product. The fixed-price model ensures that a project is done and delivered within a specific timeframe and budget.
Advantages of the fixed-price model
- Finalized pricing. After the contract is signed, the client knows the budget. The company cannot overcharge without notice.
- Strict deadlines. When the customer understands what features they want in an app, the developers can come up with a clear plan and definite deadlines. Everybody knows what work will be done at any given point in time.
- Predictability. When everything has been discussed and planned beforehand, it’s easy to monitor the status of software development and predict if the work will be completed on time.
- Little to no management. All project details are defined in the contract, so project management can be passed down to the project manager. No excessive supervision is required on the part of the client.
Disadvantages of the fixed-price model
- Rigid terms. After the project starts, it cannot be adjusted during the course of implementation. If market conditions change and some planned feature is no longer needed, or a new feature is now required, it’s impossible to accommodate that. Implementation of this new feature has to be negotiated independently. With fixed-price projects, the paperwork and approval of new features take much longer and can potentially stall the whole development process.
- Long planning. A fixed-price contract demands in-depth planning. Developers need to discuss every detail and every action, along with possible pitfalls.
- Miscommunication risks. There’s always a risk that miscommunication may lead to delivering a product that doesn’t exactly correspond with what the client hoped for. Such misunderstandings can happen because the project specifications aren’t clear. Lack of project monitoring can also cause miscommunication, especially when developers need confirmation or feedback on the work that must be done. If the client is working with an offshore company, they need to know how to manage a remote team to avoid project stagnation.
When to use
The fixed-price model works best for small projects with limited features and clear requirements. It’s also good for MVPs and projects with limited budgets and definite deadlines.
What is the time and materials pricing model?
The time and materials pricing model involves regularly paying for work completed. With this model, the customer plays a greater role in the development of the software solution and carries all risks related to the scope of work. The level of responsibility that the client carries for the whole development process with time & materials is much higher than with fixed-price or milestone projects. The customer gets set up with a team and is billed for the actual time spent on development.
Advantages of the time and materials pricing model
- Flexible requirements. Work is divided into short sprints and results in an MVP (Minimum Viable Product). To meet the customer’s expectations, features can be added or removed.
- Hourly rates. You pay a stated hourly rate that a given company has.
- Product quality. The product is well-tested and brought to near-perfection thanks to multiple iterations, resulting in high-quality software.
- Transparency. The time & materials model allows clients to monitor progress as developers present reports on work accomplished.
Disadvantages of the time and materials pricing model
- Uncertain deadlines. Any adjustments to the project can postpone the final release and the project can become overdue.
- Undefined budget. The price is approximate, so the client doesn’t know for sure how much money they’ll spend, since the timeframe for designing and implementing features is flexible.
- Need to manage the process. The product owner needs to manage every iteration as well as every step of development in the time & materials model.
- Hard decisions. Since market conditions can change unpredictably, it may become clear that some features or design elements that were originally planned are no longer relevant. In this case, the product owner must act immediately to adjust development to better meet market conditions.
When to use
The time and materials pricing model appeals to customers who want flexible procedures and agile project execution. This model works for projects with changing requirements and fits long-term projects.
This type of contract is applied when there’s no set scope of work and when a lot of flexibility is required. The client must be willing to get really involved in the project since their approval and vision are an important part of development.
What is the milestone pricing model?
With milestone pricing, the customer is billed when a service provider has implemented a specific scope of work over a certain period of time, achieving a predefined milestone. At that point, the client needs to pay the service provider an amount that depends on the time spent and the things achieved for the given milestone.
The client and provider agree on the milestones at the beginning of the project and tie the payment to specific deliverables. The project is usually divided into a couple of milestones, especially if we’re talking about large-scale projects. This pricing model helps the client ensure financial stability, mitigate risks, improve project accountability, and encourage high-quality work.
Advantages of the milestone pricing model
- Paying on achievement. The customer pays for actual functionality delivered to them.
- Control the results. The client becomes the person who approves each milestone.
- Criteria. Most IT companies will provide clients with a checklist they need to use when they receive a piece of work for approval. This checklist is supposed to guide them to see if everything works as expected.
Disadvantages of the milestone pricing model
- No fixed price. Each type of functionality will cost a different amount as different amounts of time were spent to develop them. The customer has to pay the total amount approved for each milestone.
- Long disputes. If a client finds something they don’t like or something that doesn’t correspond to the functionality listed in the checklist, the development team will have the right to dispute. This back-and-forth can take a considerable amount of time as the two parties come to terms.
- No rigid timeframe. Since planning and project execution is iterative, there’s no specific timeframe for when the project will be completed.
- Lack of trust. Some IT companies don’t trust this model and refuse to work with clients who insist on it.
When to use
The milestone model is best when the service provider and client have a good relationship to eliminate the chance of fraud. If the two parties trust each other, it’s less likely that a dispute will arise. The milestone model works best for business partners with established relationships so there’s minimal downtime during acceptance and disputes.
Talking about the project size, milestone payments are great for long-term projects that have well-defined deliverables.
What is the dedicated team pricing model?
The dedicated team pricing model is simple and transparent: a client performs regular payments (biweekly or monthly) that depend on the size of their team. Every payment includes the salaries of the team members and the service provider’s fee.
Advantages of the dedicated team pricing model
- Predetermined budget. Knowing the size of the team and a fixed fee, a client can predict expenses.
- Steady communication. Team members and a customer are in close collaboration through which they can achieve maximum efficiency.
- Continuous development. With a permanent dedicated team working on a project, it is easy to improve current functionality, add new features, and plan the future scope of work.
- Scalability and flexibility. The number of people engaged in the project can grow depending on project requirements. Time for substituting a missing team member is minimal.
Disadvantages of the dedicated team pricing model
- Inefficiency in the case of small projects. This collaboration and pricing model doesn’t prove itself for short-term projects where requirements and the scope are predetermined and won’t be altered.
- Crewing takes time. If the project is growing and a client wants to scale the team accordingly (e.g. with developers), it will take your team's time to select new members with the right expertise to meet project goals, as senior members need to be involved in the interviewing activities. It also takes the client's time as they should be participating in the hiring process.
When to use
The dedicated team pricing model is the best choice for long-term projects where a client expects that the requirements, scope, and members of the team may change during the development process.
What is the outstaffing pricing model?
The outstaffing pricing model involves either set hourly rates, similar to the time & materials model, or an arrangement where the client and service provider agree on a fixed price model, resembling a regular salary but excluding vacations, taxes, and other benefits.
Advantages of the outstaffing pricing model
- Cost optimization. This pricing model helps businesses to arbitrate budgets. Outstaffing reduces personnel expenses (sourcing and recruitment specialists) and overheads.
- Wide talent pool. With an outstaffing pricing model, a client has access to a broad pool of skilled specialists to match their in-house team and project requirements. Companies providing team extension services have databases with candidates ready to be reached out to per request. They also perform regular market research and accommodate quicker to industry realities.
- Competitive rates. Due to a wide choice of professionals who can potentially match the project needs, a client has access to a location wider than the client’s area. This means developmental and rate diversity.
- Fewer HR specialists. A client company will need much time and a trained HR department to find competent candidates for hire. In case of outstaffing, it is possible to attract highly specialized personnel in a matter of a few weeks rather than months, because the vendor company provides a dedicated recruitment and HR teams.
- Faster project launch. Once a customer switches to the outstaffing model, their project might start quicker because the developers are accessible right away.
Disadvantages of the outstaffing pricing model
- Higher responsibilities. Clients who choose an outstaffing pricing model need to get ready for a higher level of responsibility because the process of project management is entirely different and is on their side.
- Hidden costs. As a client hires a developer to their in-house team, they are the party that covers the rate changes and overtime work.
When to use
This model is ideal for clients who explicitly oversee and monitor their entire staff and need specialists to complement their in-house development team. Outstaffing experts can be hired either for a short-term practical task that cannot be completed by the client’s team or for a long-term relationship as in-house team members.
Globaldev experience: Pricing models for project engineering and team extension
At Globaldev, our collaboration model with partners is mainly focused on project engineering and team extension. To step aside from theory and get closer to real-life cases, we interviewed our sales team and COO of Engineering to shed some light on what contract pricing models we offer.
At Globaldev, a dedicated software development team has evolved from merely estimating and understanding a customer's scope of work to actively fulfilling the outlined tasks and requirements. They evolved into a team that knows the project well enough to suggest new scopes and changes, detect loopholes, and make decisions in terms of team extension when they require outside expertise to help a business grow and make a profit. Here’s what our sales manager, Ihor Churilov, has to say about a dedicated team model:
Typically, clients do not start project development with a dedicated team. Why should they? Reputation, good feedback, and credibility aren’t enough. So they approach us for a time & materials pricing model. But then, it’s our commitment, successful deliveries, understanding of the niche and business needs, and active participation in strategic planning that make our clients switch to a dedicated team pricing model.
It’s all different with the outstaffing model: A customer usually approaches Globaldev with one goal in their mind. That is to complement their internal development team by hiring a few team members. Our Head of Sales, Kate Chernel, deals with outstaffing model requests on a daily basis, and here’s her experience in approaching every case:
The selection of personnel for each client is super individual. Typically, clients looking for an outstaffing model either need additional expertise or extra hands for project development. In our practice, there were even rarer cases when the customer wanted to completely change the team, preserving their internal management processes, CTO, or CEO.
In any case, our approach always includes a few important steps. First, we investigate and find out at what stage the product is now and what their plans for product development are in the near future. Second, we acknowledge what kind of request the client has and what’s their in-house team composition. Third, we find out extra specifics of the in-house team: processes, communication channels, and recent issues that made them come up with the idea that they require extra help. Fourth, we focus on the technical expertise that a newly hired specialist should have and pay attention to the soft skill requirements list. Next, we deliver the request to the Globaldev recruitment team.
After screening candidates and having a round of technical interviews, we share candidates' CVs and our feedback with the clients’ team. We’re totally open to helping a client arrange another round of interviews for hard and soft skills assessment.
In most cases, after the client has seen the quality of our work and the level of specialists we select, they completely entrust us with the entire process of candidate selection, and get involved only at the final stage.
Kate and Ihor closely work with the client and their in-house team at the hiring stage, while our COO of Engineering, Oksana Zhukova, knows the ins and outs of how the Globaldev recruitment team gets involved.
For outstaffing, we play the role of a dedicated recruitment and HR team by not simply finding matching candidates according to a client’s list of requirements. Before talent sourcing, we study the project and internal processes with this in mind: employment is a two-way road meaning that both a client and candidate should know each other well before a contract is signed.
While screening and interviewing candidates, we’re honest about a project, an in-house team, and possible complications. Furthermore, we’re always transparent and straightforward with clients, when we understand that the expertise or experience they’ve requested is not enough.
One of the latest examples is the case of hiring a Senior Angular developer to complement the team of one of our clients. A few weeks after the position was closed, the developer approached our HR team sharing clear project challenges and the idea of having at least one more developer onboarded to meet the client’s deadlines and expectations. After we highlighted the problem to our client and discussed their budget limits, we created a custom model that matched the project perfectly: we hired a Junior Angular developer to equip the team. Now, our Senior Angular developer & a Junior Angular developer approach gathers positive feedback from a client allowing his project to grow without exceeding the budget.