Scaling on the Geographical Axis
The last few months have been a heck of a ride for me working with the Zinch.com team. These guys and gals are hardcore, forward-thinking juggernauts who have more than proven their mettle several times over again. Their team of developers and project managers is literally spread out across the globe. The company is so spread out that, dollars-to-doughnuts, at any time someone is talking/thinking/planning/developing Zinch. Working with this incredible team has also given me a greater appreciation for project managers; I have learned new lessons and have increased the importance of old lessons learned. Though growing pains can never be substituted, I hope some of these thoughts can at least get you pointed in the right direction.
Communication is of Utmost Importance
If I can point to any one element that I think has made Zinch.com internally successful, it would be communication. Project managers are these crazy multiplexing people (though I suspect androids) who need to be able to communicate project requirements, milestones, issues, blockers, business wants, and business needs between different sets of actors all speaking their own language; and at Zinch.com the "different language" is sometimes very literal.
Professionally, I find myself constantly working on my skill of being concise. This either keeps project managers moving forward onto other tasks or notifies them of potential slowdowns in the pipeline. I find that not hitting a deadline is worse when it is due to someone being unable to communicate an issue properly to their point person. This type of bump in a project tends to snowball into even more downtime. Project managers don't need to know the fine details of all my tasks, but they need to know enough so they can make informed decisions. When are you saying too much? When are you saying too little? Finding that sweet spot is a skill one needs to constantly hone.
Being a Drupal developer, the majority of my work time is spent around other developers. This can sometimes too easily lead an impedance in communication about a project to non-developer. One way I've tried to practice throttling back the Drupal talk is by talking to my fiance about work - past the humdrum of so-and-so did this, or the water cooler gossip. I find that if I can communicate to her what I'm working on in simple terms, then I know my project manager can understand me as well. My fiance doesn't know any Drupal, programming or anything about development whatsoever. This can sometimes be tricky and I may need to define some terms, but most of the time I find that it doesn't take too much imagination on my part to break my thoughts down into digestible pieces.
Take a moment to think about something you're working on. Find someone willing to listen; goodness knows my fiance must love me to put up with my babble. If you can explain your project to that person and gauge a good level of understanding, I think you'll find yourself on a good path toward becoming both a better developer, and a better communicator.
Some project managers, like our very own Sharen at Achieve Internet, have learned a lot of the Drupal lexicon in order to know what we are saying when we forget to take our technobable hats off. Even when we stumble and something gets missed, our downtime is mitigated by the fact that we scrum every morning. This lets us lean on each other for help with an issue, and also keeps us honest about where we are on a project. Zinch.com manages to pull this off masterfully on a worldwide scale. They all can't scrum at the same time. They all don't even speak English as their primary language. To the Zinch.com project managers: Well done! Your dedication, attentiveness, spirit, and gumption are proving to be an incredible source of inspiration to me. Zinch.com's recent success is a testiment to all of your hard work.