When you have to develop a software product from a third party, it is certain that you have to go through different contract models. The impact is the same no matter which model you choose.
Having a Fixed Price Model (FPM) both the client and the outsourcing company agree on completing the specified task within a specified time with budget fixed prior. FPM is best suited for short projects. Everything about budget, time, and work is mentioned clearly in the contract.
The basic explanations of how time, budget, and scope of work are specified are as follows:
The outsourcing company provides details about how much time they require to complete the specified work. Upon the agreement between the client and the company, they set a specific time frame to complete the specified task of the project.
You will know how much you have to pay for which part of your product development before the contract is signed. It is the final price you are liable to pay unless any changes are made in the product's design or features. Although any changes made during product development does not change the final price. Rather a new set of agreements is made.
Scope of Work
The company perfectly understands how your software product looks and its performance right from the beginning. A lot of questions are asked to the client in order to make the concept clear so that the developer team can work flawlessly. After starting the project, if the client feels it is necessary to make changes in the product, the company comes up with a new set of agreements, a time frame, and a separate budget in order to incorporate the changes. So, it is very important to tell everything about the product, its design, or its features to the team.
Basically, the working mechanisms of FPM are simple. The company wants to know details about your requirements before moving to the next step. A series of formal procedures such as a request for proposal and offer of implementation are worked prior to the onset of the actual software development process. Here is the step-wise guide on how actually the FMP works:
To run a project, especially in software development, it is necessary to define every single requirement. Without knowing the features, designs, and functionalities of the product a project cannot be started. Apart from this, the necessary criteria for contract acceptance are required.
2. Request for proposal
The outsourcing company then prepares a well-structured proposal mentioning clearly the background and business motive of the company. The major part of this proposal includes a detailed description of the designs, features, and all the necessary specifications of the project. This document may contain the exact timeline and breakdown of the tasks to be completed.
A good interaction between the client and the company is of greater importance throughout the project life. In this stage, the company thoroughly clarifies everything mentioned in the proposal, especially the requirements section. The client must expect a lot of inquiries from the company. The more the question is asked, the better it is from the product development point of view. This will leave no room for doubt and misunderstanding. As a result, the client will get the product of their want.
4. Offer of implementation
The company now sends an offer of an implementation document. This includes the elaborated description of the project. A project is divided into a number of milestones targeted to achieve within specified time such as design, front-end development, back-end development, testing, etc. This document contains details on when the milestones set will be achieved.
Moreover, the final cost, the method of payment, terms of the agreement, and procedure for change requests are clearly mentioned in this document. If you accept all the things stated and make it final then you cannot change the scope of work other than specified unless you go through the change requests which require the formation of a new set of agreements.
At this stage, you’re requested to pay at least 50% of the final price as a pre-payment.
Now, the development of your product officially begins. The company accomplishes the initial milestones set at a specified time. But you will not get the functioning product at this stage. Your product will develop up to the intermediate phase. Only the outlook of the product without the functionality is what you get in this stage.
6. Alpha version and refinements
This is the testing phase of your software product. You are allowed to run several tests and find if all the criteria for acceptance are met. Then, at last, in the refinement phase, basic tweaks are performed from your feedback and suggestions.
7. Going live
It is the last milestone where the final product is uploaded to the server and allowed for interactions with real users.
8. Acceptance period
The acceptance period lasts from 5 days to month depending upon the company you work with. In this period, the company fixes the bugs seen.
After passing through the acceptance period, your product will get finalized. It is the time for making the final payment and receiving a fully functional and deliverable product. You will receive all the necessary documentation about the product.
FPM always does not come right to any out of you. It is suitable for short projects with a limited budget. In the following section, we have discussed who can benefit from the FPM.
1. Short projects with clearly defined scope
This contract model is for the project that needs less than three months for completion. If you own a business start-up but yet not get the investors, this is for you. In a short time period, you’ll get a minimum viable product (MVP) and sell your idea to potential investors. But engagement in FPM demands a clear cut vision, goals, expected results, target users, inherent risks, and so on before starting the project.
2. Limited budget
If you have a fixed amount that you can spend on the project, the FPM will be the obvious choice. If your budget is predetermined and cannot be changed afterward, it is the only option you can work with. This works with the banking and government sector that practices sanction of fixed budget before the project is started.
3. FIxed timelines
In the FPM contract, the company ensures to finish the project exactly on the scheduled date. But this needs in-depth knowledge of your requirements. If you can explain it clearly to the company they can promise you to deliver your product on a fixed time unless any changes are made.
4. Unavailability to involve in the project
This is for those who cannot put their quality time on software development. You can raise your hands off and wait for a fixed time to complete the project. This is the only contract that does not need your constant involvement. The company informs you once after the completion of the project.
It is most suitable for the clients who have less time to focus on the software development process and is okay to leave all the responsibilities to the company. Some of the major advantages of FPM are as follows:
1. Low risk
The total budget required, timelines, and scope of work is clearly specified before starting the project. There are no chances of going beyond the estimated budget and not reaching deadlines. The company bears all the responsibility if it fails to deliver the product with predefined budgets and deadlines.
2. You will get the product of your wish
There are no surprises in the performance and functionality of the final product. You will get the product of your choice unless you fail to put your requirements firmly.
The company leaves no stone unturned to finish the product in the predefined timeline. It keeps its developers and other collaborators well-motivated and delivers a quality product within the estimated budget.
4. Simple process
During the contract period, it seeks your presence only in explaining your requirements phase. Other than this, you need not make yourself available during the project. The company works perfectly on the predefined budget and timeline.
FPM has certain drawbacks too. Due to the conventional method, it may not comply with the modern market structure. In the following section we try to gaze upon the cons of FPM:
The project gets final once the requirements are approved. You cannot change afterwards although it is legitimate and does not comply with the current market scenarios. In such conditions, you have to go through all the procedures of change requests.
2. High cost
Without taking account of the actual time to complete the project you are agreed to pay the predefined amount. Sometimes, it may be so unrealistic and you may end up paying really high for a small piece of work that requires less time to complete.
3. Unachievable deadlines
Sometimes, the deadline you and the company agreed is unreachable. Although the company ensures you to deliver the final product on a predefined time, due to hasty timelines, they compromise over the quality of the product. This is the biggest disadvantage of the FPM contract.
4. Less transparency and control
Timely feedback mechanisms, discussions, and hearing suggestions are not generally practiced under FPM leaving room for suspicion.
You cannot be so certain about the final product although you are clear on requirements. It leaves you unclear about the product. There are equal chances that your product will not be as what you wanted.
6. Requires a long time in pre-development
A lot of time is spent on the pre-development phase finalizing the project specifications. FPM does not comply with agile practices. You will get the final product only after the completion of the project. This requires a long time from the client's point of view. In certain cases, the product will go obsolete before launching due to the quick-changing nature of the market.
As mentioned earlier, FPM is suitable for short projects not lasting more than three months. Small scale projects with a predetermined budget and time can get benefitted from FPM. It is also equally suitable for those clients who are unable to provide their constructive time on the project throughout the development phase. For the client, it is an efficient method with low risk.
FPM being a classical contract method, does not work with agile principles. You are likely to get a fully functioning product at the end of the project. Some clients may find it vague, less transparent, and an expensive process. The client may remain less assured about the quality of the final product.