Fixed price or dedicated team?
The situation when a company decides to develop customized software for its inner needs but doesn’t have in-house developers in pretty usual. And it goes without saying that in such case, the company needs to outsource the task. But the question is how to pay for such task? Which financial model of cooperation to choose – fixed price or dedicated team? (not talking about Time & Material right now)
We can take a look at this problem from two points of view: client’s one and developer’s one.
Part I: Client
The most convenient variants for using fixed-price model are when you have a short-term project, when you know exactly what you want and have a project description where all processes, goals, results are clearly stated, and the requirements won’t be changed, or when you start working with a new outsourcing partner on a pilot project and you want to find how it will work out.
Fixed-price model requires competent and well-written documentation. It’s also important to understand that your requirements should be as concrete as possible. If you decide to do a major change in the middle of ongoing fixed-price project, you’ll have to pay for it, and it will cost you a pretty penny. Apart from that, project deadline will be most likely missed. In really urgent situations you need to decide if these changes are important for this release. In case it’s absolutely necessary, you’ll have to sacrifice something or move the deadline.
Dedicated team model is usually used for long-term projects, when the development plan presupposes additional resources in the process of development, use of new technologies, etc. Also, it’s a good way to start when initial requirements are not clear, but you know the final result (for example, you have a startup and you what it will be like but not sure how to achieve this) or when it’s known that requirements will change.
The advantages of a dedicated team model are obvious. You have a team of developers at your disposal, your outsourcing partner has provided you with infrastructure, administrative support, and you have the power to set the development methodology, technical platform, etc. Also worth noticing, that dedicated team can either be remote or may relocate to your venue (if it’s crucial). As a matter of fact, you are the manager of such team and you’re in full control.
The choice of one or the other model depends on your needs and possibilities. And surely, you need to discuss with your partner what is the best way for your collaboration.
Part II: Developer
As you might have guessed, developers also have their point of view on this or that model.
Dedicated team
Advantages. Some developers prefer to know what they will be doing in a couple of months’ time, and that’s why they prefer working in dedicated team rather than changing projects every couple of weeks. Also, such a model allows a developer to get deeper knowledge on the subject as most probably they’ll have to support the project for some time after the final release. Communication is the key. And a lot of developers are really glad to develop and practice their communication skills when working with a client.
Disadvantages. Each project includes more interesting and less interesting tasks. Thus, support and maintenance services are considered to be one of those “less important” tasks. Another point is that dedicated team agrees on the customer’s terms and conditions. And sometimes these conditions may vary from those in the company.
Fixed price
Advantages. Sure, this point is absolutely individual, but some developers like changes and the challenges such changes bring. For example, fixed deadline can be considered as a challenge by a developer if he or she can manage to complete the task by a certain time. Also, the project is divided into different parts during the “discovery” phase so the client clearly sees what will be done with his project (while with a dedicated team variant such job is done already during the work with a client).
Disadvantages. During such collaboration all communication comes via project manager which acts as a mediator between a customer and developers. So naturally, the success of a project to a large extent depends on project manager’s ability to coordinate the whole process and ability to translate client’s needs to developers in a clear and understandable way. Another thing is that such projects can hardly be called flexible. Fixed budget is also very often a hindrance, but it mostly the problem of project managers.
Conclusion
So what conclusion can we draw from the points made above? Only that every case needs individual approach as advantages for one project can turn into disadvantages for another. You need to be aware what each of the models means and be ready to assess your project from different points of view.
The situation when a company decides to develop customized software for its inner needs but doesn’t have in-house developers in pretty usual. And it goes without saying that in such case, the company needs to outsource the task. But the question is how to pay for such task? Which financial model of cooperation to choose – fixed price or dedicated team? (not talking about Time & Material right now)
We can take a look at this problem from two points of view: client’s one and developer’s one.
Part I: Client
The most convenient variants for using fixed-price model are when you have a short-term project, when you know exactly what you want and have a project description where all processes, goals, results are clearly stated, and the requirements won’t be changed, or when you start working with a new outsourcing partner on a pilot project and you want to find how it will work out.
Fixed-price model requires competent and well-written documentation. It’s also important to understand that your requirements should be as concrete as possible. If you decide to do a major change in the middle of ongoing fixed-price project, you’ll have to pay for it, and it will cost you a pretty penny. Apart from that, project deadline will be most likely missed. In really urgent situations you need to decide if these changes are important for this release. In case it’s absolutely necessary, you’ll have to sacrifice something or move the deadline.
Dedicated team model is usually used for long-term projects, when the development plan presupposes additional resources in the process of development, use of new technologies, etc. Also, it’s a good way to start when initial requirements are not clear, but you know the final result (for example, you have a startup and you what it will be like but not sure how to achieve this) or when it’s known that requirements will change.
The advantages of a dedicated team model are obvious. You have a team of developers at your disposal, your outsourcing partner has provided you with infrastructure, administrative support, and you have the power to set the development methodology, technical platform, etc. Also worth noticing, that dedicated team can either be remote or may relocate to your venue (if it’s crucial). As a matter of fact, you are the manager of such team and you’re in full control.
The choice of one or the other model depends on your needs and possibilities. And surely, you need to discuss with your partner what is the best way for your collaboration.
Part II: Developer
As you might have guessed, developers also have their point of view on this or that model.
Dedicated team
Advantages. Some developers prefer to know what they will be doing in a couple of months’ time, and that’s why they prefer working in dedicated team rather than changing projects every couple of weeks. Also, such a model allows a developer to get deeper knowledge on the subject as most probably they’ll have to support the project for some time after the final release. Communication is the key. And a lot of developers are really glad to develop and practice their communication skills when working with a client.
Disadvantages. Each project includes more interesting and less interesting tasks. Thus, support and maintenance services are considered to be one of those “less important” tasks. Another point is that dedicated team agrees on the customer’s terms and conditions. And sometimes these conditions may vary from those in the company.
Fixed price
Advantages. Sure, this point is absolutely individual, but some developers like changes and the challenges such changes bring. For example, fixed deadline can be considered as a challenge by a developer if he or she can manage to complete the task by a certain time. Also, the project is divided into different parts during the “discovery” phase so the client clearly sees what will be done with his project (while with a dedicated team variant such job is done already during the work with a client).
Disadvantages. During such collaboration all communication comes via project manager which acts as a mediator between a customer and developers. So naturally, the success of a project to a large extent depends on project manager’s ability to coordinate the whole process and ability to translate client’s needs to developers in a clear and understandable way. Another thing is that such projects can hardly be called flexible. Fixed budget is also very often a hindrance, but it mostly the problem of project managers.
Conclusion
So what conclusion can we draw from the points made above? Only that every case needs individual approach as advantages for one project can turn into disadvantages for another. You need to be aware what each of the models means and be ready to assess your project from different points of view.