After the Distributed team workshop I thought I should share my personal experience as an offshore resource and an onshore resource just to add some more value to the thinking around the subject.
I left Sri Lanka in 2010 and things might have changed now. Still I believe some of the experiences are still valid. I must tell that I have not experienced everything that is mentioned here as an offshore employee. However, I did see and I did listen to others.
Following are some characteristics I have noted in many companies,
- Offshore team is normally at the third level from the customer. Example company XYZ hire company A for their development work and company A hire company B mostly offshore company to do all or part of the work
- The leads of the project mostly communicate with the customer. As of above example it can be the Company ABC or Company A. If the team have questions that needs to go through the team leads
- Estimations done by the project management and/or team leads and there is a high possibility that the numbers are crunched to satisfy the customer
- Offshore team mostly work on tight deadlines where late nights in the office are common. No extra pay but food and travel can claim back.
- Innovation, change of practices needs to approve by managers who mostly say “No” mostly due time constrains. More weight is given to the time that can be invoiced than time that can be used for innovation
- Share knowledge with care due to job insecurities
- Most testers trained on the job. No community and less inspiration
- Blame culture – “Who tested this and why you did not find this issue?”
- Communication within teams are less efficient where confusion is common due to many levels of information filtering and language barrier
- Lack of praise on a job well done.
I was discussing this subject with one of my friend, she pointed out how testers relay on Business analysts, architects, and tech leads for information. From a cultural perspective, we tend not to ask questions and let the customer speak. I think that is due to,
- Lack of self confidence
- Fear of asking questions
- Fear of being judged by others
- Lack of confidence in speaking in English
- Do not know how to ask questions
- Being very technical
- Not being specific
- Shy by nature
After migrating to England, I sat in the other side of the table as the onsite resource. Different experience with a cultural shock!
- Work life balance. During the first month in the office, I was not sure the time I should leave. I was trained stay late. Whether there are work or not sometimes. I was amazed to see that people leave on time. Still I felt guilty to leave at 5pm and every day I stayed until 5.30pm until my manager notice this and chase me away.
- Encouraged to ask questions. As by nature, I ask many questions. Therefore, this is fantastic. I learnt how to ask questions without going around the bush.
- My opinions were valued and not judged. It really boosted my confidence.
- Information availability. The team did not depend on one person. Everyone share what they know in detail
- I was allow to go and speak to the product owner if I need to. I was encouraged to bypass all the leads if required.
- Estimates done by the people who actually will develop the product and they are very vocal on how much they can do and not.
- More focused on how to do things right than finish the implementation
- Innovation is encouraged.
- Praise on a job well done. There were few incidents where I was overwhelm by the positive feedback and tears roll out. I used to defend myself from negativity or on things, I have not done. I had difficult managers. However, when it comes to performance review I always got a balanced feedback, which encouraged me to do well.
- Everyone was very friendly with me even though I was from a different country and having troubles with speaking English properly.
I had the opportunity to liaise with offshore assignments; we contacted the people who develop/test directly. Some of the common characteristics I saw from onshore point of view were,
- Business analysts take lot of time to explain the requirements to the offshore team
- The onsite development team not happy with the offshore coding standards
- I had to explain issues in detail before the offshore team accept them
- Offshore team not asking questions and say yes to most of the things. Have to double check whether they understood the instructions/requirements
- Join retrospectives but not vocal
With my own experience is being a member of the onsite team is more enjoyable. I understand the product and I have direct discussions with the customers to understand the requirements and possibilities. I communicate better. Mostly I have my work life balance and I am motivated to learn more about testing.
To be fair, my onsite experience is limited to one company. I am a person who used not to expect much from the company but give all I got so I get a sense of satisfaction. Now even the small difference makes me compare my experience now and before and appreciate things ever before. Again, this is my experience and learnings and it is unique to me.
However, we are living in an era where a one team can be located in several geographical locations. There is a part to play from both onsite and offshore teams to make these assignments a success. Onsite teams needs to think about the offshore team country culture. Simple language. Describe the bigger picture. Make sure they know what their part is in the big picture than developing/testing a small jigsaw part and not forgetting the offshore. Remembering them as a part of the team. I think most onsite teams are aware and try their best. Still it is best to be mindful about it. Offshore team needs to voice up. Ask questions and be involve with the onsite team. Try to avoid information filtering by involving the team in discussions.
I am more bias to onsite teams now. I think/believe/hope offshore team experiences are far better from what I remember.
Again, this is my view on both worlds. Yours might be different…