When building business, critical digital products, and services, your options are either hiring your own team of IT talent, using an external vendor, or a combination of both (hybrid model). In this article, I’m looking into the pros and cons of all these approaches.
Whether your organization is a startup or an enterprise, it’s natural to think that all the required technical competencies should be in your own company — after all, you are developing something that has a clear business impact. However, unless you are building something very novel, it is often easier to rely on an external partner, either from close by, nearshoring, or offshoring.
A lot of our time at East goes to helping our clients choose the right working model and the right type of partners for different scenarios.
Building your own IT development team – what do you need to know?
Even though there are many challenges in building your own development team internally, sometimes it’s still the best way to go. In most cases, I would recommend having at least some know-how in-house if you are building something else than a prototype. It does not have to be someone in a CTO or architect role, since a developer that maintains the system might be much more valuable than an architect depending on the life of the product after the first phase.
Some of the scenarios where it makes sense to consider building your own team:
- When you are building something novel. If the new technology is the core of your business, you will most probably need to have at least the core know-how as part of your team. And if you are a startup, be prepared to give out equity in this case. You want to make sure that the core skills of your business don’t just walk out.
- When you are building a high-growth startup. Your team composition will affect how investors look at your company. They are much more likely to invest in a company that has the required tech expertise as part of the team.
- You are a group of technical co-founders, building a startup company. If you have most of the competencies already as part of the founders’ team, it will most probably make sense to start with your own talent. This will allow you to keep your spending in check and you can build your business with smaller funding — and thus a smaller dilution of co-founders ownership.
Six IT outsourcing challenges you will definitely face
Looking purely at cost, developing your own team might seem cheaper than outsourcing. If only it was that simple.
Here are some of the reasons why IT hiring might turn out to be challenging and costly:
- Finding developers is more difficult than initially estimated. In the current market situation, development talent is in high demand, and talented developers get approached all the time. In addition to compensation, developers put a lot of emphasis on how interesting the product that’s been built is and how many technical challenges are involved. If your product is something fairly basic, you will have difficulty finding senior talent.
- You usually need people with several different competencies. Unless you have large funding, finding technical talent with a variety of skills can quickly become a problem. It also easily creates a situation where you are dependent on certain people too much. And what if you hire a more junior React developer and don’t have a senior to guide him?
- Bad hires in tech are very common. According to Leadership IQ 46% of the new hires fail. Especially if you can’t evaluate the technical capabilities of the team members, you are taking a plunge into the unknown. Even with years of experience, there is no guarantee that your new developer is technically competent enough to build what you need. Should your venture turn out to be less interesting than initially planned, developers can leave for another, more lucrative project. It’s good to keep in mind that developers can get a new job with just one email.
- Having a new team working well together takes time. Software development companies usually offer you teams that are used to working together and have all their working practices set up. Account at least 2-3 months for your own team’s “startup” phase where they learn to work together and set up all the structures and processes for the project.
- You are incredibly vulnerable if one of your key developers decides to leave. In the early stages, when a core team member walks out, they take with them a lot of knowledge. Sometimes that lost knowledge means that someone else will need to start the project from the beginning.
- You will have a hard time scaling down the team. Let’s say you initially hire three front-end developers, and after releasing the first version, you see that so much of the logic ended up being in the backend, that you really need only one developer to maintain the next phase of the project. When you need to let someone go, the effect on the team morale is huge.
Why do businesses choose IT outsourcing?
According to Deloitte, the primary reasons Enterprises outsource software development are:
This data is a few years old and gives us an interesting perspective on which way the trends are moving. In practice we’ve seen the “focusing on core business” and “solving capacity issues” as reasons for outsourcing, growing faster than other areas.
What are the most common IT Outsourcing models?
There are three different models to work with an outsourcing partner, which we look at next: fixed scope, on-going development with time and material basis, or the combination of the two (hybrid development model).
Developing IT project with a fixed scope
If the development project’s scope can be defined in advance, it’s even more suitable for outsourcing. Typical examples of a development venture where the budget is spent on the first version and that have a scope that can be defined fairly clearly: prototypes, proof-of-concepts, websites, and enterprise apps that are not expected to change. Here are your possible IT contracting models: fixed quotation or time & material (T&M).
On-going development of an IT venture
If your software development project’s scope is more fluid, it doesn’t mean that the work could not be outsourced, but that simply means that your contracting model is time and material, you pay for talent’s time instead of the deliverable. Even if you start with a fixed scope, you are more likely to switch to time and material basis after the initial fixed scope phase.
Outstaffing — hybrid model between own team and outsourced talent
Due to the difficulties listed above about building your own team, very often an outstaffing approach works the best. In many cases, a hybrid model, where some developers are on the payroll and some services or resources are bought from an external vendor, gives you the best results and flexibility. You want to avoid situations where some knowledge is only with one internal developer, creating too big of a dependency risk. This same dependency risk can happen also with the external vendor, creating what’s called a vendor lock. Sometimes this simply can’t be avoided and becomes a risk that you need to take. Partner selection will be covered in another post which also deals with how to avoid this situation.
When building a hybrid team, a sense of unity matters a great deal. Treating contracted developers as if they were part of your own team usually yields the best results. When setting up a hybrid team, cultural compatibility, and communications matter even more than an exact technology talent match. Your own team needs to embrace and respect external talent.
What NOT to do when outsourcing IT
The sad fact is that IT outsourcing doesn’t always succeed. Just like a project can fail with an internal team, the same can happen with an external partner. Reasons for the failure are usually a little different though, and in order to manage risks, it’s good to be prepared.
- Unclear and/or poorly aligned business objectives among the team.
- Insufficient definitions and specifications, lack of proper processes.
- Mismatch in expectations between the customer and the vendor. This is most common with work amounts and timetables.
- Communication and cultural problems can stem from both customer and vendor organizations.
- Poor technical management or unclarity on what management responsibilities belong to the client and what to the vendor.
- Poor work and process organization. Organizational mess is one of the biggest demotivators for developers.
- Poor alignment of talent — developers that are very experienced are forced to work on more menial tasks. It’s good to remember that in the current market situation, developers get to choose what kind of ventures they work on.
After having witnessed all these problems in real life, one of the things we continually develop at East are practices to avoid them before they happen. Sometimes clients and vendors wonder why we get involved in phases that go beyond simple matchmaking — we want each and every outsourcing to be a success.
IT outsourcing: The key takeaway
Hiring developers or outsourcing development is a decision that depends on your goals and resources. Finding tech talent for your own team might prove to be harder than initially estimated. In most other cases, going to a vendor that has an experienced team can save you a lot of time, money, trouble, and headache along the way.
I’m a Finn who’s worked with IT offshoring and nearshoring for close to 20 years, out of which I’ve worked for 15 years with Bulgarian colleagues, both as a customer, provider, and a consultant. I currently aid Nordic companies to source talent from Bulgaria and help align expectations for both sides and set up processes to improve the efficiency and success rate of IT offshoring and nearshoring ventures.