Four Top Tips on Software Nearshoring
We believe that effective processes enable smart developers to deliver fit for purpose solutions and great developers to deliver great solutions.
We know that starting a new development team can be hard, especially if they are a remote team. We have dedicated over six years to perfecting and learning how best to work with nearshoring teams and creating sustainable long term relationships with our partners.
Here are 4 of our Top Tips on what to do once you have started nearshoring on building and maintaining effective nearshoring software development teams:
Let’s break each of these 4 Top Tips down.
Top tip 1: Build team identity
Treat your nearshore dedicated team as part of your organization. Start the partnership with the nearshore team working from your head office. This will enable them to get to know your staff and understand the culture of your company and for your staff to get to know the new team members.
Collocate regularly to build personal relationships. Collocation can be at your head office and at the nearshoring partners office. Your Product Owner should have daily contact at the morning Stand-up meeting. The Stand-up meeting is a short daily meeting using Skype or some such tool where the whole team gets together and quickly goes through any issues. This in conjunction with other tools and processes will ensure that you have full control of the development work at all times without overloading your daily work schedule.
Top tip 2: Effective communication
There are many inexpensive tools that can facilitate communication between distributed teams. Follow a simple communication management strategy so that people can talk to each other as and when necessary during the day. Video conferencing tools are abundant, from simple Skype calls to more advanced conferencing tools. Use them so that you can see each other. Slack is another popular tool that enables team wide discussions in distributed teams.
Top tip 3: Clearly defined processes
If you are already working with clearly defined processes in your business you will understand the value of this. Experience has shown me that even companies that have very good processes for their normal business operations struggle to build the bridge between the business and software development team. This is something we believe your software development partner should be able to help you with. An effective set of simple processes will minimize the time you need to spend on activities relating to the software development, while at the same time have full control at all times.Experience has shown us that:“Effective processes enable reasonable developers to deliver fit for purpose solutions and great developers to deliver great solutions. Poor processes prevent any developer from producing anything of any value”.
Top tip 4: Start with the end in mind
Many people make the mistake of having an idea and immediately get someone to code what they think they want. Here are the following 5 steps on what you need to do to work towards the end result. To keep it simple, the following 5 steps are what you need to do. Step 1 and 2 define the end product, steps 3, 4 and 5 enable you to start at the beginning and work toward the end result in a logical order.
Start by defining what you hope to end up with and how you will work with it. This is a high level description and need not go into too much detail.
Step 2 and 3 are a bit like Lego. Step 2 is where you identify all the component parts of what you want to build and step three represents the order in which you want to assemble these component parts. Create a diagram to show a breakdown of the different components in the software solution you want to end up with. This diagram is often referred to as a product breakdown structure.
Create a diagram to show how you will put together the component parts so that you end up with the final product that you described at a high level in Step 1. This diagram is called the Build Road Map.
Write up your detailed requirements for each of the component products in the same order as they appear in the Build Road Map.
Build and test your solution in the same order as steps 3 and 4.
We often hear people mentioning that different cultures will have different understandings making it hard to nearshore software development, but it need not be a problem if you implement the above 4 tips; which is something we recommend should be followed with in-house development as well. The younger generation is far more connected these days so the cultural differences are less a hindrance, more a motivational factor in getting to meet, know and develop friendships with people around the world.