To answer that question in a nutshell – Somewhat Painfully 🙂
I manage an outsourced product design and development company based in India and have had my share of successes and failures in the last 5 years. You would be really surprised that some of our failures were due to mismanagement of expectations and communicating around them. The failures helped us think more from the perspective of our clients(we call them partners) and figure out how should the product development engagements be run effectively.
So, here is my list. It might not be perfect but it has helped us iron out inefficiencies in our earlier process –
Figure out the cultural fitment. Outsource your work to an organization that has a good fit with your product development culture. The outsourced development partner must understand your vernacular, should be aligned with your values and must appreciate your way of working. Even if there are differences, both sides should have a healthy respect of each other’s culture.
You can easily find this out in the pre-sales process by asking direct questions and doing referral checks. Also, if you are a startup then you must look for companies of your size for outsourcing the work. As bigger service companies might not share your vision of the world.
Last but not the least, you should look for the cultural trait of ownership. Can the outsourced development partner team think on their own or would they have to be told everything?
Set Expectations. Are you outsourcing a certain piece of functionality or the entire product? Your expectations should be clear. In my long career, I’ve experienced that companies start outsourcing for various reasons – cost, talent diversity, ability to quickly ramp up/down the team, round the clock coverage etc.
But, once the initial phase of design and development is over then the company starts expecting the outsourced development partner to start doing research or innovating albeit the expectation was just development at the first place.
If that happens, talk to your outsourced development partner and get them to ramp up the team to some heavy lifting around product innovation. It would serve you well.
But if you do, then it’s imperative to take a buy in from them for finding a outsourced development partner for whatever reasons that you might have. As long as you are transparent and honest about your intentions, things will turn out fine. And, this would help your team rally behind the partnership success.
I’ve seen lot of partnerships fail because the entire team isn’t behind finding a remote team to accelerate product design or development.
Treat the outsourced team as your technology partner. It wouldn’t work in the long run if you treat as outsourced development partner as mere code monkeys. Your partnership would be tremendously successful if you treat your outsourced team as your own employees.
You have to share your vision. Sell it to them. Have them soak in the vision. If you don’t then they would never be able to contribute like a partner, something that works in your favor.
Here’s a surprise for you, one of our clients has even given stock options to our team! This is because they realized that our team eats, drinks and sleeps their product’s vision. The more you treat them as your partners, the more ownership and results you would get from them.
The sure shot way to have them behave like code monkeys is actually believing and acting like they are.
Follow Agile. Iterative development, the fundamental tenet of agile, would allow you to have a tight collaboration with the remote team. . The daily rhythm advocated by agile would allow you to be on top of the work produced and would help you judge the pace and quality of your work. This would also allow you to be jointly vested in the outcome of the work produced by the outsourced product development partner rather than throwing stuff off the wall and waiting for a miracle to happen
Have Joint Sprint Planning Sessions. Given you have baselined your relationship as partners, have joint sprint planning sessions(sorry, using a Scrum term here).
This would make sure the outsourced team and your team has a shared understanding of the Sprint goals. One could easily do the Sprint Planning Sessions over GotoMeetings or Skype calls.
And, as they say, the teams that plan together, win together 🙂
Participate in Daily Standups. No Exceptions.
A daily standup is a quick status meeting to go over the team’s accomplishments and impediments. Every team member takes turn to talk about what they did yesterday, what are they going to do today and what are some of the impediments they are grappling with.
This would foster the feeling as if your outsourced team was in your office. This helps tremendously as you get to find not only about the daily progress but some impediments which the team is grappling with. May be you can quickly solve it for them.
In case you can’t attend the daily standup, then at least, have the team send out daily scrum notes, which is somewhat of a passive information. That mentioned, it is still better than not knowing the status of the team for that day.
Again, one could easily do this over Skype, a VoIP bridge or GotoMeeting.
“Would you tell me, please, which way I ought to go from here?”
“That depends a good deal on where you want to get to.”
“I don’t much care where –”
“Then it doesn’t matter which way you go.” – Lewis Caroll, Alice in Wonderland
If you want to consciously mould the team into your vision, culture and way of doing things then you stand to benefit if you were to participate in a retrospective.
The retrospective is done after a Sprint and it’s the moment to discuss – what should we stop doing, what should we start doing and what should we continue doing. This would help you iron out any impediments for the team and help them get better.
Nothing beats the face to face time and having beers together. We love Corona, BTW.
I would recommend having one of the team members traveling at least once a year. This goes a long way in strengthening the foundation of the relationship.
Celebrate Successes. Together. On every milestone – number of users, revenue targets met, capital raised etc., try to include your partner and give them a sense that it wouldn’t have been possible without them.
I know one can’t share every bit of news with an outsourced partner. And, that’s fine. All I’m asking is to celebrate any victory, small or big, together. This increases the bond between the team and everyone thinks that they are succeeding together.
And, you know, nothing in this world succeeds like success.