For a quite some time CTOs, development managers and other technical stakeholders have an option to hire dedicated developers from outsourcing companies and get all the benefits they are used to be getting from freelancers. Dedicated development teams becoming more and more popular, but there are lots of questions and doubts surrounding this model.
– Can we start with 1 or 2 developers?
– Will I have the same level of control over them as we had over freelance developers?
Here you’ll find answers to these and many more questions.
Dedicated development teams or dedicated development center is the outsourcing model specifically designed to help them fixing issues with freelancers and classic time and material outsourcing approach. In this article, we’ll speak about the advantages and disadvantages of hiring dedicated developers over freelancers to help you choose the best approach according to your needs.
Table of the contents:
- Who hire freelancers and why
- Why hire dedicated developers
- Freelance Developers VS Dedicated Development Team
- In conclusion
Hiring a software development team is one of the most complicated tasks for tech companies. When you’re a startup, things get even more complicated, because of the time and financial restrictions. Fortunately, we are living in a time when we no longer bounded by our location when speaking about the IT industry. Thus software companies can access the global talent pool and find people who suit their needs in terms of qualification, cost, an experience all around the globe. Yes, this is related to some communication difficulties. However, if you’ll search good enough, you’ll find a vendor or people with the exact same mindset as yours. Also, there is opinion, that not being able to vocally tell your colleagues in the same room something important and immediately forget about that is good. Just imagine the world where all your fellow managers and developers make all comments directly in JIRA or Slack, where everything is fixed forever. Sounds like a dream.
WHY STARTUPS AND ESTABLISHED COMPANIES ARE STILL WORKING WITH FREELANCERS
CTOs, development directors, project managers, and other technical stakeholders use teams of freelancers. Partially, they don’t want to lose control over the development processes if they decide to work with the outsourcing company. In order to overcome this concern, years ago, outsourcing software development vendors came up with the dedicated development model. Indeed, when we speak about the fixed cost or time and material collaboration models, the client will have restricted access to development resources. All the communication has to be conducted through one person (vendor’s PM) in order to avoid miscommunication within the team and make sure that the whole team is in line with the current client’s requirements etc. Besides that, the client won’t be able to choose who will be working on the project on the vendors’ side, because the team composition is completely in hands of the outsourcing services provider. This can be explained by the fact, that in fixed cost projects outsourcing companies share risks with the client, so they have the right to manage the project the way they want, to make sure that they will make the delivery within time and budget and meet client’s expectations in terms of functionality and quality. To sum it up, those in charge of software development in companies are often refuse to work with outsourcing companies and prefer to work with freelancers because of the lack of control over the team composition and development flow.
WHY HIRE DEDICATED DEVELOPERS FROM AN OUTSOURCING COMPANY
A dedicated development team is “light-weighted” outsourcing model designed especially for those who need to manage offshore developers directly just like they’re the part of the in-house team. It is ideal when you have some sort of your own IT department but unable to keep up with the local salaries level, employee benefits expenses or simply cannot find free Java architect level developer with experience in fintech in your city. This happens pretty often, isn’t it? Also, it is suitable when you need extra manpower for one year but then you won’t have a job for those people. Firing team of five developers at once will have a massive impact on your reputation on the local job market. What to do in such cases? Many see temporary hiring a team of freelancers as the only options, but it is not.
Comparison of the Dedicated Development Team model and other outsourcing approaches
The hiring of the dedicated developers from an outsourcing provider is very similar to hiring a team of freelancers with the exception that services vendor is the regulator of the hiring process. It is in their best interest to provide you with the best candidates and make the hiring process as fast and simple for you as possible to ensure the long-term business relations. Still, you have as much control over the hiring process as possible and will be able to select the CV of candidates from vendors talent pool, conduct interviews, review portfolios and make final decisions. The difference is that all the heavy lifting will be done by the provider.
“What to know more about the dedicated teams? Read the article with the complete description of this model”
As for the scalability, the strong side of the collaboration with freelancers is that you can stop working with them basically whenever you want for whatever reason: you don’t have tasks for them anymore or something went wrong with this particular person. This can not be said about the fixed cost contracts we have mentioned above, however, this is true for the dedicated team contracts. With one month prior notice, you can request outsourcing provider to remove individual developers or some part of the team for whatever reason whether you temporary don’t need them or just feel unsatisfied with the quality of work or communication. The provider will do that to secure the long term business relations with you and it will be in his best interest to offer you a replacement as soon as possible.
In a nutshell, if you hire dedicated developers, you’ll get the same or higher level of control over the individual developer, same ability quickly scale up and down the team, same control over the hiring process with more assistance. Yes, in most cases the providers overhead might make the team cost 20-30% higher. But in the end, it will be cheaper than working with freelancers, taking into account how much extra hustle would do the internal staff to work with the freelance app developers.
DIRECT COMPARISON: DEDICATED DEVELOPMENT TEAM VS FREELANCE DEVELOPERS
Advantages of working with freelancers are well-known and explored by anybody who has even a small outsourcing experience. We don’t see the need to explain each of them. Still, it worth to mention them just briefly since this will later help us to explain that a dedicated development team has the same advantages while avoiding many of the freelance teams’ drawbacks.
Let’s name the reasons why average CTO may prefer to hire a freelance developer or even a huge team of freelancers:
- The presumably higher level of control over a team’s everyday tasks and progression
- Ability to hand pick those who will be working on the project
- Freelancers cost less due to the absence of the vendor’s overhead
- Availability of some very rare skills in some areas. For example, you got to make an app for checking the writing style and you need somebody who has an understanding of that. The outsourcing vendor most likely will be incapable of finding the developer with a track record of writing articles and required tech skills. At the same time, you’ll probably find somebody with that experience at Upwork.
- Scalability of the team that results in the cost efficiency.
However, there are many issues with this collaboration model. All those disadvantages are historically considered as a lesser evil simply because of the lack of other options. Below, you’ll find the list of the issues related to the collaboration with freelance developers and an explanation od how dedicated teams are solving those challenges.
Knowledge and skills retention
One of the biggest problem with freelance workers. Once the contract for a couple of months ended – they leave you and take all the knowledge about special for your project skills with them. Sure, you can rehire them later, but only on rare occasions. Basically, when the contract ends the time you had spent on hiring, screening, teaching, and onboarding is just wasted. Most of the times, you have to start hiring and onboarding from scratch. Searching, evaluating, interviewing, and onboarding are all parts of a tremendous process that should be done again and again to get each separate freelancer working on the project. Speaking shortly, this disadvantage can be summarized as “you got to say goodbye when they just start to understand how your development process and organization are working”.
One of the greatest achievements of the dedicated model is that it solves this issue completely. Even if the client would decrease the size of the team just to one developer to keep working in some iterative tasks, this will later help to get a new team under providers roof much faster. Dedicated resources who have been working on the project for some time will retain the knowledge about your workflow and technology specifications and transfer it to the new team members much faster.
Team distribution across time zones, geographical locations, different levels of English language and mentalities might be a challenge to deal with. It seems like different time zones and locations are not a big problem in the modern world. Unless you have your lead developer sitting in Brazil, a project manager working from the US, QA working in India and a couple of middle developers one in Ukraine and another in Vietnam. Then this is a nightmare. Yes, it works well if you have your resources distributed across two, max tree locations. Otherwise, it will turn into a huge mess. Let’s imagine that you need a team of four middle .NET developers and two senior with some specific skills. What is the chance to find all of them on Upwork available at the same time and with profiles with the high job success rate…and on the same continent?
However, outsourcing vendors would be able to find all those people and place them in the same office thus making your life so much easier.
Intellectual property protection
Pure idea and knowledge are the most expensive resources in the informational technologies industry. This is our strength and our main weakness. You don’t need to take something physical and sneak it out of the office with that to steal from an IT company. Many of the ISVs don’t want to hire offshore developers for this specific reason. Some of the companies are even restricted to do so because of government regulations. Needless to say, that IP protection will be quite weak if you have a dozen people sitting in different countries with their own law, contracts, connections with potential competitors etc. Low retention rate can mean that 20 or 30 people got access to your property, know-how, and code at different times during the year. All of them are working on their own PCs and those computer’s security is completely on them. This creates a geometric progression for the chance of intentional or unintentional security breaches. Yes, there is such probability even if you don’t outsource at all. But the main task of every Informational Security Officer is to keep this chance as low as possible. The most effective way to do that is to decrease the number of people and third parties, who have access to your information.
When you hire dedicated developers instead of freelancers you have all your information kept in one place by one third-party which takes full responsibility for that data. Agency provides some consistency in technical security and makes sure that the same people are working with your IP for as long as possible. Thus, constantly hiring freelancers for one year you can have a pool of 30 people who had access to your data while having a team of max. 10 people working on your project simultaneously. In opposite, the dedicated development team hired by outsourcing company will decrease the number of people who worked with your project during the year to just 10 or 12 and basically, to one third-party who works under one contract and one jurisdiction.
Job attitude and working relations
You can get excellent working relations with both dedicated developers provided by outsourcing company and freelancers, that is for sure. But it is worth to mention, that being a freelancer is more like a life choice, especially when we speak about individuals who are good at what they are doing. A great freelancer can easily get regular 9 to 6 work at any moment of time, but they don’t and there is a reason for that. For some people working on something same for, let’s say, 6 months quickly become repetitive and monotonous. Naturally, freelancers are less committed to your brand or product even when they are very serious about their job and responsibilities. Even if you’ll manage to establish great working relations with a freelancer, the average contract duration is about 1-2 months so most likely after the contract ends you’ll get to start over again with a new freelancer.
Besides that, freelance app developers tend to be in constant search for new opportunities for building their professional portfolio and network of connections to make themselves relevant for more technologies and earn more as the result.
Another psychological factor is that freelancers know that they most likely won’t work with that code and product in a year. Even when this is unintentional, they feel more freedom in terms of code quality, commitments, comments, commonly accepted code practices, and patterns etc. Most of the freelancers are the great specialists that will do an excellent job for you. But, working with the dedicated team, you can expect better results from someone who knows that he or she will need to revert to that code time after time and work with you for a longer period. Moreover, the service provider is always there to oversee the team performance, quality of the code and generally how the client if feeling about the work with the team.
Stability and continuity
This is the criteria where dedicated development teams won every time. Everybody who worked with the teams of at least 2-4 freelancers inevitably met the situation when somebody can’t continue work for some reason. This is how things are in real life and this can happen with anybody in the in-house team, freelancers, or the dedicated team. The difference is that in both cases with the in-house team and dedicated team you won’t be left alone with the half-done project and somebody would be definitely able to continue the process temporary until the replacement will be found.
If the project is a critical part of the bigger product or the team stability depends on one or two key members it is important to have somebody accountable for the overall project success. It is much easier to have a project manager on the provider’s side sitting in the same room as the rest of the team and being responsible for the stability of the workflow even if somebody left. In opposite, the freelancer is able to quit any time and don’t care too much about your project and what will happen to it after he or she quits. Such occasions always challenge the rest of the team and the management. For example, you hire a new freelance app developer instead of the one who left in the middle of the project. Will he be able to catch up with the rest of the team, will he find the common language with other freelancers and your managers, will make things better? No one knows since you don’t know what to expect from this new person. We believe that software companies can better deal with those challenges since they already have a pool of developers who can become a replacement. All of those developers are extremely predictable since they already been seen in real action and are very unlikely to make things even worse. Moreover, it is in their best interest to ensure the contract continuity and keep the whole team up and running for as long as possible, so agencies will offer you a replacement and will deal the onboarding by their own.
This is why the projects for 10+ people are always developed internally or with the help of offshore dedicated developers. In bigger teams, freelancers are just too difficult to manage and too hard to rely on. The extra efforts and risks will always cost more than the overhead of a dedicated development team services provider. The reputable and accountable contractor will always make sure that the client is satisfied with the results of the work. You’ll get a personal manager, who tracks the customer satisfaction level and is ready to solve any dispute or issue in a matter of hours. Otherwise, you have a chance to wait for days for the response of the Upwork support team, who will be barely able to evaluate the code quality. There is always a chance for the client to get into that unfortunate 10% unsuccessful projects statistics in all-stars freelancer’s profile with the average grade 4.5 by the rest of his clients.
Both collaboration models are well studied and predictable, but it seems to us that the dedicated development teams need more exposure since this outsourcing approach help to avoid all disadvantages related to freelance developers while having all of their advantages and a lot more to offer. When you hire dedicated development team you get more confidence that the job will be completed. After all, this is all that matter in a world where statistically only half of the software development projects ends successfully. Many of great ideas and game-changing products bumped with grim reality and never released to the common public. Working hand in hand with the experienced software company will definitely increase the chances for both startups and well-established companies. Still, many are cautious because outsourcing may seem like less control over the development process, slightly bigger expenses and just like the model for the bigger team.
However, you don’t need to start with the huge team or wait until you need 10 developers. You can begin with 1 or 2 developers to try it out, start small and then scale up as your business grows. This is the approach we at Existek have mastered. If you thinking about hiring a dedicated team that will truly become the valuable asset to your company – we can help. Contact us via the form at our website or start the dialogue at the chat widget to the right. Tell us about your needs and we’ll provide you with consultation and the quote for the developers you need to get.