Community is where you make it

As my blog tag says, it's all about community. Just before I went dark to go on the Wave Launch tour, I got a note from Daniel Vaughan to say he was doing a presentation to a User Group inside the firewall at his work (btw, Daniel's blogged about the presentation - Model Driven Development: An introduction to Windows Workflow Foundation and posted the deck he used). I love this concept of user groups in an organisation with a bunch of developers, and it's something I've been trying to facilitate in a number of companies. If you're interested in starting up a group in your company, please drop me a note and we can talk.

Benefits

There are some real advantages to companies who instigate and support a user group/community of practice/centre of excellence, call it what you will.

Staff Development

User Group meetings become a regular training session for all developers in the organisation – introduction to and discussion of current and emergent technologies and techniques

Emergence of Experts

Presenters on a particular topic become in-house experts, which encourages their development of that expertise. A virtuous cycle.

Cross-pollination

Discussion of what’s going on in one group often leads to transfer of skill or knowledge to another group that is doing similar things.

Candid discussion inside the firewall

Because all of the attendees are internal, current projects and candid disclosure are fair game

Morale

Developers have an opportunity to learn and to demonstrate their skills/knowledge – two significant drivers of developer morale. In fact, when I'm talking to a CxO about this idea, I go so far as to say that for developers especially, three of their major virtues are sloth*, pride** and a thirst for knowledge. This forum allows the expression of the last two of these.

Requirements

Of course, a group like this doesn't just happen, there are a few things that you need to have in place to make it a lasting success

Exec Sponsor is Key

The first requirement is sponsorship at a senior executive level, preferably CIO/CTO. There must be an acceptance of the concept and a willingness to mandate that developers get are allowed to make the group a priority. It's all too easy to say "we're too busy, we'll can the meeting for this month", but for the group to survive, let alone prosper, it needs to happen on a regular, predictable basis. The sponsor must buy into vision of COE and be prepared to fight at highest level to keep budget and time allocations available. There may be a need to incorporate COE meetings into utilisation targets. There needs to be a decree from on high that developers are to be released to attend. There should be a succession plan in case the Executive Sponsor moves on. You might also engage with Training Coordinator

User Group Leader

This is the same kind of person you have running Community User Groups outside the firewall. They are an enthusiastic advocate of development tools, technologies and processes. Often, this person isn't a manager but an experienced Individual Contributor. It's a great position for someone who wants to be noticed doing an important job by people at a high level, but that should never be the only reason to give that person the job. Of course, the work this person does needs to be recognised in their goals for this role. You also need a succession plan in case the Group Leader moves on, and in some cases an assistant or co-leader is a good idea.

Location and Timing

This needs to be immovable and recurring. This means that it goes into people’s diaries as a “do not miss” event and they get there almost on remote control. COE must be a habit.

Content

A key driver of satisfaction with COE is quality content well delivered. Having 6 months content at the start means that the Group Leader can work with the content delivery people to make sure their content is spot-on. 3 months lead time is generally sufficient once the habit is established. This is the main task of the GL.

We (MS) can help by providing content to the GL for redelivery within the org (e.g. TechEd DVDs with pptx decks and recordings of the sessions for the presenters to learn from). A meeting might look something like this:

Time Topic Presenter
2:00-2:15 Welcome, Q&A Group Leader
2:15-3:15 Technical Presentation (e.g. "Using Windows Communication Foundation to Interface with SAP") Developer/Architect from within organisation
3:15-3:30 Break All
3:30-4:00 Project Presentation (e.g. "Project Blackcombe: Challenges, Solutions and Status") Project Blackcombe lead developer
4:00-5:00 Drinks/Networking All

Optional Extras

I love the idea of giving people in your organisation incentives for contributing to the group. I'd recommend catering the meeting (lunch or end of day generally works well, although I've known breakfast to be a winner too in some organisations). It's also worth considering providing speakers with a small gift. A shirt works well (company logo, a user group logo etc) as does some kind of geek gadget.

Cost

Setting up and running a group like this is not expensive, in fact for about $6.50 a meeting plus a time contribution you get a lot of return. Here's how I arrived at that number:

Item Cost
Speaker Shirts - 25@ $20 ea (2/meeting + 3 spare)> $500.00
Catering - $5/attendee (11 meetings, 30 attendees) $1,650.00
Total $2,150.00

That's $6.50/mo/attendee. In addition, you should allow 3 hr/mo/attendee, 10 hr/mo speaker prep, 8 hr/mo group leader prep.

How can we help?

We've got some resources available to help make your group a success. Firstly, I (or someone like me) am available to present this to a potential executive sponsor. Next, there's a MOSS template that was developed by some of the US evangelism team to help you run the group. We've got a bunch of content available (for example the TechEd DVDs for the past few years) with PowerPoint decks and videos of the sessions being delivered and finally, we can organise the occasional guest speaker from Microsoft to present at your group.

If this is something you'd like to make work in your organisation, then drop me a note.


* Sloth - the kind of laziness that would rather spend 4 hours writing a generic text import module than 1 hour re-keying data.

** Pride - but only showing off to other geeks professionals who actually understand what they're talking about.