4 top tips on software outsourcing

Don Lowe
4 min readJun 18, 2019

--

I believe that effective processes enable smart developers to deliver fit for purpose solutions and great developers to deliver great solutions. Starting a new development team can be hard, especially if this is a remote team. My company has dedicated over six years to perfecting and learning how best to work with nearshoring teams and creating sustainable long term relationships with partners.

Here are 4 of our top tips on building and maintaining effective nearshoring software development teams once you have started working with them:

  • ​Build a team identity;
  • ​Effective communication with lots of feedback loops and information sharing;
  • ​Clearly defined processes;
  • ​Start with the end in mind and begin at the beginning.

​Let’s break each of these 4 Top Tips down.

Tip 1: Build a team identity

Treat your outsourcing team as a 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 in your head office and at the outsourcing partner’s 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 a similar 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.

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.

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 software development, while at the same time having 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.

Tip 4: Start with the end in mind

​Many people make the mistake of having an idea and immediately getting someone to code what they think they want. The following 5 steps are what you need to do to keep it simple while still working towards the end result. 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.

Step 1 — Define what you want

​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 — Create a product breakdown structure

​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.

Step 3 — Create a Build Road Map

​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.

Step 4 — Write your requirements

​Write up your detailed requirements for each of the component products in the same order as they appear in the Build Road Map.

Step 5 — Build and test

​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 outsource software development, but it need not be a problem if you implement the above 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.

Need a reliable software partner? Contact Forbytes

Read more:

--

--

Don Lowe

CEO of Forbytes, a business development company that uses technology to help our client-partners. www.forbytes.com