A community of practice is a group of practitioners who share a common interest, problem or passion. Its members participate in the community to share ideas, resolve issues and improve their understanding of the subject area. Participation is voluntary, entertaining, compelling, interesting, long-term and not restricted by location.
Connecting people and providing a shared context enables dialogue, stimulates learning, shares knowledge and helps people to organise around purposeful actions.
The primary purpose of the community of practice is provide collaborative learning. Additionally the community of practice innovates and solves real problems. They create new practices and knowledge plus develop a collective and strategic voice.
I have focused in this blog post on how to create an Agile community of practice within an organisation.
You don’t need approval or management sponsorship to create a community of practice and I would argue it helps if you don’t. Creating an initial informal community allowing anyone to join and promoting it by word of mouth generates a greater sense of community and ownership.
At some point you will want to formalise the community and gain company time or budget to perform the required actions. As a community, put together a one-page business case with costs and benefits, and share it with your management. Focus on resolving pain points and generating value for the company plus explain how the community helps with this. Focus on the financial benefits, KPIs, success criteria and ensure that you use actual figures, even when they are based on forecasts and best guesses.
Engineers spend a third of their time looking for information and are five times more likely to ask a colleague than look at a manual or database. Community members are more efficient and effective channels of information and have experience that is specific to the local domain.
Communities of practice are dynamic social structures where, ideally, everyone is free to join. Although we are actively avoiding a rigid hierarchy there is still a pattern that can be followed to create the community prior to its members evolving and sustaining it over time.
A community leader should be in place to organise, facilitate and mediate in order to provide the best environment for knowledge sharing.
Communities usually comprise of:
- A core group who frequently participate in discussions and actions. The core group typically provides leadership and guidance to the group.
- An active group who participate regularly but not to the level of the core. The activities of the active group rise and fall dependent upon their needs in relation to the community.
- A peripheral group who are passive members of the community. Although their participation level of this group is low they still learn from the discussions and show interest in the activities. Often the peripheral group comprise the majority of the community.
If you start the community then that effectively makes you its initial leader. As you recruit trusted colleagues you have your initial core group. Opening the group up for anyone to join then widens the membership. Launching the community via
a physical event is one way to increase membership but generally growing by practices including word of mouth, organisation newsletters and lunch and learns are at least as good. Communities should normally be producing value within a few months and be mature within a year.
Good examples of online communities allow frequent contributors to become community moderators; see LinkedIn, Quora and Stack Overflow. Guilds at Spotify are a good example of lightweight community of practice described by Henrik Kniberg in his excellent video Spotify Engineering Culture – Part 1.
To be effective the community needs a specified purpose, goal, vision or mission. An example mission statement for an Agile community is as follows:
As a network of engineers we seek to champion Agile practices within our organisation and facilitate its widespread adoption, as we believe it is the best way of delivering success.
This purpose frames discussions and provides guidance to the community when considering their direction. It is not set in stone and like all things related to the community it will change over time.
Now we have a community with structure and purpose we need to look at communication methods, involvement and collaboration.
There are many factors that enable groups to bond over a common purpose. If we examine social presence we see a combination of three factors that increase intimacy and immediacy within a group:
- Social context factors include familiarity with recipients, trust relationships, informality and social relationships.
- Online communication factors include keyboard skills, emoticons and paralanguage, language skills and discussion boards
- Interactivity factors include timely responses, communication styles, message length, the size of the group and the formality level
Taking these into consideration we are looking to create an open, informal community with a broad level of trust between members. There will need to be some moderation to prevent issues but generally the community is given responsibility for governance and self-policing, for example up-voting and down-voting posts plus flagging content as inappropriate.
Motivation is also critical, members are more active when the positive purpose of the community can be seen with valuable outputs being produced and broadcast. Rewards for participation are intrinsic (self-esteem and reputation) and never directly extrinsic (bonuses and promotions). Collaboration should also be maximised by showing how working together can be more successful and rewarding.
The community forum must remain supportive, helpful, open and fair. We are looking to share knowledge and better understand the subject area. Create an area for off-topic discussion so there is still a place for them without distracting the community from its purpose.
Artful facilitation will help improve participation but the community must add real value to its members. If the value is not recognised by the members or the organisation then they will not engage. Recognition by the organisation will also add to the perceived value of the community.
The community website provides a central hub for all of the groups activities, spend some time designing a simple interface and then evolve it with feedback. Confluence is a great option for the community site with plugins available for enhanced functionality, such as Community Forums for creating and discussing topics.
I have listed below some of the website elements that I have found useful when running Agile communities.
Collaboratively create a roadmap for the community – what are the goals for the next year? Create it as a backlog or simply on a single diagram on the websites main page.
Allow the roadmap to evolve over time and clearly mark the tasks that have been completed – celebrate success for this completed work.
Sometimes we need to speak directly to an individual or request coaching or mentoring time. By adding a contact list with phone numbers and e-mails we create an alternative communication path for private conversations thus broadening the offering.
Specify on the list your name, telephone number, e-mail address, location and what you are happy to be contacted regarding. A mini-profile could also be useful showing your experience and even your photograph. Personalising these aspects increases trust and eases communication.
Share guides on specific practices such as retrospectives or scaling, write a page or a short document on a practice and ask for input.
Proven practice is the most valuable as it is specific to your domain and takes account of local conditions and restrictions.
Project Reports/Experience Reports
Request that every Agile projects writes a short report when their programmes finish. You can use a template for consistency or just enjoy the differences.
This is a great way of sharing experience and learning problems and resolutions on similar projects. It is also a great way to find people with the right knowledge. Ensure that these reports are open and honest.
Share any Agile presentations or workshops that were given as the slides will become a useful for others. Recorded presentations and webinars are also useful.
The Internet contains huge amounts of Agile material, select the best content for your company and provide links into it or alternatively, copyright permitting, take a local copy.
This could include Agile books, white papers, blogs, articles, videos, webcasts etc.
Everyone should add to this list when they see something useful or just interesting. It is a good way to highlight changes in practices and to see what is likely to change moving forward.
Pick a popular book and distribute copies to those willing to participate in a book club. Ideally get the company to pay for this; it is a cheap method for training people. Ensure that you pick a great book as this takes some time to get through, a proposed reading list can help with this.
Each week read a chapter of the book and discuss it on the book club forum. People will retain more knowledge by discussing books over purely reading them. Focus on what it means within your context and how can you make changes now in line with the book. Ensure that you write down and successes to make the business case easier for the next set of books.
The community should energise its members and providing learning is one element of this. Engaging in the development of community of practice members increases engagement and provides training to those most interested.These people are the change makers within the organisation.
In addition to the book groups, videos and blogs described above there should be an education track involving mentoring, coaching, training courses and certification.
I will leave certification paths, training options and the multi-layered approach to training (across the organisation), coaching and mentoring for another post but just to note here that it is good to offer a roadmap to those interested and use this to guide the development of knowledge and skills within your organisation.
If communities are not updated frequently they will wither and die so it is vital to create a regular rhythm of activities that members can rely on. There is a balance, as always, between maintaining a vibrant community yet avoiding burdening members and forcing involvement.
The ‘sense of place’ is created for members by linking the persistence provided by the web site to regular activities.
Activities to improve engagement and improve participation include:
- News – Any relevant information should be prominently posted such as when bids are won, when Agile project are successfully completed, upcoming events – seminars, training, lunch and learns etc.
- Newsletters – E-mail a weekly newsletter to all of the community members. Keep the content light and fun but ensure to include valuable content and links back to the website. Include jokes, games, success stories, tools advice, most popular posts of the last week and whatever use you think would be interesting to its readers. E-mail adds a channel to the communication and is more direct, linking back to the site pulls the members back into the heart of the community.
- Gatherings – Have a regular physical event for the community to get together and discuss topics. One day every six months is probably the minimum you would want to do. Put together an agenda of workshops, presentations (internal and external), games, prizes and retrospective before inviting everyone. This really depends on the scale of the company and the size of the community, adapt accordingly – a monthly meeting down the pub for a few hours to discuss progress sounds good to me. Try to get away from the workspace to create room for innovation, free food and drink help too.
Run the community in an Agile way, use learning cycles, promote honesty, transparency, respect and integrity. Involve everyone in key decisions and share all of the information that you hold.
Success boils down to its members finding an identity as part of the community, passionate leadership driving the aims of the community and the time to take part – there must always be a high return on time for participants.
Reflect regularly upon the purpose of the group and why you created it in the first place. It is important to maintain a sharp focus on the main goals you are seeking. Remember, when you’re up to your neck in alligators, it’s easy to forget that the initial objective was to drain the swamp.