20 February, 2019
We’ve decided to merge a few subjects and discuss some of the SaaS companies’ concerns about software development outsourcing. We’ve already published a few articles about software development outsourcing on our blog. In these, we’ve focused on reasons for its popularity, discussed some risks connected to the outsourcing and tried to explain why it’s not the unknown anymore. Also, we’ve brought closer the topic of benefits coming from outsourcing for the SaaS companies. Below, we introduce the most common SaaS companies’ concerns about remote cooperation, trying to explain why they shouldn’t be afraid that much.
Prosaic, technological and managerial concerns of SaaS companies
If you are a CTO of a SaaS company, you might have been already considering to outsource software development to a software house. And, most probably, you had some concerns. Those concerns may be grouped into three major categories:
- prosaic, like simple human conflicts between your internal team and external developers;
- technical, e.g. a technological mismatch between your company and potential partner;
- managerial, as a lack of control over a project due to the necessity of remote cooperation.
I admit that all of the concerns above sound pretty serious. And they are not the only ones! However, I believe that a proper approach may help you understand them better and solve all before they even occur.
Human conflicts and how to prevent them
These can happen everywhere, not only in the workplace. The solution is simple and it’s called “communication”. You must understand that for your internal team of specialists the incoming horde of external developers may look like a rival group or a threat. Moreover, they often need to cooperate remotely which doesn’t make things easier. That’s why an honest conversation with a manager or a team leader on your side might help a lot. Also, it’s a good idea to schedule a joint kick-off meeting (rather than start a new relationship remotely). It’s a great way to integrate both groups of developers. Moreover, an informal “integration party” may be a good idea. When people chat in a friendly environment, the best connections are created. And it can be the start of a fruitful collaboration. But remember that friction between people is something you can’t fully prevent from happening – you can only minimize the negative effects.
The communication and sharing the common targets is what matters. It’s necessary to have either a solid core of the platform, a strong core of the internal development resources or a very strong vision of the specifications needed when using the external development resources – says Hannu Käki, CEO of RealX.pro, a Finnish real estate sales platform.
Differences between processes and how to reconcile them
This one is tricky but, in fact, it’s not a real threat. All the software companies have their own process they’re adjusted to and it obviously makes their work more efficient. But whose process should be adapted when a SaaS company decides to outsource to a remote software house? Well, if your internal team has, let’s say, twenty developers, it seems easier to teach the outsourced ones your process. But is it optimal? Unfortunately, it isn’t. Why? Firstly, it means that all the remote devs need to learn it from the basics. And it takes time. Secondly, not every process suits the reality of remote cooperation.
That’s why I believe that, once again, communication and collaboration are the keys to success. You should consider letting your new partner share some insight with you and try to adjust your existing process to the new circumstances. Every software house has its own model of remote cooperation, based on their experience with previous projects, and that’s why the best solution is to let them slightly adjust your existing process to the new reality rather than changing everything they’re used to. Believe me: it’ll be beneficial for both sides, as well as for the project itself. And the project is the most important thing, isn’t it?
Taking over the project successfully and how to do it
If there’s a threat of human conflicts after merging internal and external teams, maybe it’s better not to? Above examples may happen if you’re hiring single developers to join your existing teams. But when a company decides to outsource a whole new project and asks software house to do it all, usually the software house’s development process is adapted. The software house is responsible for delivering the final product, the project management is on their side and the only person representing the client in the development team is a Product Owner.
For most of the software houses, it’s an ideal scenario, as it allows for the most efficient and agile development. However, some SaaS companies are afraid that they won’t have enough control over the project and that, after finishing the development, a problem with taking over the product may appear. Why? Because, for example, an external team may use solutions which are unknown to internal developers.
This is a real threat, but again – it’s relatively easy to avoid a situation like this. For example: adding to a project a technical consultant on client’s side. A person who is responsible for setting certain technologies with the outsourced team and then overviews the progress of the project to make sure misunderstandings don’t appear. Also, with such a person, the internal team will have “their guy” to take over the project swiftly when the development ends. Yet another solution may simply be an open and honest conversation beforehand. You can discuss technologies which will be used and, as it’s impossible to predict everything upfront, agree on an approval process for all the future changes. Both solutions can help you avoid technological mismatch and make sure you’ll take over the project faultlessly.
Changes in the development team and how to deal with it
What if, during a project, a member of the external team decides to leave a software house, gets ill or even refuses to work on a project? Well, another tricky one. But it’s a factor which may appear if you hire an in-house developer on your side as well. In fact, it’s even worse, as you need to go through a whole recruitment process again and hire a new developer. And when you outsource to an experienced software house, you shouldn’t worry – they’re obliged to find an instant replacement. And if they employ dozens of developers, it’s not really a big problem for them.
Phantom of the remote cooperation and how to minimize its negative effect
Some people say that “you can’t work remotely”. Well, the truth is that you can, but you definitely need to have considerable experience in this matter. Fortunately, as the remote cooperation is the only kind of work software houses do (apart from some internal projects), they’re experienced enough to go through the process seamlessly. Of course, there are a few factors which need to be secured on both sides – like soundproofed rooms with stable Internet connection for seamless daily and weekly conference calls – but when it comes to remote work know-how, a good software house is the perfect source of knowledge.
Remote cooperation has its price, that’s true. Software house needs to create frequent reports and the regular calls are absolutely necessary. There’s no doubt that it’s slowing down the development process. But, most of all, you need to trust the software house you’ve chosen. They have their own, tailored and battle-tested process to make sure the remote cooperation is going swiftly and in a timely manner. In a long run, you’ll see that the process is well ordered, the comfort of work is on a high level and, hence, the developers are motivated to deliver the best possible final product.
See also: WieBetaaltWat/Splitser success story
Potential cultural differences and how to overcome them
Time zone and cultural differences are one of the most common concerns which appear when speaking about outsourcing. It’s difficult to disagree with the statement that remote cooperation between companies settled in two places in the world is rather difficult. That’s why you should rather look for a partner in similar cultural circles to minimize the risk of misunderstanding. It’s also good to perform research on the outsourcing destinations popular among the companies in your region. For example, Nordic companies have recently changed their attitude towards outsourcing and instead of employing software houses from countries like India, they often choose to hire the closest neighbours in Central and Eastern Europe. It’s caused by a few factors. First and foremost, the CEE area is much closer than India, that’s why the time zone difference issues can be excluded. Secondly, communication is the key when you need to work remotely, therefore it’s necessary to find a partner who speaks English fluently and the CEE countries are placed very high on EF English Proficiency Index ranking (i.e.: Poland secures the 11th place in the World). And finally – the work culture of the companies from CEE countries is much more similar to the Nordic culture and it minimizes the possibility of misunderstanding.
All of the potential SaaS companies’ concerns about software development outsourcing presented above are real and you need to bear them in mind when deciding to outsource your project. Human conflicts may appear everywhere but being conscious may help you minimize their negative effects. Differences in processes may be avoided if you agree on the details and the approval process before a project starts. A proper agreement is also the solution for the concerns connected to taking over the project.
Changes in human resources in the projects may happen either, but if you’re cooperating with a software house, it’s their call to find a suitable replacement in an emergency situation. All the potential threats coming from remote cooperation are also mostly on a software house, but they have experience in this matter, therefore, it shouldn’t be a problem. It’s also worth remembering about looking for a partner in the closest neighborhood to minimize the risk misunderstanding.
Summing up, if you perform proper research, choose a partner wisely, remember to talk to them regularly and trust their expertise – the process will go seamlessly and you will very quickly see the positive effects. If you want to learn more about outsourcing in the world of software development, I’ll recommend you our free e-book – “Developing Your Software Abroad”. Software development outsourcing is not the unknown anymore and if you’re prepared, there’s nothing to be afraid of.