For 10 years he has been learning about the best way to design and build digital products and services. Dealing with a range of high level clients and be responsible for maintaining, developing, and building up professional relationships with key customers. Based on the right combination of commercial and technical knowledge and a highly customer oriented mind-set, he provides appropriate solutions for each customer in order to maximise business values.
When you decide to outsource your software development, you might be not sure how to set up your dedicated team of developers or how important it is to do it well. This article explains the topic basing on our experience with over 100 completed projects and is meant to help you take the right decisions.
During initial talks, our clients very often ask me about what the advantages of building software with XSolve are. Generally, the people I talk to want to learn about the differences between having an in-house and a remote development team.The first thing I tell them is that although the number of arguments in favour of outsourcing appears to be greater, it’s not the ultimate solution for every client and every enterprise. To give a valuable answer, I always try to get to know the business and the customer’s product better. The client’s organisational culture is also important as well as the business environment in which the customer operates, the competitors, and long-term development plans. When I have gained certain expertise and proper understanding of the client’s identified needs, I am able to carry out an explicit discussion on the best way of building a software product. This way I’ve learned that the best answer I can possibly give is: “It depends”.
As it really depends. The only piece of advice I can give to our clients in this respect is to try to tell them about our 10-year experience and the dilemmas and solutions that our customers have faced. I also focus on patterns one should follow in order to make the odds better. Of course, I also mention how meticulously we, as XSolve, take care of these patterns and why we think it is important to focus on them (remember, I am the Sales Man after all).
That being said, for some of you who have had no chance to talk to a consultant yet, I have prepared a few short tips you should take into consideration while thinking why to have a remote team.
Financial optimisation – The wages of specialists in different regions of the world differ. You can find high quality developers at a good price in countries like Poland.
Scaling & Flexibility – Many times, you are simply unable to find quality developers at the pace that your product needs. You have to look for other regions where you can find like-minded Devs at the pace your business requires. With established teams, you can get the speed within weeks rather than quarters.
Narrow focus – Letting others build your software sometimes has the advantage that the party is focused on Software Development only and hence they might be more efficient than your in-house development team or at least you can have other teams to compare to. Due to the regional presence, they are often able to bring the best local talents into their organisation.
Lack of cultural fit – Part of your success is a result of the organisational culture you have created. If you do not find a company with matching culture, you will not be able to transfer things which are not written down anywhere but are always around you and drive your creativity. (Read more about cultural fit).
Fail to adjust –Your organisation has to learn how to work with remote developers. You can have problems with the transition to a new way of developing the software.
Loss of expertise – Unless properly addressed and executed, you may lose know-how and skills that may prove critical to your long-term competitiveness. If you do not teach your organisation to work with a remote team, they may lose the technology grip.
Dependence on the supplier – It might happen that, if you do not build a proper relation with the outsourcing party, their business goals will not align with yours.
How to choose the right team?
The happiest customers I’ve met had a simple method of choosing the outsourcing team: they relied on their gut feeling and on how they liked the people they were about to work with. Of course, they looked at things like experience, portfolio, and references and verified the company’s opinion with our customers, but they didn’t rely on it only. They knew that what proves for the company is the reliability and good communication, so they were trying to get down to business as soon as possible. Most of the times, they wanted to set up a “pilot” project.
They also knew that it takes discipline to succeed, as both parties need to adapt to the new situation. Therefore, most of the times they followed the pattern:
Meet the team, get to know each other, treat them as a part of your company (especially at integration meetings): it pays off!
Invest in sharing the vision of the product and business goals. Line up with the team and answer and encourage any questions as at this stage mutual understanding is crucial.
Overcommunicate in the beginning.
Focus on the best solution, not the fastest time or the lowest price.
Food for thoughts
Outsourcing can prove beneficial for some organisations. A properly prepared organisation and a well-chosen supplier can drive successful outsourcing. It can be a leverage which will help achieve business goals in a shorter time span. Companies such as Apple, RedBull, or Coca-Cola already know that and can benefit by focusing on their core business.
However, you must be careful and disciplined when choosing the company. Frequently, it is not the first one you have chosen, so persistence is a good skill, especially that the team at your company needs to take time to ajust to the new reality with the outsourcing dev team.