code development programming

Distributed development


One of the things I’ve enjoyed most in the last couple of DDD conferences I’ve been to has been the group discussion sessions that created the mindmaps you can see in my other posts. With DDD Scotland on hiatus this year, I’ve realised how much I miss the chance to talk to developers across the country about the things that matter to us. So, I’m going to start running the Google+ hangouts again as an opportunity to explore these issues, and with the addition of mindmaps as an app in Google Drive, we can generate a useful artifact for further discussion.

For the first topic, I was thinking about an issue that I’ve been dealing with, and have learnt a lot of lessons in, that plays into the same area as hangouts : how do you develop software when your developers and your users are distributed across multiple locations. Building a team and a client relationship is as much about the atmosphere and the team dynamics as it is about the skills and the people. Without that interplay, teams don’t gel as well, they don’t have the same trust in each other, and there is greater friction between locations.

And there are physical barriers too, even if you are in the same timezone. Central services will always be slower from remote locations, the serendipity of overhearing co-workers struggling with that problem you had last week is reduced, and any system of whiteboards and post-it notes doesn’t travel.

I’ve learnt a few ways to alleviate these potential hazards, and I think I can build an effective cross-location development team. But I want to learn from what others have done.

If you’re interested, let me know, and I’ll get a hangout set up for a week tomorrow (Wednesday 16th May)

If you’ve got any ideas for other discussion topics, please let me know.