As with anything in the world, there is no holy grail to make something work. In offshoring, there are many factors that influence the success of your projects. But I believe that there are 2 things that determine the success to a very large degree.
1. The people
Last week, I spoke to an American customer, a startup from Nashville that worked with an Indian team for several months. He told me that they have a joke in the office that the names of the people they work with don’t change, but the people do.
I have been around in the offshoring industry for a while and know that this joke is sometimes reality. Many offshore software development companies do not allow their customers to interact directly with the programmers. They ‘hide’ them behind layers of project managers and lead developers.
The most crucial element in making a company successful are the people that work in the company. If you hire a team offshore or nearshore, I believe you want to know who works in your team. You actually want to select the people, to decide who works on your team. And you want to interact with them, because it’s the individual team members who do the work, not the project managers.
2. The communication process
Everything comes down to communication. When I started Bridge in 2005, I worked with software companies both offshore and nearshore. The words that I heard most often were ‘yes just send me a project request and we will do the project’. And that’s how most of the offshore work gets done: send requirements, make an estimate, agree on price and deadline and just get going. If you are lucky, you have the right supplier that has a smooth process in place. But in many cases, communication problems will result in problems in finishing the project. So what to do?
To structure the communication, my advice would be to focus at least on the following 4 points:
A. Software development process
Think about ‘how you are going to work’ and the communication process that supports the software development process. Especially Scrum has many features like sprint planning, daily stand-ups, estimating tasks, that facilitate communication across borders.
B. Agree on a weekly and daily meeting rhythm
You miss frequent interaction which you normally have in the office. Therefore it is important to establish fixed timings to discuss progress. It’s advisable to have a daily meeting in which you ask a. what did you do? b. what will you do? c. where are you stuck?. And in the weekly meeting, do an overall evaluation about the project, the tasks and the communication.
C. Use the right software tools
There are many tools available in the market that supports cooperation between distributed teams. You need a project management tool that deals with planning, estimates, time registration, tasks, bugs, storage of documents.
D. Define responsibilities
Make function profiles for every person involved in the cooperation. This ensures that each person knows exactly what is expected and by discussing it, it also becomes clear.
To conclude, there is no secret, it all comes down to establishing the right routines, to ensure that the people show the desired behavior. And to do so, it’s important that you spend time involving the right people and think about how you will communicate with them.