My brain has had a month or so to think about Jean Tabaka‘s article, Countdown to Agility: 10 Characteristics of an Agile Organization, in the November/December 2009 issue of Better Software Magazine (I only read it last month).  This, combined with my recent exposure to talk of Coding Dojos, Code Retreats, and Weekend Testing in the TwitterVerse have inspired me to get my thoughts connecting these two down in writing.  Specifically I’d like to talk about #7 in the article, “Contributing to the Community and Maintaining a Profitable Company“.

A recurring theme in the article is the marriage of seemingly competing interests, Work/Life Balance and Constant Delivery, Servant and Leader, Sustainable and Successful, the list goes on.  It’s a good article, give it a read and see how your organization stacks up.  At first glance, giving back to the community seems like it will cost you while doing nothing more than generating good PR.  The article describes three communities to contribute to: the local community, the global community, and the professional community.

When you hear “giving back to the community” usually you think of community service.  Usually this happens locally and there are a lot of companies that do a fantastic job of this so I won’t harp on it.  I personally wouldn’t know where to start giving back to the global community.  Perhaps contributing to relief efforts in areas like Haiti, Chile, and Japan given the recent earthquakes?  But something I don’t hear a lot about is how organizations give back to the professional community.

Types of Events

I’m going to focus mainly on three types of events here; Code Retreats, Coding Dojos, and Weekend Testing, but anything that carries the spirit and intent of these events I feel should be handled the same by an organization.  I describe these as:

A deliberate, purposeful (i.e. goal-oriented) gathering of like-minded professionals coming together to better themselves, their craft, and each other.  

I’m going to make a few observations about these events, interpret it as you will.  All data is as of this writing (March 20, 2010). I’m going to put more focus on the US groups because I’m biased:

Coding Dojos – Map available here

  • Lots of groups in Europe and South America
  • 2 groups in Canada
  • Only 5 groups in the US 
    • Redmond (only open to Microsoft employees…)
    • University of Houston – appears to have gone dormant as of 2007
    • Oklahoma City
    • Pittsburgh Dojo – Last met Sept 2009
    • Albany, New York

Just looking at the map, the US is pretty far behind with this.

Code Retreats

  • Boulder, Colorado
  • Pittsburgh, Pennsylvania
  • Philadelphia, Pennsylvania
  • Detroit, Michigan
  • Floyd, Virginia
These are just the ones listed on their homepage as coming up.  Noticeably Pittsburgh is on both lists and noticeably this list is all US.  That’s pretty great and hopefully the list keeps growing.
Weekend Testing

4 chapters since inception in August 2009 in 
  • Chennai, India 
  • Hyderabad, India
  • Europe
  • Mumbai, India
The US is completely missing from this list.  I know we have talented testers that would love an opportunity like this to share their knowledge and expand their horizons.  I don’t know what it would take to get chapters started throughout the US, but given the structure the group has taken on, local or regional technology councils seem like they would be a good place to start.
As an Officer, why should I care?
By “officer” I mean someone holding a position of power and decision-making in an organization.  So why should you care?  Someone is bound to start one of these up in my area sometime, why should it be us?  Here are some big reasons that come to mind:
  • Your employees will get better (on their own time no less!)
  • People attending from outside see that you are supportive of your employees and their goals
  • Networks and ideas will develop between the people attending.  And we all know what comes from ideas.
  • Attendees will be more likely to consider your organization when they look for their next opportunity.
  • and perhaps more altruistically, you’ll be contributing to the advancement of the craft.  Something everyone can always benefit from.
So instead of “why should it?”, “why shouldn’t it?”.  It just means that when that next big advancement reveals itself you and yours will be ahead of the curve.
Suggestions for Implementation
So hopefully I’ve piqued your interest.  Now you ask, “how can I make it easier for everyone to get off the blocks and get one of these started?”   I’m glad you asked.  Here are some suggestions:
  • Force your employees to host one or more of these events.  
It may seem like a great recruiting and marketing opportunity, and it can be if approached correctly, but don’t make it your primary goal.  Pursue it with this as your end goal and it’s doomed from the onset.  These movements should be grassroots, initiated by people with a genuine desire to implement continuous learning and just get better.  You get better with practice, which is what these groups provide; an environment for software professionals to practice.
  • Encourage people who wish to host events like these.
  • Remove barriers.  Make it easy for people to reserve spaces and market the events in your organization’s name.  Some lunch money wouldn’t hurt either :).
  • Provide support and resources.  
Do these things and you’re sure to see the long-term benefits I’ve described above.
What about your company?  Does it support efforts like this?  Do you have any additional suggestions for employees wanting to start one of these up?