Archive for the ‘outsourcing’ Category

I am sitting in the Chhatrapati Shivajiinternational airport in Mumbai, India while writing this an pondering the comments i read in a Swedish newspaper regarding the news that Indian companies had happy outsourcing customers. Most of the commentators did not agree, and some said that they did not know of a single happy case of outsourcing to India. So here is one just for them. 

I started using SCRUM 20 months ago, and I started with an Indian team. At that point it was just 4 people in it. They had never seen the platform we were building on, and to say that I was an expert on it would also have been a lie. We had never met, but hey, we started.
Now, 20 months later. I have had team sizes of almost 20 people. At the moment I have 2 teams of 8-9 people each. They have gained both platform and domain knowledge, and we cooperate. True, doing most of the meetings over Internet and only meeting in life once every 4 months is hard. But it can be done. My teams make the most of the time I am in Mumbai to ask questions, pitch ideas and make sure they understand what I want.
We have had one major release and are on our way with our second release. And its going well.
So what can we learn from this 20 months?
  1. Always be prepared
  2. Go there
  3. Don’t even try to follow all the rules of how to do local scrum, doing it over Internet is a totally different thing.
Always be prepared
You need to have a clear vision, be able to communicate it and be able to explain how each story is striving to that goal. The team will tell you when a story needs splitting, but as most meetings is over Internet, don’t expect the workshop atmosphere you can gt when all is the same room.
Go There
You need to meet the team. I do it once every release to get the whole release talked through, all stories estimated and to get input in which order stuff is best being done from a technical standpoint. The team will help you, but you need to know what help you can expect. They are the technical wizards, and will help you with that. You are the domain experts and need to communicate the vision. Over time that will become more and more easy. and the team will come back to  you with more suggestions than in the beginning. But you need to sometimes just be in the same room, be available for instant chat. You cant do that all the time, but make sure you do it at least once per release
Don’t follow rules
And the distance is why we don even pretend to make each sprint a deliverable product. We group them to releases. Meet team once per release, and carry over stories from one sprint to another within the release. The backlog grooming with the team does not work. You are on one continent and the team on another.
But if you enter this cooperation with an open mind, are willing to bend rules and know that a meeting over Internet never will be the same as a face 2 face meeting, then I see no hinder for success.
Use Agile
Last, but not least, I think our success is part due to using Agile. I do not write a long requirement specification ad then go silent for 9 months and see what happens. I communicate with the team constantly. Using Skype (voice and text), emails and Internet meetings. Solving problems, discuss design, answer questions, reviewing test cases. As all that is an ongoing process I never end  up being surprised. One of the most boring meetings we have is the sprint review. I in my role as Product Owner have seen it all before the review. we have already decided what needs changing and what is Ok. The review ends up as the team showcase for our documentation team, other PO:s, product enablement and those groups.
So outsourcing product development can be done, and if you do it humbly and with an open mind you can do it successfully,. 

Read Full Post »

%d bloggers like this: