Verilab is a multi-site, two-continent, three-country firm (UK, Germany, Texas), with consulting teams scattered across clients from the US West to East Coasts, to umpteen places in Europe, and with growing presence in Asia, the Far East, and South America. The challenge is helping my team to remember that they are a team, that they are my team (i.e. that they are Verilab as opposed to <whatever client they may be in>), to let them benefit from being that team, and to do all of that across space and time (zones).
To help keep us all together, we've tried (and still use) a number of tools and techniques, including:
- Company-wide email lists. This is the oldest mechanism. We used to have several of them - some technical, some business, some serious, and some for Friday afternoon nonsense. But we realized that volume is important for lists, and too many lists each with too little volume would die. So we merged them into one until such time as the volume gets too much. This works well, but needed a lot of care and nurturing to begin with. Some shy individuals still hide in the shadows too much.
- Company wiki (we use Twiki). This has lots of potential but hasn't yet worked as well as I'd hoped. We have a ton of stuff on there, but lots of "entropy food". There is a core of material that is useful, but a lot that is old and hairy. Overall, it's worth having, but probably needs more personal attention.
- Internal blogs. Some success. This seems to be a very personal thing. Some people love to tell other people what they're up to - and some don't. This is a horse I'm still flogging, because I think it's A Good Thing.
- External blogs. More success. My ideal would be that there would be *only* external blogs, but then there's almost no chance of getting the quiet shy people to speak up. Also, see point below about Yammer versus Twitter.
- Yammer. A surprising recent success. We messed with Twitter, but that's externally visible. One of my guys found Yammer and we gave it a go. All of a sudden, people are ... well, yammering back and forth across the Atlantic. The odd one-liner of status, occasional yells for help, and even the beginnings of technical discussions that then move onto some of the more appropriate forums (like our mailing list). My aim was that it provide the same sort of impromptu conversation that
co-located people get by standing up and yelling over their cubicle wall. Seems to be achieving some of that. The fact that Twitter (public) got very little uptake while Yammer (internal only) took off was noteworthy. As with all of this stuff, the human issues are more important than the technical ones, and obviously feeling safe that your conversation was only among "family" was an important human issue. Recommended if you want to try something out.
- GotoMeeting - works fine, does what it says on the tin
- Skype - ditto. We use this a lot for one-to-one, and occasional video conferences. Multi-cast video would be cool.
- Shared Google Apps presentations. Just tried this last week and it worked great. Much Cheaper than GotoMeeting, and if all you were using that for is PowerPointing, Google may be worth a look.
- Group A - Austin, TX office
- Group B - Munich, Germany office
- Attendee C - at home in Edinburgh, Scotland
- Attendee D - in his car in Texas
- Attendee E - in Bristol, UK airport waiting for his flight
Overall, the degree of technical collaboration we've achieved is, I think, superb. I see detailed technical inquiries flashing back and forth and being answered with a speed that the official support channels of the tools we use just can't match. And ramp-up time on any given skill is dramatically reduced for any engineer who wants to yell for assistance on a new area. This has huge positive benefits for our clients too. It's rare that any single engineer can know every answer to every question instantly. But in Verilab, our clients can get access, through any one consultant, to the much larger "verification hive brain".