Choosing between various types of contracts in software project management is everything in engagement with the offshore software development company. Depending on the selected outsourcing model you can expect some variations in the payment terms, work progress reporting, your ability to manage the team directly etc.
First of all, we need to define what are the usual suspects when talking about the various offshore development models and outsourcing contract types.
Types of IT outsourcing:
- Time and material model
- Fixed-price contracts
- Dedicated development teams or resources
- Offshore development center
Saying that each of this IT outsourcing contracts variation has its own pros and cons would a whopping cliche. Those models are simply designed for different types of engagements. Each one or two of them fit some specific selection criteria. There are no trade-offs when you need to choose the right IT outsourcing model. Only the wrong and the right choice. In general, software development outsourcing models are not the packages of the same service. You can get some perks by paying extra but still get the same base offering. Make a wrong choice, and the whole collaboration with the services provider will be ruined and you’ll need to start from scratch.
Lucky for everyone, it is pretty simple to make a conscious choice if you see the whole picture. This article is going to help you with that. Bellow we are going to explore frequently used types of the outsourcing contracts and the typical projects they are fit in.
TYPES OF OUTSOURCING
In this section, we are going to explore the outsourcing contracts that are used for the one-time engagements, where the end of the project can be determined in one way or another.
Time and material pricing method
The oldest and, probably, the most simple to explain and understand the outsourcing model. Time and material model is used when you have the final goal. This objective might be pretty extensive, like “create and launch software product”.
In a nutshell, fixed-price outsourcing contract means that you define the scope of work. With or without the help of the software development company. After that, the provider gradually builds the required solution.
“The time and material pricing method is usually calculated in man-hour and then rendered in currencies depending on the cost of the each specialists’ working hour. This article about the man-hours calculation for software project will a help non-technical person to understand the math behind this process, determine which approach has been used by the vendor and validate the estimate.”
The project completes once the customer accepts the final results of work. The and point can be a demo or launch of the software for the end users. In most cases, such type of the IT outsourcing contract is not expected to extend. The extension or support of the delivered solution are the subjects for another agreement.
Most of the time and material model definitions say that you need to have a very well-defined development route to start doing this type of outsourcing model. If you don’t want to get in trouble of course. That is not 100% true. You must have heard news about the startups, who had only some administrative staff like CEO, CFO, and enough funding. Yet they created and launched popular products with the help of the outsourcing development services provider. How did they manage to do that?
First goes the product specification requirements outlining, planning of the milestones, doing the paperwork etc. Responsible offshore software development services providers, including Existek, are guiding their clients through this stages before proceeding to the actual development process. As an example, you may have a look at the brief description of this sequence at our How We Work Page for example. It is a good business practice to give a consultation before the launch.
It won’t be correct to talk about the time and materials contract advantages and disadvantages. There are some points that are listed below to help you decide if this is your thing:
- This type of outsourcing contract is the best option when the global goal of the project is foreseen eg. public release of the mobile app.
- At the project planning stage, the System Requirements Specification Document is created. It is a must in the time and material contracts. This is the document where all the specification and functionality carefully described, as well as the cost, development timeline, each milestone, and its deliverables. It serves as a guide for the engineers and as an ultimate argument in any disputes with the development provider. You can expect the development and creation of this document as a part of the provider’s offering.
- Time and material contracts are not paid upfront nor after the work is completed. As a rule, the development is divided into the milestones. Each of the milestones is paid 50% upfront and 50% after the delivery of the development assets described as the goal for that milestone. Man-hours for each of the milestones are preliminary calculated and included into the description.
- A short time and material engagement (3-6 months) is the ideal way to try out collaboration before entering any long-term agreements. After you get an understanding of the provider’s work manner, you can go for the fixed-price contract. It would have fewer details about the resources needed to complete each task to save time on the planning stage.
- You may have heard the opinion that the time and material model or the fixed-price contracts protect the customer from any budget fluctuation. It is a common mistake. According to the studies, in 2017 the IT industry experienced 27% budget overrun on average. It is important to know that poor planning may completely eliminate one of the key advantages of the time and material model and force you to adjust the budget. Good System Requirements Specification Document is obligatory if the truly “time and material” is needed.
- Standard time and material contract includes the warranty period, 30 days as a rule. It covers fixing of all the functionality flaws and bugs that have been discovered in the deliverables during that period.
Types of contracts: fixed-price
The fixed-price contract is another model which you can use in the project-based engagements. It means that the payment does not depend on how much time and resources vendor will spend to complete the project.
What differentiates fixed-price contracts from the time and material outsourcing model is that the scope of work and the resources needed to complete the objective are not disclosed to the customer. The time & material model saves the time you’d spend on planning. The preparation stage is completely performed on the provider’s side which comes at a cost of transparency and awareness.
Like with the time and material outsourcing model there are no pros and cons of the fixed-price contracts that can be defined for sure.
Time and material model is used to put all the risks on the service provider. On the other hand, the service provider is motivated to finish the project for the fixed time and money. For a contractor, the temptation to sacrifice the quality to meet the limits by any means is very high. We strongly recommend you to work on the time and material or team-based models unless you have 100% confidence in the contractor.
Almost all the facts mentioned about time and material model are true for the fixed cost projects as well. The final deliverables should be extremely well defined and detailed in the specification requirements documentation. The project duration should not exceed 6 months. Because it is very hard to determine how long would it take to complete something in software development precisely. At least unless the actual work has begun. The needed resources and budget are always subject for the fluctuation up to 20%.
OUTSOURCING PRICING MODELS
Companies who need continuous development prefer to use the dedicated resources contracts. This gives them the ability to drive the development process directly. Besides that, they can plan the workload for the shorter periods of time, like weeks or couple of months. Same as they would normally do with the in-house staff. The companies are hiring the external teams to do routine work instead of hiring contractors to complete the global tasks. In the next section, we explore those types of contracts in software project management.
Types of IT outsourcing: the dedicated development team
The dedicated development team is among the ideal pricing models in IT for the technology companies and ISVs. It allows quickly extend their development capabilities with the highly-qualified offshore developers and stay in control of those engineers likewise the internal staff. This type of contracts in software project management is not only about actual developers. Such a team can also include designers, UX/ UI specialists, business analysts, project managers, quality assurance engineers etc. Basically, any specialists you’re going to need to launch, extend, and support almost any type of software.
The fixed-price contracts and dedicated development team model differentiates as types of outsourcing by two main criteria: level of the client’s engagement in the team managing process and the pricing model.
In a dedicated team outsourcing model, the client can manage each of the specialists provided by the contractor directly. In a nutshell, it is very similar to having your own remote employees. Employer’s staff have the access to the communication channel with each of the team members, issue tracking system, project management tools, daily or weekly status meeting etc. The team can be managed both onsite and offsite.
“At Existek we have mastered this outsourcing collaboration type as it is one of our core competence. We are providing dedicated development teams of various sizes for the enterprises, ISVs and technology companies for more than 8 years. During this time we have created an extensive collection of materials that will help you better understand and use this model. Check our guides to what is the dedicated development team, how the dedicated teams are helping the software companies, explanation of the dedicated teams hiring process, and how to manage the dedicated offshore resources.”
Onsite management means that there is PM specialist provided by the contractor and reports to the responsible person in a client’s organization. In opposite, in the offsite model the PM assigned from the customer’s side. He or she directly manages every aspect of the everyday tasks and activities.
Now about outsourcing pricing models in the dedicated development team services. There are three options: cost per resource, management fee, and the hourly rate.
- Cost per resource – the fixed-price that the client needs to pay to the outsourcing company. Calculated for the assigned developer on a monthly basis. It means that the engineer works on a single project and will be always ready to accept new tasks from the client and report him.
- Management fee – the variation of the cost per resource model but more transparent. The client is aware of the developer’s actual salary and pays a so-called “management fee” on top. It covers administrative, housing, social expenses of the contractor plus the remuneration. In this model the client takes part in the screening, selecting, and choosing people for the team from the list of the candidates provided by the contractor. This transparency gives a choice between both skills of the potential employee and his desired salary. A client can potentially cut down some cost by accepting the candidates with the best balance between cost and expertise.
- Hourly rate – another way to go with the dedicated development team outsourcing model. It helps to understand the cost of each working hour by the particular developer in the team. It is a common practice to convert the average working month in the 160 working hours. The key difference between the cost per resource model and hourly rate approach is that the full-working month would be 20% more expensive on average. The yearly price would be the same as in the cost per resource or management fee outsourcing contracts. This is done to distinguish those two models. In the case with the hourly rates, the client does not pay for the time when his virtual employee sick or on his vacation. In the management fee on the top model, the fixed-price is paid regardless of the developer’s availability, because he is still assigned to that project. Of course, if the team loses somebody irreplaceable for the project or engineer is not available for the extended period of time (4 weeks) the client can demand payment cancelation or developer’s replacement.
Like in the case with the fixed-price outsourcing model, it would be a mistake to speak about the advantages and disadvantages of the dedicated development team. It fits some business cases and doesn’t fit others. Here are some key points worth to mention about this model:
- Dedicated resources can start with only one person and should not necessarily be a developer. This might be a QA, designer, business analyst etc.
- Good vendors offer the client to be a part of the hiring process. This includes participation in the interview, a review of the technical tests results and making a final decision between the candidates with various technical skills and cost.
- Dedicated teams are the best option for long-term support, maintenance and gradual work on software products. The main reason for this is that with the time the team is starting to become stakeholders of the product and functions as an internal staff. Potentially, this type of outsourcing contracts can last for dozens of years.
- Scalability and flexibility are what make the dedicated teams perfect choice when the scope of work is hard to estimate. If you deal with the internal staff, it is always hard to fire someone because you don’t need that resources anymore. Moreover, this can cause significant expenses. With this outsourcing contract type you can decrease the size of the team and don’t afraid of any reputation loses, dismissal wages etc. Once you will feel that there is not enough technical staff for the project – you can easily extend the team again.
- Despite the commonly held opinion that companies use outsourcing for the purposes of cutting the costs, that is not exactly the case. It is quite hard to get a team of 5 engineers in Western Europe or the US in a couple of months and put it on track. This outsourcing model solves this issue completely. For example, Nordic countries are experiencing the strong lack of qualified developers for the past couple of years. Countries with the mature IT outsourcing industry like Ukraine completely solves this issue for them.
- Dedicated development team IT outsourcing model helps companies to hire skilled and established development teams in an extremely short time. Besides that, the recruitment cost, in this case, doesn’t exist while hiring a new in-house staff can cost two actual developer’s wages of HR costs.
Types of outsourcing contracts: the dedicated development center
The Dedicated Development Center or the Offshore Development Center is basically the same dedicated team outsourcing model with some global differences. Enterprises use this model in case they don’t have an internal IT department capable of the full cycle of software development. In opposite to the dedicated team model, where external specialists are used rather as an augmentation to the in-house IT team, dedicated centers are used to outsource the whole IT processes on the service provider’s premise.
With this approach, the contractor functions more on the administrative side and is responsible for staffing, housing, supplying and HR management. Cost per resource or the management fee is the commonly used options among the outsourcing pricing models mentioned in the previous section. The hourly rate would be extremely cost inefficient for the customer who needs the offshore development center. The rest of the dedicated development team perks such as zero hiring cost and access to the deeper pool of the talents are also valid for the offshore development center.
The types of contracts in software project management are pretty flexible. There is no one size fits all solution but everybody can find something that will work well with the project of particular scale and different goals.
Main selection criteria will be the following:
- The size of the team
- Project duration and the budget size
- Level of the control you require over the team
- Technologies and the overall project complexity
After years on outsourcing services market Existek has chosen the time and material model for the projects with the clear goal and dedicated development model for the projects where the long-term day-to-day collaboration with the client is a must. We believe that those two approaches give our partners the best value out of outsourcing. We hope that this article will help you to decide which outsourcing type is the best for you.
However, the good service provider will always analyze your requirements during the very first conversation and give an advice on which collaboration model will fit your particular business case. Or you can leave it to the experts, fill in the form at a contact page, send us an email, or start the discussion in the chat widget on the right and we will be glad to provide you with the free consultation.