Following up on my last post, I thought it might be helpful to review some approaches to establishing and running new teams at different sites. I’d originally thought of just calling them processes, but I suspect that may be doing the topic a bit of a disservice, in that the term process could be assumed to mean a set of specific actions.
While there are some general practices that work, one caution that I’d offer is that its almost impossible to plan for every situation. You’re probably better served by anticipating the most significant scenarios, and being on the ready for all sorts of things to occur. Attempts to rigidly control your project may just be a lot of wasted effort and drive somewhat fruitless hypothetical conversations.
Some of the major activities that you’ll want to be prepared to address include:
- understanding the mission of the new teams
- working with the legacy team
- understanding how those missions align with the existing teams
- model your costs and productivity shifts
- Identifying desired team structure and onboarding strategy
- Assembling the new team. Considerations here include
- location
- outsourced vendor or employee development center
- recruitment strategies
- communications
- Training the new team. Figure out what you need them to do over time, and align the training activities accordingly
- Project management. Recognize the reason you’re doing all of this, its to get work done. There are some nuances to working with distributed teams that need added attention. Some considerations include:
- New Feature Development
- Sustaining work
- Alignment with broader organization
There’s a lot to think about. I’ll review some thoughts for the initial setup, then follow up on the other topics in subsequent posts. As I had mentioned in my previous post, there’s a lot to think about. My hope is to share some of the more important aspects to provide a feel for what you should consider.
As I add posts to cover each of these topics, I’ll provide some links. Look at this post as an introduction/outline to a much larger topic. Also, if you have any thoughts, comments or questions, please feel free to chime in. This is a pretty involved, and interesting topic.
Pingback: Global Software Development — Working with Legacy Teams | Mike Rodbell's Blog
Pingback: Global Software Development — Aligning Team Roles | Mike Rodbell's Blog
Pingback: Global Software Development — Modeling Your Transition | Mike Rodbell's Blog
Pingback: Global Software Development – Identifying New Team Structure and Onboarding Strategy | Mike Rodbell's Blog
Pingback: Global Software Development — Assembling Your Team | Mike Rodbell's Blog
Pingback: Global Software Development — Training the New Team | Managing as Little as Necessary