Why Did the Budget of a Software Development Project Increase?

Code Inspiration

Why did the budget of the project increase significantly while general idea and features were left the same? Let’s discuss!

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 the discussion that actually something was developed not the same way as the client had imagined…”

Unfortunately, this situation is not rare in 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 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 decide to make slight changes to shape of rooms? Would it be easy to do once construction had begun?

Of course, the example with the house 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 a deep understanding of your niche and business goals, but you don’t have an in-house tech consultant, approach a development company with consulting. This will help you to add priorities to the scope of the functionality in order to get 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 guideMake 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 who might require changes or investors who might 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 🙂