Cooperation set up and tune up are often overlooked by businesses in their grand search for the right outsourcing partner. Surely, creating a detailed list of requirements for your project is massively important to receive accurate price quotes from vendors and establish the scope of work.
However, by overlooking the different options for collaboration with your new team of software developers carries certain risks, time- and budget-wise. According to a recent report by Quality House, nearly 50% of outsourcing initiatives fail due to unmet expectations and miscommunication. 39% of responders named “hidden costs” a major problem and 37% claimed that insufficient planning was the reason for failure.
Both of these issues can be mitigated by devising a contract with a new partner that covers several aspects of your relationship with the software outsourcing company, including the following:
- The scope of the project – long-term and/or short-term
- The methodologies and time frames of the software development lifecycle
- The staff management responsibilities
- The communication touchpoints
- The collaborative or cooperative model
- The pricing model
While the scope of the project and methodologies may be relatively easy to hammer out, the cooperation and pricing model may not be so easy to determine.
To shed some light on your options, let’s go through each of the two predominant models in detail – dedicated team vs. fixed-price model. This should help you make a more informed decision.
Dedicated Team Model
Dedicated team (also known as extended team model) is exactly as the term indicates. When you hire a software company for custom software development, you are assigned with a team of programmers who are experts in your niche and will work exclusively on your project, from start to finish.
As a client, you will usually interact most with the team leader/project manager at the vendor’s end who oversees all aspects of product development and who provides regular updates and iterations for review and approval. Alternatively, the dedicated team you hire and “join forces” with your in-house staff and work as a united front on a large scale project.
To hire software developer expertise, as a customer you sit down with the outsourcing company and determine how many employees will be required for your project, what skill sets you need and which programming technologies you expect your hires to be familiar with. The outsourcing provider is expected to match you with the right team and develop the work process for this unit according to your list of project requirements. The latter will require careful ongoing coordination as together will have to figure out the optimal workload for the project and adjust it if your needs change.
Usually, the dedicated team model assumes monthly payments based on the teams size, along with the fixed service fees.
When is the Dedicated Team Model a Good Choice?
Usually the dedicated team model is suitable for medium-to-large scale projects and an extended software development lifecycle. When you will be using a team on a long-term basis, and you want that team to work exclusively on your project, this will be the best cooperation model.
This model allows for the flexibility that your dedicated team may need, as a larger project can result in several unknowns and frequent changes in the course of design and development. While the total cost is not known in the beginning, billing can be based on a set number of hours per week or month, and this allows predictable budgeting.
The Advantages of a Dedicated Team
- Higher accountability. As a customer, you are directly involved in the planning process and can constantly evaluate the strengths and weaknesses of the current work process. The assigned team leader reports you on the project status and makes further proposals for project management. Most dedicated teams will also use different collaboration and communication tools to keep you in the loop.
- Continuous development and delivery. You need less “prep time” for rolling out new features and improving existing functionality. Your dedicated team already has a deep familiarity with the product and can implement new changes faster (=faster time-to-market).
- Cost effectiveness. Hiring a dedicated team is more economically effective than headhunting for individual software developers for an in-house or a remote position.
- Faster and more flexible workflows. A fixed-price model assumes careful preliminary planning and has little room for changes. Waterfall project management is the standard choice. Dedicated teams are more agile and open to iterations in the project scope.
When is the Dedicated Team Model Not a Good Choice?
In general, a dedicated team is not suitable for a short-term project as you will spend quite a lot of time selecting and onboarding a new team, to let them go soon enough.
It may also not be a suitable choice if your organization does not have an in-house “expert” who will be responsible for hiring and managing the offshore development team. Unless regular iterations and updates can be received and fully understood, this model can be quite inefficient.
Likewise, having dedicated developers can be inefficient if your own IT staff is already consumed with its own projects and lacks the time to participate in management of the development process.
The Fixed Price Model
For when your business needs to hire talent for a software development project with a clearly defined outcome (e.g., an app with a fixed number of user stories) or one with an inflexible budget, the fixed price model may be a better choice.
This cooperation model assumes the following:
- As a client, you present your list of project requirements to the outsourcing team in the beginning phase of cooperation.
- Once all the project details are fully discussed and analyzed the vendor sets a fixed budget, with predetermined payment dates, and a set deadline for completion.
- If there are changes that need to be made beyond that, then terms of the contract pricing must be re-negotiated.
In general, the client is not involved in significant management or communication during the development process, and exercises little control over it.
When the Fixed Price Model is a Good Choice?
If an organization has one or even a series of clearly thought out software projects that range from simple to moderate levels of complexity, with clear specifications, and a defined budget and completion time frame, then this model will be the right one.
It is also suitable when the client has neither the expertise nor the desire to be involved in the development process. The work is fully managed by a project leader selected by the software development outsourcing firm.
If this option is chosen, it will be important, however, to ensure that the contract provides for follow-up support and work, if there are issues (e.g., bugs) with the delivered product. It would also be wise to include in the contract a penalty should the product not be delivered by the agreed-upon deadline.
Because there is a fixed price, there is a high level of motivation on the part of the development team to complete the project according to the predetermined timeline, if not before.
When the Fixed Price Model is Not a Good Choice?
Obviously, if you have a long-term complex development project, the fixed price option is not for you.
If you envision that there may be multiple changes and modifications as development occurs, and that you want to be involved in the iterative process as it moves forward, then the model is not suitable. You will find yourself re-negotiating many times over, and this is a time waste, as well as a blowout of your budget.
Conclusions
It is obvious that each of these two models has advantages and disadvantages. You must weigh your options, of course, against the type of project(s) you are seeking. For a general summation, though, here are the key takeaways to consider:
Dedicated Team: Here you have lots of flexibility in terms of modifying the project details as iteration move along and you have the chance to review them and analyze what may need to be changed or added. You also have involvement throughout the entire development process. Costs, though will fluctuate, and you do run the risk of blowing out your budget.
Fixed Price: Cost and scope are pre-determined and fixed, based upon the specific details that you provide to the outsourcer. There is then no flexibility for modifications without re-negotiating the initial contract. You will have no involvement in the development process which usually occurs via waterfall methodology. The risk here is product quality, although with contract terms that provide for fixing issues after delivery, this is somewhat mitigated.
This article originally appeared here.