WHAT FACTORS DETERMINE THE COST OF SOFTWARE DEVELOPMENT?
When constructing a home, a blueprint is necessary in order for a builder to know exactly what he needs to build. It lays out the requirements, details, and scope of the project at hand. Without it, the builder would not be able to appropriately estimate. Imagine going to a builder without a blueprint and asking him to provide you with a detailed estimate for building you a 3 bed/2 bath, house.
Sure, they may be able to give you a general, wide-range ballpark of what it may cost but it would be impossible for them to give you a specific estimate because there are too many factors involved that could significantly impact the cost.
The same goes for software development. Without detailed wireframes and project scope clearly identified, the best a vendor can provide you with is a very general, wide-range ballpark figure.
In both of these industries, if you are in a situation where you do not have a plan in place yet, you would need to either hire a separate company to create the blueprints/wireframes first or alternatively, the builder/development company may offer those services and provide you with an estimate for how much it would cost to get done.
Whether you have a plan already in place and fully scoped out or need to start from scratch, doing your homework beforehand to make sure you are clearly articulating what you need and why you need it will mean vendors will take your bid seriously and it will greatly impact the quality of the estimates you receive (regardless of which kind of estimate you are getting).
When venturing into software development, as part of your homework, you should also gather information about what questions you should ask your potential vendors to ensure they would be a good fit for you.
WHAT IS A FIXED PRICE MODEL?
A fixed price estimate is just that – one fixed price. The vendor provides you a price for a specific amount of work and this is the "not to exceed" amount price you pay at the end of the project (so long as the project scope does not change).
A fixed price model estimate takes quite a bit of work to complete as it requires the vendor to not only price out the individual tasks/materials needed but they must also try to plan for the unforeseen.
Advantages and disadvantages of a fixed price model
Pros:
- A client knows exactly what cost to expect upfront, so there aren't any surprises along the way.
- A payment schedule can be more predictable.
- There's more incentive for the vendor to prevent the project from dragging on too long.
Cons:
- There is less flexibility when it comes to making changes along the way – such changes usually require a change order process.
- Often you don't know exactly what you want or need upfront.
- Vendors have to cushion the fixed price to allow for potential unknowns that may be encountered along the way.
The most vital thing for a fixed estimate is a clear plan. In order for the vendor to provide an accurate, fixed price model estimate and in order for a client to feel more confident that they have thought through all of the ‘what-ifs’, a detailed plan needs to be developed prior to estimating.
It's a valuable piece of the puzzle and should not be skimped or taken lightly, especially when you are going with the fixed price model. Good vendors will know what questions to ask from the start to help ensure your plan has covered as many factors as possible.
This doesn't mean that other "unknowns" will not come up in the process, but having a solid plan to start with, lowers that risk.
WHAT IS A TIME-AND-MATERIALS CONTRACT?
In a time-and-materials contract, a client pays for the number of hours put into the project, plus any added expenses that accrued during the course of the project. In this method, an estimate is still provided, but it's not a fixed price, i.e., the client knows that the price can fluctuate due to unforeseen issues, change in scope, or added/removed features along the way.
Benefits and shortfalls of a time-and-materials contract
Pros:
- It allows for more flexibility along the way. During the project, if you decide you want to change some features, then the price/budget would just be adjusted to allow for this change. You'll simply be charged for it.
- You can more easily react to the "unknowns" – often you don't know exactly what you want at the beginning of the process.
- You may in fact pay less than what was estimated should the project be completed more efficiently or if you decide to scale back during the process.
Cons:
- You don't know exactly what your final price will be.
- Because there isn't a fixed, set price, a project could easily scale much larger than originally planned, especially if unforeseen issues arise during the course of the project.
Your project end date is less predictable
Similar to the fixed price model though, planning is the key. If you go into a time-and-materials contract without a well-thought-out plan, you run the risk of going over budget or not having enough money to finish the project properly.
For example, during home construction, if you don't have a good plan from the start you may allocate too much of your budget to windows and flooring and not have enough money at the end for the roof.
Similarly, during software development, you may get carried away with adding additional features to your app, and then at the end of the project, you may not have enough money for proper QA and testing.
However, if proper time and effort are put into the initial planning step of the process, it helps to eliminate some of the unease of a time-and-materials contract estimate and avoid such situations. A good development company will know the questions to ask in the planning phase so that the risk of the "unknowns" is as low as possible.
THE HYBRID APPROACH
The third approach is a hybrid of both the fixed price model and the time-and-materials contract. In this method, a certain stage or part of the project will be based on the fixed price model, and the other stages/parts are based on a time-and-materials contract.
When discussing construction, an example of this would be using the fixed price model for the planning/blueprint creation and then the remainder of the project would be based on a time-and-materials contract.
In software development, you can work out a fixed price approach for the discovery and wireframe development and then the actual build of the software could be based on a time-and-materials contract. This approach can often be the best of both worlds (depending on your specific circumstances) as it allows for a level of certainty for a particular stage of the project but then allows for a certain level of flexibility with the remainder of the project.
SELECTING THE RIGHT PRICING MODEL FOR YOU
There is no right or wrong approach when it comes to any of the pricing models – it truly depends on a client and vendor's specific situation. Both models come with their benefits and their risks.
In either a fixed price model or a time-and-materials contract, it can often come down to who wants to take on the most financial risk. Fixed price, often it's the vendor taking on the financial risk as they will be "on the line" should unexpected issues arise (and this is why they typically add a cushion to their bid).
Time-and-materials, it's the client taking on the financial risk as a fixed price has not been agreed upon. If you've ever seen a home improvement show on HGTV (or the movie *Money Pit*), you've seen how project costs can escalate quite quickly once walls start opening up!
Just like with software development projects, there are certain circumstances where programmers won't know exactly what extent of work will be needed until they start to dig into the code.
The key is for clients and vendors to work closely together on creating a thought-out plan before any building or coding ever gets started. By taking this step very seriously (in either pricing structure model), you are giving your project a much higher likelihood of success. It's also vital for a client to do their homework before going the estimation process even gets started so that they can articulate clearly what they need from the project. Come prepared and you will likely get much more insightful estimates that will ultimately help your project be a success.
Get in touch to find out more about which pricing model is best for your project. Our experienced team will ensure that you'll be well informed about which option will bring you the best outcomes.