Global Software Development — Foundations — Understanding the mission

Fork in road

If you want to get where you wish, know what you wish.

The Cheshire cat was on to something. (shhh, don’t tell the dogs, I have some partiality to cats).

Putting first things first, be sure you know what you want to accomplish.  Absent that, you may not much like what you get. Its alright for some amount of fuzziness, but I’d be careful to not tolerate too much. If your vision is a hopeless mystery, save yourself lots of time, aggravation and money, and invest some time to figure out what it is that you’re hoping to accomplish. For now, lets concentrate on the high level goals (independent of the specifics of the work).

I’d mentioned several objectives in the beginning of this series. Some pretty typical examples include:

  • save money by moving work to a place where labor costs less (beware of mythical man-months etc.) Folks in finance frequently gravitate towards this goal. They also assume that all of us wondrous software people can figure out how to get the same work done with the same amount of people while discounting access to information, learning curves, skills, time zones, travel, and the sad fact that we’re all human/mortal.
  • accelerate development efforts because its easier to get the right resources in different places.
  • use different development centers because that’s just how its done and you’ve been given a directive to take a different course (not my favorite, but one that can occur in larger companies seeking economies of scale and consistent patterns of behavior).
  • reduce the risks associated with your current organizational structure. A few examples of this include stiff competition for resources, over-reliance on outsourced organizations or whomever the status-quo may be.

These speak to the higher level goals of why go to other locations rather than organic growth in your current location(s). There are also the obvious questions about what it is that the team will be doing once established. I’ll leave that for another post.

Recognizing your goals, you’ll also want to be certain to create a vision of what your end state is (things tend to not end, just evolve, still, I think its worthwhile to set some targets), how much you’re able to invest, and how you plan on getting there.  So in the end of the beginning (apologies for my clumsy prose), you want to know:

  • what you’re doing
  • how you’re doing it
  • how much you can afford to spend
  • how much you can afford to not do (had you stayed the prior course).
  • Given that you’re going to need to make some investment, be confident that those investments are considered in the broader cost of the efforts, both in terms of opportunities lost and added expenditures (labor, travel, etc.) required to get the new team up and running.

Many of these objectives are achievable. All are fairly involved. As you build out your plans to shift work around, be as clear as you can regarding your goals, and wherever possible, establish and validate the assumptions that you’ll use to chart the path to your end state, whatever that may be.


About Mike Rodbell

I'm a technology leader, engaged in developing software for the telecom, online commerce, and business process/analysis markets. All of the teams I've worked with have had a great deal in common. They need to be good at what they do, listen, share, and collaborate towards a shared set of goals. This blog is dedicated to those activities. I hope you enjoy reading it.
This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

1 Response to Global Software Development — Foundations — Understanding the mission

  1. Pingback: Global Software Development Processes/Approaches | Mike Rodbell's Blog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s