Working with outsourced developers means that there are a few fundamentals that need to be hammered out from the beginning. This is because each project is different in its own regard and throws up a unique set of challenges.
As a result, the solutions and the way in which these are tackled change too. When it comes to hiring an outsourced developer to work for you, there are two popular ways to do it: the fixed-price approach and the time & materials approach, each with its own merits and drawbacks.
Which one is the best for you?
Let’s start by understanding more how each one is defined.
What’s a fixed-price type of project?
As the name hints, a fixed-price type of project occurs when you know in advance how much a single project will cost you. With a fixed-price, there is a fixed budget allocated for a specific list of deliverables that should be provided in a given timeline.
All parties involved agree on the scope of work, budget, timeline, and deliverables up front. Usually, there’s little to no room for any changes after the project kicks in. Both sides agree to all terms of the project before starting it and do not expect any change or adjustment after the project’s kicked off.
A fixed-price pricing model is paying for all that’s covered in the documentation shared with the developer you hired, without the possibility to make changes during project implementation.
- Fixed budget and price agreed up front between parties before project kick off
- Scope, features, and timeframe are fixed too
- Payment usually follows different stages of the project: upfront payment, after the first milestone or project completion, the last set of payment is generally released after the testing phase (if it goes successfully)
What you need to know about fixed-price projects
Since this pricing model isn’t flexible, the end price your developer will provide you with will surely account for the risk they’re taking. Specifically, given how difficult it is to anticipate and know exactly how your project will be, more often than not developers add a buffer cost to the final price to cover any future delays or issues after the project has started.
Now that you’ve got a better idea of a fixed-price project, let’s have a look at a different one: time and materials.
What’s a time and materials type of project?
A time and materials type of project, as opposed to a fixed-price, is one where scope, budget, timeline, and deliverables aren’t strictly defined and set in stone right from the start. Hiring a developer following a time and materials approach results in paying them the number of hours they actually work on your project – based on their hourly rate – and any additional costs related to third-party tools, apps, services they might need for your project.
A time and materials pricing model is similar to a pay-as-you-go pricing model, often starting with a set of shared goals, clear requirements, and a ballpark estimate. All these elements can be changed during the project if needed.
- Budget is not fixed. It’s estimated and might change during project implementation
- Scope of the project and deliverables are flexible, meaning that they could be changed on-the-fly if things require
- Payments are linked to a commonly agreed calendar, not to a specific deliverable. This might occur every week, every two weeks, monthly, quarterly. The frequency of payments and deliverables has been agreed upon before project initiation
What you need to know about time and materials projects
Since you’re paying for your developer’s actual work hours and tools, apps, etc., you aren’t able to know in advance how much a project will cost you. That’s why it’s usually common practice to start with a discovery phase to a more precise estimate for your project.
By looking closer to your request, whether it’s a new feature for your WooCommerce store, a custom WordPress plugin, or a fix, the developer is able to gather key information and actually see things to better formulate their project proposal to you.
Given the flexibility of this pricing model, you can make any changes – even to the project scope – more quickly and while the project is running.
When you should use the fixed-price approach
A fixed-price approach works best for you – the client – when two criteria are met.
#1 criteria (on your end): ideally, you need to be absolutely spot-on about your requirements meaning that everything down to the minute details of the project has to be documented. You don’t have room for loose project terms. Being able to do so also entails you to knowing the exact end product you’ll need, hence having a clear idea on when to call it “done”.
#2 criteria (on the developer’s end): it could be often the case that you aren’t sure about the details of your project, how to write them in a clear manner, or literally what to add in your project brief to make it a useful one for the developer.
It’s in situations like these that good developers show their value: a professional developer will bring up a good amount of questions so that they can ease out the required details for ascertaining what key information is missing and, ultimately, a properly fixed price project cost. WordPress developer and Codeable expert Marius Vetrici points out:
If project requirements aren’t correctly defined, and you want to go with the fixed-price approach, you should expect the developer you’re engaging with to be getting back to you with plenty of questions to clarify all details in a pretty granular manner. Only after that, you can commit to a fixed-price project.
Another example suitable for a fixed-price project is when your project has a smaller, specific scope, with fewer visual elements involved. Think of an advanced custom form, a calculator, and almost anything which you can list out all the formulas or combinations of and share them with your developer.
Even though a fixed-price project might sound the perfect pricing model to go with, it can be trickier than you think. In fact, it is only recommended if you’ve put in a lot of work to gather the abundance of information required to start your project and make sure it’s correct. Of course, you can hire a developer willing to help you out with them, but still, the effort required from your end is considerate.
On top of that, if you fail at accounting for all project requirements in the first place (it can happen, but it shouldn’t with this pricing model), and keep asking little revisions, your developer might start to lose interest in the project since they were only paid for a certain set of man-hour. As a result, the quality of the project might drop. As Marius summarizes:
You’re good to go with a fixed-price project either when the project is small or, for larger projects, if you can break it into smaller, manageable, and clear milestones.
It’s likely that to define the scope, you might be required to pay the developer to do a discovery project.
When the time and materials approach works better
The time and materials approach is called that way because it takes into account the actual hours and resources involved in your project.
With this pricing model, you won’t get a defined estimate because of its open-ended flow and somehow loose terms. This doesn’t mean you won’t be able to budget accordingly and narrow down to some decent range your project specs and get a ballpark estimate eventually.
Does this scenario sound like a poor way to manage an outsourced project? If you think so, it’s just because your attention focused on the wrong aspects which might have given you the wrong idea. In fact, a time and materials approach is probably one of the most flexible and adaptable models to project development. As Marius explains:
A time and materials approach will allow you to learn what you need as the project evolves. The more your project proceeds and more features you develop, the more you learn about its details.
Thanks to its yielding nature, a time and materials pricing model allows you to easily split your project into smaller chunks, known as milestones, that make it more goal and budget-driven. In other others, it’s agile.
Using Agile Project Management and sprints
The time and materials approach is the ideal avenue for the Agile Project Management methodology, one that has proven to be one of the most effective and efficient when it comes to development work.
Combining two productive tools, the time and materials pricing model with an Agile methodology, allows better management of your project overall. Specifically, the developer will break the entire project into “sprints”, which are smaller, more manageable phases built around milestones of the project, each followed by a physical deliverable. These sprints allow you to focus on the costs for each sprint and then move onto the next.
All along the way, you have the ability to analyze whether or not a solution is working with respect to your problem and figure out the necessary tweaks to set it on the right course.
Thanks to the flexibility, one other interesting advantages that the time and materials approach has over the fixed-price one, is a shorter deliverables timeline. Instead of receiving them all at once at project completion, you’ll be receiving deliverables after each sprint.
This gives you a closer look at whether the project is heading in the right direction. In addition to that, it’ll give you the ability to test you developer’s skills in terms of their understanding of the project and your requirements in a shorter time span.
Marius defines a few parameters that you can judge them on:
Marius defines a few parameters that you can judge them on:
First of all, do you like working with that freelancer or agency? Does he understand your business needs? Is he connected to your needs? Do you like the questions that he asks? Are those questions insightful? Do they stimulate your thinking? Generally speaking, do you like working with that person? Running a first ‘trial’ sprint without any further commitments should clarify whether you are a good match for each other.
Fixed-price vs time and material: How to choose
I can’t give you the answer as that’s a per-project answer. What I can do, though, is providing you with a list of questions that should guide into looking at things from the right perspective. Ready?
- Do you have a pretty good idea of what you want? If so, then a fixed-price project might work for you.
- Can you write a thorough project brief? If you think you can cover every little detail in your documentation, then a fixed-price project might work for you.
- Are you open to a discovery project to help you define the scope of your project? If so, then a fixed-price project can be a viable option.
- Are you willing to pay a buffer cost? If you don’t mind, then a fixed-price project might work for you.
- To what extent are you willing to be involved in the project? If it’s medium or high, then you’re perfect for a time and materials project.
- How important is flexibility to you? If it’s important, then a time and materials project is what you should look for.
- How important is having a defined budget and timeline for you? If you can make decisions based on a ballpark estimate only, then a time and materials project might be a good option here.
Fixed-price and time and materials have both use cases, advantages, disadvantages, and challenging aspects. The former’s rigidity sure is a constraint that makes it hard to be used with many types of projects. Still, that same aspect is the one that gives you a clear picture of how things will evolve and will cost you, with little room for uncertainty.
On the other hand, the flexibility a time and materials project can count on is a real advantage as you don’t need to invest lots of time into the planning phase and the trajectory of your project can be changed in a faster manner. What it lacks, though, is a precise end price and timeline which might not help when trying to budget for a given project before starting it.
Which one fits your needs best? No matter your answer, never forget that a transparent and clear communication with your developer, along with being open to suggestions from them, will always be the perfect ground from which your project will thrive.
This blog post features Marius Vetrici, a software engineer with a Ph.D. in business informatics. As a software entrepreneur, Marius has served more than 800 small and large companies to achieve their online business goals. He is the founder of WPRiders – WordPress technical agency with a focus on your business goals.