Digital transformation has reached almost every industry sector. Industry 4.0 (such as IT-assisted manufacturing and robotics), digital health, eGOV public services, smart buildings and smart environments, IT-assisted transport and logistics (from driverless underground trains to self-driving cars, automated warehouses and new generation of drones), virtual reality, new forms of gaming and entertainment, to name a few – all these use IT technologies of some kind. You need qualified engineers, specialists and developers to implement these IT technologies to get the maximum benefit from them. Finding the right ones starts becoming an issue – especially if your IT challenge needs a custom solution rather than an off-the-shelf IT product.
This new digital world forces companies and their CEOs to look at newly emerging IT needs even if they do not have a particular IT background. “Outsourcing IT” or “outsourcing development tasks” gained a new meaning in this environment.
Companies actively looking for developers may experience that recruitment, onboarding and related actions may be more time-consuming and risky than expected. Immediate or short-term project opportunities may be missed completely, while planning for longer term can also be difficult.
So, you have a very, very exciting development project or a pressing need to have a new application/module/portal etc. – but you do not have the resources/expertise internally to do it, or your resources become available only a few months later. What can you do?
Upwork and similar sites provide unlimited source of global talent, where any reasonable opportunity may attract hundreds of applications. Some of them are definitely excellent at very, very attractive prices. Employing (good and affordable) freelancers is an awesome option to complete tasks which can be considered as low-risk (such as logo design, preparatory steps for a future development, content translation for an app and many more). You may also look for a freelancer when you need a specialist for a single task –having access to global talent can ensure you find a really experienced guy, maybe the most suitable (check references!) for your project.
You may find a gem, but nobody guarantees this person is available for long-term or next time. They may retire, be busy in another project, be sick or may be taking exclusive, full-time employment in the near future. You may also find difficult to manage the performance of a person maybe sitting 2000 miles away from you, including personal problems – OK, if there is no delivery, there is no payment – but the work is not being done either which may ruin your entire project.
And once this person is gone from your radar, you may end up with a product (without documentation?) which is not future-proof. (Yes, there are companies doing well on redeveloping legacy software or doing reverse engineering – but this may be a complicated and costly exercise for the user, especially if the software is crucial for everyday operations).
Co-operate with large software houses in distant regions and countries
They might be, again, brilliant AND cheap. The good ones are utterly professional: always having capacity, tech and language skills, well-designed customer support. Their administration and project management supports smooth workflow and clear communication. You even might have a dedicated account manager and all the goodies a large company may provide – at, depending on location, very attractive rates. Standardized project may work extremely well as well as some repetitive business – this remote team may be the extended part of your organization.
First of all, your enquiry may be refused – especially if your project sounds unique and special or just SMALL for them. You may also be required to define very, very exactly what you want – and you may only trust real Agile methods if you want to change after the initial agreement on scope. Actual tech people may change during the project due to fluctuation or resource management. Even your Account Manager may change – everything should be very well-documented otherwise you may have to get back to Square 1 in the last phase of development. Cultural differences in communication do matter – the bigger the gap is between your working cultures the higher the likelihood of misunderstandings and misinterpretations is, which may turn your project into a nightmare.
Use temp agencies to recruit interim staff members
This may work in some industries where fluctuation is high, work is standardized. Having qualified staff can be the most important aspect in the business – which is often mission-critical such as healthcare or transport. However, IT processes and tasks can be difficult to standardize. It may worth a try to get a temporary team member for a particular project – as paying higher fees may still be cheaper than struggling with endless recruitment. Your “temporary” colleague may be happy to work for you as a permanent member of your staff if both of you are satisfied.
Your interim may come from a different work culture – which can be good or not so good. It is almost sure that rates will be higher than your normal staff – consider this when you plan your budget. Non-standard requirements can be a challenge how the “temp” colleague fits in your team – prepare with detailed and clear job descriptions. Unless you are ready to consider traditional employment if you are happy with the interim, do not expect much loyalty or proactivity either.
Work with a small outsourced team near you
They might have specialist skills and qualifications you want without competing with you in your market. If you want those particular skills only for a particular project, fine – but you may also have them in a long-term partnership as your remote “software/IT department” if it fits your core business and you need more sophisticated IT than off-the-shelf applications with some consultancy. You may find small but professional companies with loyal team members (our programmers spend at least 5 years with us) – you do not have to worry about they keep changing all the time. They are legal entities, accountable for guaranteed SLA, delivery to agreed deadlines etc., without dealing with anyone’s personal problems which may be the case with sole freelancers or interim staff members.
Most risks can be hidden in details you may consider “minor” in the beginning. “Flexibility” cannot mean “unstructured”. Software development, yes, might be a kind of art, but methodical approach and attention to detail always pays off. Having a brilliant tech team with terrible admin support might also be alarming – micromanaging ancillary tasks can be expensive and irritating for you as a customer (and I guarantee you no longer will feel like a customer, rather as an overloaded PM), no matter how brilliant the actual code is. It is also a benefit if your “remote team” has at least one member being familiar with the regulatory standards and other, non-technical requirements and standard practices of your environment to have a compliant product at the end of the day. Be also a bit suspicious if you receive a “yes” to virtually anything you suggest or ask – as it is said in my country, it does not make you a good musician if you cannot tell music notes from “fly leftovers” and play whatever you see on the sheet music in front of you.
Check references first – as part of “due diligence” which may also be done by a consultant working for you. Be cautious, if you are the only customer at the time or if the developers are immediately available – the good ones are usually busy, while professional companies prefer to plan ahead. There are, as usual, some exceptions: you may be lucky to send an enquiry when an important project is just about to finish, you may come from a priority market/industry which can put you into the VIP seat. You might be the so-deadly-important first reference to get a tremendous price (just keep in mind price is only one element you need to evaluate).
If your potential outsource partner is based not far away, invest in a personal visit. It can tell a lot about their work style and working environment, while you also have the opportunity to chat with the team before hiring them. (If you visit us, you will see a neat, modern and organized environment with technology supporting remote working such as videoconferencing tools, very fast and reliable Internet connection and super secure server/cloud/communication environment).
Teams versus individuals – 2+3 may not be equivalent to 5…
Quality of teamwork is something what really matters but very, very hard to standardize or quantify. Leadership may not be linked to a formal management role, but more to technical expertise, coordination and communication skills. You may have a group of brilliant individuals but if they are not given enough time to formulate a team, it can ruin you project without knowing exactly what went wrong.
If you outsource, choose to “rent” a team, not a loose group of individuals. They already know each other, have worked together for years, have a mature communication and coordination style. This can boost your immediate efficiency, saving valuable weeks and resources in a period when it is most crucial. You know what you want – and a team having an architect, a developer, a tester and a Business Analyst will know how – without the need to micromanage them, including in-depth technical discussions and guidance or endless clarifications on terminology and know-how.
Not sure whether you are one of those who can get maximum benefit from nearshore development services from a small specialist team? I am going to publish another post about this on next Thursday – you may find out that your organization is amongst them.
Author: Eva Lajko