Nowadays almost every startup faces a dilemma – to whom should I entrust software development? Shoud I outsource software development or try in-house realization? There is no easy answer. That part of starting a new business devours a large chunk from our budget, and the quality of the service rendered may decide whether the new firm will continue its existence or not. That is why making that decision is such a headache for many founders.
Recently, one of them has shared his experience and thoughts regarding that problem in an article published on Enterpreneur.com. Karan Chaudhry is adamant in his view – to outsource software development is a horrible idea! He gives five arguments, basing them on what happened to his own startup. The question is: should we treat his experience as a principle? Was it possible to prevent it? And is the alternative of hiring programmers for our company from its very beginning a remedy for these problems?
Argument against: Different mindsets lead to misaligned goals.
A startup is a real apple of the eye for its founder. It is true that they often say “It’s my child”. However, as the article’s author has it, for a subcontractor (a software house in this case) it is just one of many, many projects. According to him, it leads to a low quality of the service rendered – because the software house simply doesn’t care. Moreover, when a new, more renowned customer emerges, the needs and wants of a smaller startup are pushed down the priority ladder. Still, those companies that care about their reputation won’t abide such a behavior. It is a well-known fact that a satisfied customer won’t praise his service providers at any given opportunity, while the unsatisfied one will share his discontent with the whole world. It is, of course, understandable and most subcontractors are aware of the risk and the consequences an unhappy customer may cause.
Of course, it’s not always enough. It may be said that clearly not everyone cares about their reputation. This is why it’s a good idea to put some effort into the research. Startups should aim at working with smaller firms, ones with confirmed qualifications. Those with a portfolio consisting of projects similar in scale to ours. It is an often case that such companies establish a close relationship with their clients and treat a project as seriously as those who commissioned it. Some people who want to leave their startup in good hands decide to hire huge companies, which advertise themselves with impressive, extensive portfolios and an established market position. Those firms don’t need to care about their reputation as much as their smaller counterparts do, because they’re emboldened by their sheer massiveness and the feeling of safety stemming from it.
Argument against: Contract negotiations can be complex and time-consuming.
The best way to avoid any disappointment caused by outsourcing software development is to prepare a well outlined contract. For the article’s author it meant wasting time on long and useless hours of work. Actually, contract negotiations can be a time-consuming and arduous task. However, if both sides are experienced negotiators it should be done without any complications. What is more, every project manager worth his salt knows that bigger amount of time spent on the initial planning stage and goal specification means fewer mistakes, unforeseen situations, critical failures and less time spent on corrections.
If you avoid spending time on preparations, you will have to spend it later on in a different way. Many people feel the need for action and for them this stage seems to be out of the question. Still, implementation of a project is like a journey. Negotiations are similar to planning a route, drawing a map, choosing points of interest and managing the journey’s budget a few weeks before setting off. It is easy to make an assumption that we will be fine without a map, just make it up as you go. However, a journey without a proper preparation is often longer, more expensive and full of unexpected events. And although spontaneity can be quite charming and we may recall our past adventures with a smile, a spontaneous implementation of a project never works.
Does implementing an IT Project from the inside mean that we can skip drawing the map? No. The only difference is that when you outsource software development you must set the whole route immediately. Having an inside IT department lets you divide this stage into smaller parts and update your map as the road unfolds before you.
Argument against: The quality might be hit and miss.
Sometimes our expectations regarding a service rendered are higher than the final outcome. When does this happen? First of all, when we don’t make sure that the hired firm fully comprehends our guidelines. Secondly, when we let ourselves be fooled by the “lower price” factor. While outsourcing, we compare different offers. Companies that lack experience and are uncertain of their own competency sometimes undersell their service so they can enter the market and expend their portfolio, even if it means actually spending their own money on a project. If two offers differ drastically in their cost it is a good idea to ask how they were calculated in the first place. There are cases of the cost being low because of some rational conditions, like geographical localization of an outsourced company or competition. Still, in those cases the cost doesn’t differ from the median in any extreme way. If we want the best outcome, we shouldn’t really focus on the cost factor as the most crucial one.
Argument against: In – house talent isn’t proficient at managing outsourced project work.
“Outsourcing is fundamentally a different process from in-house development.” Yes, it’s true. It requires a slightly different approach to the project management. But is it easier or more difficult than managing a team inside the company? It’s not a simple question. With a team you have to face other problems, like those connected to HR: managing motivation, knowledge, absences, rotations, relations between workers. You don’t have to care about those thing while outsourcing. You can simply focus on the heart of the matter.
Argument against: External issues have a domino effect on your organization.
“If your outsourced project isn’t going well, the stress tends to impact other areas of your business”.
Yes, it’s one hundred percent true, though how negative that effect is and how far it goes depends on the team’s managing skills. But does it apply only to software development outsourcing? IT projects tend to play the key role in an organization. If there is a serious crisis, it doesn’t really matter if it’s an in-house project, or and outsourced one. Every crisis may cause tension in a company.
To sum up: don’t get us wrong. The article’s author had probably done anything he could in order to make the outsourced project work. Maybe he was really unlucky. Nevertheless, what he describes is certainly not a principle and shouldn’t be used as a basis for dissuading every startup from outsourcing software development. Outsourcing has its risks. It may be more expansive than you expected; the service’s quality may be worse than you hoped for; a crisis may befall the project; you may have to spend your precious time negotiating things you really don’t want to tackle with. The alternative is to hire your own team. Let us take a look into that solution.
Is managing an IT project within a firm easier?
Building a team of competent programmers isn’t something attainable for every startup. First of all, recruiting such specialists can be time-consuming, expensive and would require a lot of involvement. Our satisfaction with employed individuals isn’t a sure thing, just like when we hire a firm to outsource software development. We can be in for a nasty surprise as well. In both cases a proper research and extensive preparations are needed. If you let your distrust for outsourcing transfer onto other aspects of running your company, you may need to expend your firm, which in turn would mean the need for adequate management and an extended management personnel. Is it achievable for every startup? We don’t think so. Additionally, there are many “soft” aspects of dealing with your employees, ones we’ve already mentioned. A high salary is not always the key to build a well-adjusted, effective team. If we neglect that aspect, we may as well expect ongoing rotation and, in consequence, stoppage and difficulties during a project’s implementation. Furthermore, new projects often require more resources, which are not needed by the time a project is finished. When you hire a team of people you may face a dilemma after you finish the task at hand: should I fire most of my workers or expect my business to flourish and let me keep them? We don’t want to be called disbelievers, but the beginnings of a startup are not always easy or mark an immediate success.
Managing IT projects is not a piece of cake, both within an organization and by outsourcing software development. Nonetheless, the risk involved in those two different approaches may be predicted and prevented. The choice of the better solution depends on the company’s inner strengths and its individual situation: if there is a competent human resources manager in our team, we may consider hiring additional employees. On the other hand, if someone in our firm knows a thing or two about outsourcing, she is surely able to point towards some crucial factors. In the case of software development there are some aspects that, if implemented, may increase the success rate. But this is a topic for a different time.