Why did the budget of the project increase so dramatically while general idea and features were left the same.
I think most of IT outsourcing participants are familiar with the following situation:
“A client outlines a certain scope of work and asks for an estimation. Then you sign a fixed price contract and outline all the details of what you have agreed on. Then during the development process, your customer decides to change a piece of functionality, then few more “little” fixes are required, further “slight updates”, then it comes to discussion that actually something was developed not the same way as the client had imagined…”
Unfortunately, this situation is not rare in the software development. It mostly appears when the customer is not a technical person or a start-up with good understanding of the niche for which the product is developed, but without technical understanding.
The main trick here is, that even some very slight changes sometimes require a lot of additional time, as most of the changes should be applied not only in one place, but change the logic of the implementation. So, it is of the highest importance to outline in the very beginning all the major pieces of functionality for the software in order to develop the architecture of the project appropriately.
Most of start-ups are really furious why could the budget have changed if the general idea is the same. But imagine a house, which is partially built, how easy would it be to change few bricks or to remove them? And if you will decide to slightly change the shape of already built rooms? Would it be easy to do?
Of course, the examaple with the house is provided and might be an exaggeration, however, it shows really well that what the user sees and what is done “under the front end” are two absolutely different things.
How to avoid this situation? How to stay flexible in the development and stay within the budget?
Here are few options from Code Inspiration team:
- If you are a professional businessman, with deep understanding of your niche and business goals, but you don’t have an in-house tech consultant, try to apply to the development company with consulting. This will help you to add priorities to the scope of the functionality in order to get a released software inside your budget. Consulting will help you to avoid several mistakes and as the results necessity to roll back to “how it was”.
- If you decide to move on with a “fixed price” option, try to add a screen by screen description together with your PM to the specification guide. Make sure before the start that the specification is final. And if any other changes come to your mind, just add them to the backlog, because according to the fixed price model, the project scope should not change from start to finish and the development company should deliver the functionality within the timeline and budget you have agreed on in the contract.
- If you are sure the scope of tasks will be changing because there are many stakeholders which can require changes, or investors who might apparently order one or two additional features, move on according to the time and material option. Ask your developers to provide you a pre-estimation before each iteration, so that you can make sure you are moving on according to your budget.
- To hire a tech expert in-house is also a good idea for a B2B segment, if the project is ongoing and complex, it is always a good idea to have an independent representative, who will arrange code review and will know what to do if one day you will decide to change the vendor.
The main principle is:
- for customers: there are no “little fixes” which do not require additional efforts and extra time for completion;
- for freelancers and IT outsourcing companies: if the client is not technical, provide him with an estimation of time prior to the start.
Following these simple tips will in most situation help both parties to work effectively and will help both parties to sleep well 🙂