As noted previously, I spent all of last week at the Better Software Conference. Here is my coverage of the fourth and final day including my presentation titled “Managing Distributed Teams”. Previous coverage is here: Day 1, Day 2, and Day 3.
This day started bright and early with a keynote from Luke Hohmann speaking on The Complete Developer. He started off by encouraging managers and hiring-types to think in terms of “what features would Developer 1.0” have? He showed a series of boxes created by managers extolling features like “smart”, “creative”, and “customer communication”. Although the idea of considering the qualities as features was a bit odd, it was an interesting concept. If you start thinking in terms of what drives development and recruiting, it starts to make sense… still not sure I like it. Unfortunately, Luke was facing a tough crowd. I think the continuous stream of cheap alcohol – in terms of price, not quality – had taken its toll on everyone, so I suspect they'll be waiting for Developer 2.0. 😉
I skipped the next session to review my presentation, take some more notes, and return a few emails. There were a few presentations that were interesting, but alas…
The next presentation of my day was a vendor presentation from Smart Bear, Inc. on Peer Code Review Techniques. The presenter – Jason Cohen – went through the reasoning behind code reviews based on Fagan Inspections. To support all of this, they have this nifty web-based code review system. It's Tomcat-based and sits inline with your version control system so when you check something in, you can notify particular users that they should review specific lines of code. Then in addition to your check-in logs, you have all the comments and feedback attached to the code. They also had a free book – which they ran out of earlier in the week – which I picked up and will likely review and comment on in this space.
At lunch this time, I decided to pass on my normal random-table process and instead eat with some familiar faces. Dave Mount and Bob Galen were there from yesterday, but I also had the chance to met another presenter Payson Hall along with another four or five people. The lunch quickly turned into a campfire time sharing project war stories and various funnies. One of the funniest things noted was this one conference attendee who was required by his boss to get the signature of each presenter he saw throughout the week. I witnessed this with Alistair Cockburn previously and someone else witnessed it again.
Then the fun began. I went to my presentation room, set up, and got everything mentally squared away. I began my presentation entitled Managing Distributed Teams. I covered how managing a distributed team has some special distinctions over a co-located team. The complexities grow even more when you begin to consider the aspects which are becoming more prevelant today such as outsourced/offshore teams, language barriers, and timezone differences.
This is one of the places where I believe Agile has a few weaknesses. It focuses so entirely on the interactions, I believe at time that it forgets the individuals. Numerous other people throughout the week mentioned things like “retrospectives can't work without a trust environment” and “we need confidence and collaboration” but they rarely went into what it takes to build those things. I focused instead on the individuals and their motivations. On making personal connections in addition to the professional ones. I recommended simple things like taking your team out for a beer. Yes, on the company dime. If you can build those personal connections and friendships, then the team *can* build trust. If you can actually build friendships and relationships with your team members – whether you're in charge or not – the benefits are multi-fold but most importantly: a) people don't want to let down their friends and b) people remember their friends. Besides, working with people you like makes everything better. Then I laid out some of the tools and processes that can be useful throughout to facilitate communication and collaboration like Skype, dotProject, FogBugz, etc. I'll post the slides after our move this weekend.
My biggest mistake during my presentation is that I simply flew. It was a 60 minute slot and I believe I used about 40 minutes of it. Luckily, I got some great questions of specific situations and was able to do a brief overview of dotProject and show off some of its functionality. That led to some interesting discussions afterwards that could greatly benefit the dotProject community… 😉
My next session was Jeffrey Fredrick's presentation on The Power of Continuous Integration with Automated Unit Testing. It was standing room only and Jeff made a compelling case. His best analogy was to the slot machines downstairs. For example, if you had a slot machine that *always* came up a winner, how often would you play? Would you pull the lever once per day? Twice per day? Or would you – in his words – “push it like a crazed monkey”? Ha, I knew I liked him.
The final presentation of the conference was Joel Spolsky's keynote on Don't Settle For Better Software – Make Truly Great Software. I happen to like Joel and I'm active over his forums, so I'm not completely unbiased, but I have to admit that it was the most entertaining presentation of the conference. He has this scenario where a user tries to do a simple thing and… well, you'd have to see it. But the overall point of his presentation was that there are certain aspects that make one product stand head and shoulders above the other. Normally they're things like style, design, UI, complementary products, etc and quite often they're self-reinforcing. Some of his examples made sense and fit the conference – iPod vs a Creative mp3 player – and others were obviously for the chuckle – Jennifer Aniston vs Sandra Bullock.
Overall, the conference was pretty solid but here are some of the key aspects:
+ The people there were heavily weighted towards the Project Management side of things and away from development, but I expected that.
+ The vast majority of people I met and spoke with were happy to talk about their organizations and experiences. In terms of organizations, there were people ranging from mISV's (like myself and Dave Mount) to Qualcomm to the CIA to subsidiaries of Boeing.
+ The presentations I attended were well worth it and set my mind flying in terms of new modules and functionality for dotProject in addition to improving our operations.
– The most notable thing about the operational side of things involved the meals. During the workshop days they were sit-down lunches with waiters and real silverware but once the conference started, it was all buffet-style with plastic silverware. Not a complaint, just a noticeable dichotomy.
– Half of the presentations were in one building and half were in another. Somehow I choose a series of presentations that kept me walking back and forth between the two. It wasn't a long walk, but it was definitely noticeable once you walk it the fifth time that day.