One month back one of our potential customer from Ursula in Sweden asked me what is the actual difference between successful and unsuccessful outsourced project?
Probably you heard many sad but true stories about failed outsourced project and many gained problems.
In the same time there plenty successful cases including in our company. Working with remote software agencies will increase chances on most competent provider and increase time-to-market if you would do everything right. As we organized the meetup in Stockholm – I’ve asked the question in the title to my colleagues.
Meetup in Stockholm organized in Stockholm by our team
So there are few main points which are critical for people considering working with remote teams.
Proper values with software agency
From first glance, you might think it is just consultancy “nonsense” but in fact, proper values of you vendor will play the critical role in the common project. This will be important especially in difficult times of your work together.
Values will influence the way communication will be built, attitude to work of all teammates, quality of code and documentation.
How to check if your values fit? There is no easy way. I suggest to communicate with different people of your potential vendor and ask difficult questions. Recently I used them on my Quora answer:
You do not need a great answer but just check the reaction of people. The more sincere answer you will get – the better.
Your vendor team must have necessary skills to deliver you valuable market. I know stories when customers had success with one client in specific technology and domain, but totally failed in another technology. They had another project just because of gained trust. Another option – be ready to learn curve for new technology/domain will take some time.
How to check if your potential nearshore or offshore vendor capable of delivering what you need? Check portfolio, ask the previous customer, interview the team, ask them to demo what you need e.g. with a small project. Invest some time in this.
In the age of agile nobody likes to do proper long term planning. OK, you might change plan in future but it is always valuable to have it anyway.
Ask your potential agency – what might go wrong and be prepared to them. Plan extra time for development and your personal time, extra cost and just energy. Even plan right temp.
It is said – this is the biggest issue. Even this point go align with previous I make it separated. Even if you have the best development team in the world but you do not manage it right.
There is well-known proverb “An Army of sheep led by a Lion will always Defeat an Army of Lions led by a sheep.”
It sounds easy just to give all tasks to your vendor and wait for some time unless it will be done.
In a fact you should do your part of work: check milestones, answer a new question on time and it is smart even motivate them. The amount of your management might be different depends on seniority of your vendor.
I would add here understanding priorities. In the time of small time-to-market, it is crucial to have priorities in development so you will have most important as soon as possible
Understanding of project by your vendor team
It is great when your development team already did similar projects to what you need. But it is also pretty often they do not have clue what is the business value in what they do. Especially if they do not have a background in your topic. So it would be smart to make few live or offline talks about your business and what problems your future software will resolve.
It will also hugely help them to make right technical decisions.