Have you just signed a contract with a software development company, or are you considering signing one?
Outsourcing might seem like a big leap into the unknown. How do you ensure that the software house understands your requirements? When will they start coding? If you have your own in-house developers, how do you make sure their collaboration with the new colleagues is smooth and productive?
Client onboarding is the time to have all your questions answered. This is also the crucial phase when both parties lay the foundations for a successful partnership by agreeing on a common course of action and setting mutual expectations.
There is no standard scenario for client onboarding. A meaningful process should be tailor-made to serve your individual needs and preferences. However, there are a number of practical steps you can take to prepare for it, regardless of your approach.
In this article, we will explain:
- why client onboarding is important,
- how it could be structured,
- what each party should expect to happen,
- what are some of the potential obstacles and how to overcome them.
We will also illustrate the above with a handful of real-life scenarios based on our experience of conducting client onboarding for over 15 years.
Table of contents
For an outsourced software company to be able to effectively and holistically respond to your requirements, it first needs to gain an in-depth understanding of both the technical specifications of your product and the business context in which your company operates.
But providing such a large amount of information in a relatively short period of time can be a daunting task. It’s best if you approach it in a structured, methodical way.
Completing a well-defined yet flexible client onboarding process will help ensure that your partnership is off to a great start. It will allow your partner to immerse themselves in your business culture, collect all the necessary information to start work, and build a trust-based relationship.
This stage of your business relationship will also help both of you agree on the logistics, the budget, and the timeline of the project.
The quality of the initial collaboration and the value it produces should help dissipate any initial doubts you may have, and set the tone for the rest of the partnership.
A trustworthy software house will work to make the process bespoke for every assignment. However, there are some basic considerations that can help you calibrate your expectations and get more familiar with the overarching purpose of client onboarding with an outsourced software development company.
To get the most out of your client onboarding process, it’s necessary to have a clear plan of action.
Before the kickoff, discuss with the software vendor what their existing procedures are and what concrete steps they take along the way. This is particularly important if you don’t have any previous experience of being onboarded by a software house.
Agreeing in advance on the overall strategy will help both of you understand where you are in the process and what to expect.
Here are some general aspects you should discuss and decide on jointly before you start onboarding.
Outsourcing software development to a company based abroad and finalizing all the formalities can seem challenging to navigate at the start. In case you’re thinking of hiring a Poland-based software house like STX Next, we have created a guide to signing outsourcing contracts under the Polish law. While the process is very straightforward in Poland, it’s always a good idea to equip yourself with some legal knowledge beforehand.
Settling money-related questions before the kickoff is essential. Work with your partner to establish a budget you’re both happy with before you start the onboarding process.
Before the kickoff, you should agree not just on the final delivery date, but also on how you’re going to schedule the sprints that lead up to it. At the very least, prepare a high-level roadmap.
4. Quality standards
A reliable software house will have solid quality assurance practices in place, including code review and unit tests. Making yourself familiar with them is an important part of the onboarding process.
5. Travel arrangements
Getting together can have a positive impact on team cohesion, help your partner understand your requirements, and reduce the time spent on follow-up questions.
Before the kickoff, you should aim to decide whether you will be paying a visit to the software house, or vice versa. Although face-to-face contact is not always feasible, we simply can’t overstate the role it plays in building effective business relations. Ideally, you should aim to have as much of it as possible during the onboarding process.
6. Communication channels and frequency
Decide on the channels you’re going to use—for instance Skype, Slack, or Google Hangouts—and how often you should communicate. Regardless of whether you have scheduled daily or biweekly calls, consistency is crucial. Video link is the next best thing if you can’t travel and meet the outsourced team in person as it will allow you to create a more personal connection.
7. Working hours
Agreeing on specific working hours is particularly important if your software house operates in a different time zone. Find out when national holidays are in your respective countries to avoid unexpected delays to the schedule.
The duration of the onboarding process is likely one of your top concerns. As soon as the contract is signed, often the expectation is for the developers to start coding straight away.
While coding can indeed start on day one with certain projects, most require a bit more time to get off the ground.
Depending on the complexity of the project and the amount of documentation you’ve made available, onboarding can take anything from one day to a couple of weeks if the project is very complex. In the latter case, the process would normally become “Sprint 0.”
Based on our experience of having onboarded over 130 clients, the average length of the process is just under one week.
Luckily, the client has just as much control over the kickoff as the software house does, and there are a number of things you can prepare in advance to speed up the process. We will cover them in the “How can you prepare for the onboarding process as a client?” section below.
What the client onboarding process will involve depends heavily on whether you have an existing team of in-house developers, or whether the outsourced software house will be the only one doing the coding.
Moreover, the outsourced team will structure the process differently depending on whether your product needs to be built from scratch, or you’re looking to add additional features to an existing product.
If your project is brand new, onboarding should include workshops that aim to determine the most suitable design, architecture, and tech stack. During this stage, the software house will also try to create an initial backlog.
The best software houses take an active part in the design process. They don’t just blindly follow the client’s instructions, but use their expertise to take initiative and suggest the most suitable solutions.
If you have in-house developers, your outsourcing partner will work closely with them to make sure it has access to all the platforms used by your team. If you don’t, you can expect the software house to create new accounts with any tools required for the project, for instance a source-code repository.
Your partner should make sure that communication within the project is as smooth as possible. It could provide you with the contact details of the whole team working on the assignment, or set up a single inbox that will be accessed by all team members. It’s also good practice to appoint a project leader to serve as the first point of contact for the client.
To minimize the duration of the onboarding process, a software house can also provide you with a checklist of any tasks it needs you to complete before the kickoff. This will make the process more efficient, minimize misunderstandings, and promote a closer collaboration.
Ultimately, the main goal of a software house is to gather as much data as possible to understand the project requirements and the overall strategy of your business during the onboarding process. Your outsourcing partner should be as eager as you to get coding at the earliest possible stage.
Onboarding is a collaborative process and you have just as much say over the structure and the pace of it as the software house does.
There are certain measures you can take to make the process easier for the outsourced team and help it begin work as soon as possible. Broadly speaking, these measures can be divided into two categories:
1. Introduce the business context
By understanding the technical requirements, your outsourced team will be able to assemble your product.
However, if you help the developers gain a good grasp of your business context, your company’s vision statement and the industry’s competitive landscape, they will create a satisfying user experience for your target audience that will benefit your business in a meaningful way.
Do you have a product overview document ready? How do you want the product to fit within the current market trends? What are your main competitors? The more your new colleagues learn about the business context of the project they’re about to start working on, the better they will be at figuring out which technical features can help you further your objectives, and which ones can hinder your success.
A professional software house won’t just provide you with coding services—more often than not, it will also have a vast range of experienced professionals in the field of product design and management.
Some of the other business aspects you should be prepared to brief your partner on include, but are not limited to:
- end user experience,
- market or trends analysis,
- benchmarking analysis,
- user segments,
- buyer personas,
- competitive landscape,
- product roadmap.
2. Provide technical documentation
On top of providing some business context, it’s important you pass all the relevant technical guidelines to the new team.
If you’ve hired a software house to build your product from scratch, most of this section will not apply to you. However, if you’ve already started work and have some existing data, read on to find out what you should prepare before the kickoff.
A well-defined, prioritized backlog will make your developers’ lives easy. It will help them understand which tasks need to be completed in the first couple of sprints, and what needs to be prioritized. If you use Jira, make sure you give the developers access to your account. Pay attention when drafting your backlog as any mistakes, such as inconsistent descriptions of backlog items, can unnecessarily hinder progress.
In case your project doesn’t have a clearly defined backlog yet, try to provide as much supplementary documentation as you can.
Whatever form your documentation takes, make sure you make it available to the software house before the kickoff. It could be anything related to the technical and functional side of the product, from Wiki pages and Google Docs files to a Confluence account and e-learning courses.
c) Source-code repository
A source-code repository is where your in-house development team keeps the code of the product. Some of the most popular platforms used as repositories include Github and Bitbucket.
Just like with the backlog and documentation, if you have a source-code repository set up, it pays to let the outsourced team have a look at it early on.
d) Development environment automation
A continuous delivery pipeline will automate quality control and help the developers make sure everything works as it should after each iteration.
At the most basic level, you should have a well-defined procedure of setting up a local development environment. Ideally, aim for full automation with Docker.
If your development environment is not automated, getting together with the new team to go through the initial processes in person should be a serious consideration.
Remember that in software outsourcing, high-quality input equals high quality output. The more you do to provide the software house with the right documentation and access to your existing tools before the kickoff, the more efficient and satisfying the onboarding process will be.
To streamline the process further, you could appoint 2 people from within your company that would serve as the 1st points of contact for any questions related to either the technical or the business side.
3. Responding to the concerns of your in-house team
Finally, you should bear in mind that interpersonal tensions might arise between your in-house developers and their outsourced colleagues.
Your existing team might feel like their competencies are being questioned, or that you’re looking to replace them with new developers. Reassure your staff that the objective behind hiring the new team is to lend a helping hand, not replace anyone.
It’s important to eliminate any friction early on by getting your developers to meet the outsourced team. Face-to-face contact is crucial to building positive working relationships, but if travel is unfeasible, aim for frequent video calls.
No two onboarding processes are the same. Each should be custom-made to meet the individual needs of each project. However, based on our experience of onboarding our own clients, we have come up with the following sets of scenarios.
1. Remote vs. on-site onboarding
The main difference between the two is that remote onboarding is done online, while the on-site process takes place at a physical location, usually at the client’s or the software house’s offices.
We always recommend aiming for as much face-to-face contact with the outsourced team as possible. This is particularly important at the beginning of the onboarding process when your new colleagues will have plenty of questions and it’s easier to work through any initial lack of clarity in person. Importantly, it will also help build team spirit and encourage a closer collaboration.
When it comes to deciding who should do the traveling, take into account the size of the outsourced team. If it’s significantly larger than yours, it’ll perhaps be more cost-effective for you to take the trip.
On-site onboarding is particularly beneficial if the project in question is complex, or if you’re creating a new product from scratch and need the outsourced team to lend you a hand with the initial design.
However, if the project you’re managing can be effectively introduced to the new team online, remote onboarding might be a better fit. It might, in fact, speed up the process, and help you save time and money.
If you’re not sure which option suits your needs better, your software house should be able to help you make the right decision.
2. Development vs. design + development
If you have an initial idea for a product but haven’t started designing it, or if your design needs some more polishing, it’s best to start the onboarding process with an initial workshop.
The objective of the workshop would be to validate and refine your product idea from the users’, technology, and business perspectives. This will allow you to better plan the subsequent development process, minimize the risks, and optimize the cost-to-profit ratio.
A design workshop can also help you produce a product roadmap and create a backlog for the first few sprints. As the outsourced team will be involved in the process from the very beginning, they’ll be more effective at implementing the solutions straight away.
The workshops don’t have to take long for you to see tangible results. Often, a day or two of intense, focused discussions produce enough output for the team to start coding right after.
On the other hand, your software house might be able to proceed straight to development if you:
- worked with your in-house team on creating the initial design and just need someone to take it from there,
- have enough documentation for an effective takeover,
- or simply need team extension.
If you want your collaboration with an outsourced software house to be fruitful and rewarding, there is no better way to start the partnership off than through a robust and effective onboarding program.
Building a strong foundation early on will help both you and your outsourcing partner create a solid framework and set mutual expectations. There are many elements in the process, and the ones we’ve described above are by no means exhaustive.
Here at STX Next, we’re passionate about helping our clients get the right technical expertise on board to build their product fast and efficiently. We have over 15 years of experience collaborating with our partners to craft bespoke onboarding processes that serve their unique business goals.