So, you have decided to hire a software development company to develop an application that will improve one of your company’s processes, making it more efficient and reducing the work hours of the personnel. This application will pay for itself and will make you look like Gandalf to the rest of the company. That is awesome. You have also decided that a fixed budget engagement model is the right way to engage with your provider, but you feel unsure about how to determine if that is the best way to go and what you should expect when working with this model.
Fortunately for you, we have dedicated time to write some lines about our experience with fixed-budget projects.
The Fixed Budget Engagement Model
This engagement model is a perfect fit for companies whose business lines are different from software development, companies that do not develop software on a regular basis and lack the infrastructure and resources required to develop software. But sometimes, this model is also a good fit for software development companies that want to outsource basic tasks to a third party to reduce costs. If you feel a little unsure about this type of engagement model, you should consider asking yourself the following few questions. If you answer negatively to one or more of them you are on the right path with this model.
1. Does your company develop software as its main business?
2. Does your company develop software to support its main business processes?
3. Does your company have any project manager that can be assigned to the development process?
4. Does your company have any business analysts to gather requirements from the users and stakeholders?
5. Does your company have all the assets needed to develop software?
6. Does your company have developers and testers that can be assigned to the task?
7. Is your company aware of what a software development life cycle is?
8. Do you plan to develop software as an ongoing effort for longer than a year?
Once again, if you answered negatively to one or more of the previous questions, you should definitely consider using a fixed-budget engagement. The reason behind this is that your line of business is not software development, and your organization is probably not prepared to develop software by itself. You should rely on your chosen software development company to ensure a successful project.
What You Should Find Out of the Box in a Fixed Budget Engagement Model
Under this model, the risk is more on your provider’s shoulders because they will have to commit to delivering a piece of working software on a determined date, under a determined budget, and to a determined set of specifications. So, what should you expect?
Expect the Provider to Have More Control Over the Project.
The provider will control the whole development process. They will choose which software development life cycle to use. They will choose the team members, the project manager, and the tech leads, and they will provide the development, testing, and staging environments as well as the tools that they consider necessary for development. Your role is not diminished in any way. You will still be able to supervise the advance, and in the end, you will get what you want, but your provider is the one at stake for most of the development process, so it is fair that they are the ones who decide how things are going to be developed. On the other side, you will get a piece of working software “key in hand”.
Expect to Pay by Milestone.
Your provider will most likely propose you pay by milestone, which is not only healthy but also fair, healthy because you need your provider company to be financially strong to be able to finish the project and fair because you will be paying money only each time that the development process makes a significant advance and you will be the one validating when each milestone has been achieved.
Expect to Be Delivering.
You will be required to deliver any information or make any decision that is needed for the project to advance in a timely manner. The fact that the project’s control is on the provider’s side doesn’t mean that your attention is not needed. Any software development effort is a shared one. If you take too long to decide or to send relevant information to your provider, the whole project will be compromised, and your provider is the one paying the highest bill for that.
Expect Change Requests.
“Change is the only constant in life,” as once Heraclitus said. You can expect to discover that what you initially thought was a good idea, after a few versions come out of the pipeline, ends up being a very bad one, or you could end up wanting to extend the scope of the project to include something that was not considered too important before. Believe that will happen, and for those cases, you will have to fill out a famous change request.
Needless to say, there is nothing bad about a change request, except that people tend to forget that changes take time, time is money, and money is hard to get. If you ask for a change, or if something is found during development that requires a change, talk about it with your provider and get to an agreement on how much it will add to the scope and budget. The more you ask for new functionalities, the more change requests you will get.
Expect to Get a Full Team Working Hard and Motivated.
If your provider is anything like Sapiens Software, they will want to deliver on time, on budget, and to the specifications; there is no other way to do it and still make it profitable. We want to see you coming back in a short time with a new project, so expect to receive nothing but a full team to work on your project. A normal project will need a project manager, a business analyst, developers, testers, tech leads, servers, code repositories, communication tools, and many other things. Never accept anything less than that.
I hope that this post helps you unveil the mysteries of the fixed-budget engagement model. If you have any questions or comments, please feel free to drop a few lines in the comments, and I promise that I will respond as soon as my job at Sapiens Software allows me to.