Wednesday, July 25, 2007

Distributed Tidbits

Just a few tidbits about managing offshore development projects...

  • You must have a champion. You must allocate local/internal time and have someone pushing the project forward. They also can grease the skids for you in dealing with “anal”ysts (no offense) and other internal powers that are scared of people from other countries and would just as well like to crush you and your project.
  • Beware the force to ease your estimates. If you review history, initial estimates are used… maybe never. In most cases, initial estimates are ultimately within a project success range (plus 25%). Tom Petty’s “Don’t Back Down” fits this one.
  • The more complex the domain, the more internal/local effort required, throughout. The more we wish it was a parabola, the more it looks like a straight line. Having more people doesn't give you time back - it takes time. It’s better just to look at local/internal level of effort as flat. If you think you’ll grab time in the middle of the project, you’re probably going to get side-swiped and delays will occur. You should prepare to dedicate this time throughout – requirements discussions/refinements, release deployments, testing.
  • Beware the legacy… if you’ve never had clear requirements… rapid prototyping, or had some refining process to work out requirements issues quickly, don’t even bother. The 25-40% gains you could have gotten will be gone trying to work things out.
  • Don’t micromanage, but sniff where you need to sniff. Don’t kill your team, but do the DD on stuff that you know is complex. Don’t take any slightly complex assumption for granted.
All in all, having a clear vision, good project management, and change control processes are key. You don't have to have documentation for everything - I'm not condoning the mass of paperwork we used to know just as "waterfall", but in working with distributed teams you've got to be a level better than you are with local resources. Better in vision, requirements, management, and delivery - and exponentially better in communicating. It is a critical point to the success of any distributed team development effort.

No comments: