Offshore Software Development... and Chopped Carrots?
Peanut Fettucine: http://www.daringgourmet.com/2013/02/27/thai-peanut-tofu-noodles/

Offshore Software Development... and Chopped Carrots?

Just imagine you and your significant other are preparing the perfect Peanut Fettucine dish on a Saturday afternoon. Peanut Fettucine is a Thai-style meal with noodles, vegetables, spicy peanut sauce, and chicken or tofu. Very yummy! It's typically prepared with julienned carrots, or for those of us not in the culinary trade, "carrots cut long-ways into strips."

You toss a bag of carrots at your partner and say "wash, scrub and cut these!" What do you think you will get?  Well, if your kitchen-mate is familiar with the dish, you'll probably get exactly what you want – perfectly julienned carrots.  But if your culinary partner-in-crime doesn’t know how you want the carrots prepared… isn’t it reasonable to expect that you will get traditionally chopped carrots? You know... round slices?

And that, somewhat incomprehensibly, brings me to offshore software development... but stay with me.

Several years ago I was sitting in on a design review in Bangalore, India with one of my offshore teams. We were planning a release to enable the support of gift cards in our online system.  I was getting really frustrated.  The design that the team was proposing completely missed the mark.  Several weeks of work would have to be redone resulting in a schedule slip and cost overrun. 

Eventually I couldn’t hold in my annoyance any longer.  “Why are we doing this when the whole purpose of the release is to build the foundation for gift cards?” I asked -- well, 'yelled' rather than 'asked,' I fear.

There was an uncomfortable period of silence as the engineers looked blankly at each other and then at me. “Nobody told us that,” one of them mumbled apologetically.

That afternoon, I researched back through my emails and realized they were correct.  In our efforts to specify what it was we wanted, we had withheld the big picture.  Essentially we had told the team to “wash, scrub and cut the carrots” but had not told them what the final dish was – something that they needed to know to make sensible decisions along the way.

Worse, if we go back to the kitchen analogy and imagine that you glance over and see your partner chopping carrots the wrong way, you can interrupt: “Oh! Not like that – cut them long ways, like matchsticks.”  Within minutes you're back on track and the dish can still be delivered to the table on the pre-agreed schedule. But that’s much harder with your offshore development team. You don’t have the luxury of continuous supervision and the nature of the communication tends to be more formal – weekly status meetings, for example.  So rather than wasting one or two carrots before you take corrective action, you lose weeks and weeks of work!

I know what you're thinking: "We need to document things more carefully!"

NO!!! The problem is that the document can never be accurate enough, unless you're going to write it to such a level of minutia that you may as well have written the code yourself. Should the julienned carrots be 2" or 2.5" long? Should the strips be 2mm or 3mm think? You can't specify everything. At the end of the day, you need your offshore leaders to be able to make sensible decisions and corrections to keep the team moving forward in real time. And to do that, you need to make sure that they really understand the business.

How do you do this? We need more informal conversation. Too often the majority of communication between geo-dispersed teams is in the form of status meetings. These are unfortunately essential so you need to do them. But they often result in a very bland communication. We need to look for more valuable ways to interact. Some suggestions:

Onshore leaders:

  • Try, short, "do you have a minute?" video conversations. Yes, video!
  • Make sure you convey your understanding of the end customer goal whenever you can. Tell anecdotes about your customer meetings, for example, so the offshore engineers begin to get to know the customer.
  • Foster an environment where individual offshore developers and testers feel comfortable communicating with their onshore peers, and this is difficult... the moment you think you are done, the realtionships will regress. You have to continue to work them.

Offshore leaders:

  • Try, short, "do you have a minute?" video conversations.
  • Ask "why?" a lot! Why do you want the code organized this way? Why should that module be extensible? Why does the customer think this is important? You need to get beyond executing instructions so that you truly understand the full impact of your team's work. This will also help motivate your team.
  • Encourage your staff to engage more. Never give them the impression that a question is irrelevant or stupid. The goal is to make sure that every engineer understands the end customer's vision.

Let me know if you have comments or feedback. Respond below, or email me at andrew@thejacksons.co.



I have experienced this while leading a team from Off-Shore....

Like
Reply

Insightful article Andrew. Thank you for publishing this.

Like
Reply

To view or add a comment, sign in

More articles by Andrew Jackson

  • Calling African American Software Engineers

    Like many, I have struggled with the events of the last few months. First the Coronavirus which has affected pockets of…

    11 Comments
  • Leading Change at United

    Last week I was at a snowy Newark airport. I was early for my flight – stupid really as I was expecting it to be…

    3 Comments
  • Passion in the Workplace

    No..

    11 Comments
  • Imagine There's No... BUG DATABASE

    It’s not easy to imagine life in the software industry without a defect management system – these tools have become a…

    1 Comment
  • Ask Questions; Don't Just Give Direction!

    DINGHY SAILING, LEADERSHIP..

    2 Comments
  • An Agile Attitude in a non-Agile World

    One thing I’ve noticed about Agile/Scrum Teams is how, well, “team-like” they are. Surely there’s something we can…

    2 Comments
  • Gimme Back My White Board Pens!

    The cheapest collaboration tool your company owns is the lowly white board marker. At less than $2 per unit this humble…

    5 Comments
  • Make Someone's Day

    Get up from your desk..

  • Retrospectives are Not Optional

    I'm sure you have received an email like that. GRRRrrrrrr!!! One of the most powerful tools available to us as…

    2 Comments
  • Offshore Software Development - Just Show Up!

    Woody Allen said, "Showing up is 80% of life." And that is certainly true if you're working with offshore teams.

Others also viewed

Explore content categories