When considering software development outsourcing, what are the options do you have? In this article, our outsourcing experts help you to understand the differences and the benefits of Offshore Development Center (Time and Material) model versus Fixed Price Outsourcing Project model.
Typical Outsourcing Choices
When a company in short of resources to execute a software project, or they want to reduce the cost of development, outsourcing is the sound solution to consider. There are several choices to consider when outsourcing your project. When the project requirements, scope and specifications are well defined, the business can go with fixed price software outsourcing model. But if the requirements can not be defined clearly when starting or the client is looking for a continued offshore support on a long-term basis, then Offshore Development Center (ODC) which sometime also called Staff Augmentation or Labo contract, could be a good choice. There is a hybrid model of the two mentioned above. In this article our outsourcing expert will explain in detail when you can select an outsourcing model and the pros and cons of each model. To be clear, we do not recommend that the ODC is inherently better to fixed price project outsourcing - or vice versa. Each option has its unique merits and depending on the situation of each company, you can select the one that most suitable.
Offshore Development Center (ODC)
This outsourcing model is also called Time and Material (T&M) or Staff Augmentation. Japanese clients usually call this model “Labo Contract”. In this model the outsourcing vendor suppliessoftware human resources to the client’s existing staff, either offshore, nearshore or onshore. Basically the offshore outsourcing team will work as an extension of the client’s software team. The responsibilities of the client and the vendor are divided as follows:
- Hold the accountability of the project success. The client software project manager is responsible for managing the project, assigning tasks, monitoring the deadlines, and overseeing outputs of the outsourced tester or programmer as if they are the client’s staff.
- Manage the project budget. In the Offshore Development Model (ODC), the vendor invoices the client the number of hours allocated by their developers or testers. There is no clear association between payment and deliverable. The client’s project manager assigns the task to the contracted programmers, and the contracted programmers complete these tasks following the project plan. In this model, the client has to be conscious of the project budget, their project managers have to monitor whether actual spent time on a task exceeds the original estimates.
When do you choose Offshore Development Center model?
The ODC, or Staff Augmentation or Labo contract, is most suitable when:
- Bring in the special talents. ODC is a great way to supplement important, but highly unique expertise to your team. When you find it hard to find talents who meet the project requirements in the area that your office located, for example, you are looking for talents on emerging technologies or special skills such as Machine Learning / AI, data analytic, digital transformation or test automation, then ODC is an option to consider.
- Gaining new knowledge. If you have junior-level staff that you want to learn in an on-the-job training, ODC or Staff Augmentation is a good strategy to expose your junior staff to contracted senior-level talents. This way you can use the experienced contractors to train your junior members while still have the project done.
- Full team control. In case your company have to comply with rigorous or highly regulated standards around software development, security, or production change control (e.g. HIPPA or ISO) the ODC model is the better than project outsourcing. In the ODC outsourcing model you can have full control of the team process, and make the offshore team fully integrated to your software team. ODC model give you the benefit of speed and simplicity. You only needs to select the team candidates and the project can start right away.
- Control over team culture. Similar to process control, if there is a need to closely manage team members (staff or contractors) to maintain your work culture for the entire team, ODC is a preferable solution for you.
- Rapidly changing the staffing level. ODC is a good fit for situations where there is a large change (up or down) in your need for outsourced software projects. The resource level is adjustable so the client can scale up or scale down the team size when needed. This could help the client to achieve optimized software development costs.
- Productivity Increase. The same developers or testers staying for long-time in the ODC minimizes the learning curve and helps to achieve a productivity increase.
- More cost savings. The outsourcing vendors always offer better price in the ODC model versa the fixed price contract. Also with long-term contract, client will have further discount.
How to manage the ODC?
ODC model requires a different management approach versa the fixed price project. Here are a few important points you should pay attention to:
- Direct management: unlike the Fixed Price Project Outsourcing, the client be accountable for the project success and the budget. Thus your project manager must directly oversee all the project activities of the outsourced team to ensure staff and outsourced team work together to achieve the project milestone within the timeline and budget.
- Encourage ownership. The outsourced developers are working on the tasks that been assigned so naturally they focus on finishing the tasks precisely. In this Agile world, things have been changing fast, thus things are correct today may not be tomorrow. In order to take full advantage of the agile method, you may need to encourage the outsourced team to take ownership of the project, understanding the project goals and the Sprint goals, investigating the task, and sometimes challenging back to your project manager.
- Control project cost. In ODC model, the cost is calculated based on working hours and hourly rate. The project costs are linear and increase as time flies. Therefore, if more time and effort is required due to wrong estimates or scope change or waiting time, it will all be your responsibility. You have to control the resource utilization and cost closely.
Fixed Price Software Outsourcing Project
With fixed price software outsourcing project, the client hands off the accountability of the project success to the outsourced team. Thus the cost of the project is fixed at the beginning and it is up to the outsourced team to manage resource and cost to complete it. Change control is very important in large fixed price projects to oversight any changes in scope or schedule, which usually translates into an increase in project cost.
In this model, the payment can be made in a few ways:
- Time based payment. This type payment is made based on a predefine payment schedule mutually agreed in the contract.
- Milestone based pricing. In this type of payment, invoicing is triggered when certain key milestones are met, such as the signoff of a deliverable.
When Do You Choose Fixed Price Software Outsourcing?
Fixed Price Project Outsourcing are the best choice for a number of certain situations. In our experience, the following are the most common situations when choosing fixed price project outsourcing makes sense:
Reduce risk and management overhead. Assuming that you select the right outsourcing partner then it is the vendor’s responsibility to deliver the project within the agreed budget. If you build in the right terms in the contract then the risk is shared with the outsourcing vendor. Also in the fixed price model, the vendor holds the project accountability, thus less management overhead is required from your project management team. In case you want to look for a long-term outsourcing partner for your ODC, it is wise to try out the relationship with a fixed price contract before you can commit for a long-term engagement.
In-house Team Limitation. There are situations that you should not assign your in-house programmers and testers to do the project. Your internal team has been already committed to other more important projects. The fixed price project outsourcing allows your internal software team to continue focusing on the strategic projects while other work can be done by an outsourcing partner.
Managing Fixed Price Software Outsourcing Project
Even in the fixed price outsourcing model, the vendor holds the project success accountability, you still have a certain level of project management. Here are a few points to consider when managing the fixed price contract:
- Partner Selection. Successful management of Fixed Price Project Outsourcing starts with choosing the right software partner. A vendor who provides you capable Staff Augmentation or ODC may not have the needed project management skills to deliver Fixed Price project successfully.
- UAT. In this model the outsourced company will run the project with higher autonomy and independence. Thus it is very important that the client and the vendor work together and define the collaboration protocol and User Acceptance Test (UAT). In Agile, the definition of “Done” needs to be clearly defined and mutually agreed.
- Communications. Since the outsourced partner is more independent, please have a plan in place for synchronizing their work with the work being taken by your internal software team or other third parties. This will reduce integration risks later.
Hybrid Outsourcing Model
There are advantages and disadvantages of both ODC or Fixed Price Project Outsourcing models. There are circumstances that the client what to have the benefits of these both model. A third option called “Hybrid Outsourcing” allows you to leverage benefits of the two above-mentioned models. So some clients will order the ODC or labo contract at the beginning to scope down the work, define detailed requirements and test out the software design. After everything is clearly define, you can move to price outsourcing model.
ODC (labo contract), fixed price project outsourcing, and hybrid outsourcing are all valid options for you. There is no best option for many cases, it is depends on your company situations and the business requirements to choose the one that best suit for you.