Before diving into the concept of Community of Practice (CoP), I’d like to ask you one question. In your daily work, you must solve problems and deal with
topics and domains of interest inherent to your job (ex: front-end development). According to you:
I guess you see my point. If you answered Yes and No, I bet CoP can make sense in your context. This post is a short introduction to communities of practice.
This definition is a good summary of what’s a CoP.
Communities of Practice (CoPs) are organized groups of people who have a
common interest in a specific technical or business domain. They collaborate
regularly to share information, improve their skills, and actively work on
advancing the general knowledge of the domain. © Scaled Agile, Inc. Source.
and even more. Note that the Spotify internal communities called Guilds are similar to a community of practice. Interesting fact: A CoP shows resiliency to the structure of the company and its organization. Whether you’ve got a Feature Team model, or horizontal/vertical management, the CoP’s principles will still apply: in a CoP, a group of people shares common interests in their daily work, and the CoP is intended to gather tacit knowledge from another.
This question may sound surprising, I know. Indeed, you could be easily convinced that knowledge sharing brings value and benefits to your company. The DORA provides annual reports on engineering teams’ performance if you need arguments. The 2019 report states that:
High performers favor strategies that create community structures at both low
and high levels in the organization, including Communities of Practice […].
Another recent study from McKinsey highlighted knowledge sharing as a top factor that fuels software excellence. Reuse expertise and knowledge from others in an InnerSource model will save you time and prevent reinventing the wheel again and again. One last thing: considering the increasing remote-working context, any chance to interact with colleagues (we’re not used to seeing every day) can’t harm. But that’s my opinion only 😉.
That’s a common challenge faced by any CoP: what brings us together in this CoP, and what can we expect from that? A CoP will have to clarify who it is for, and what people will find there. A CoP can gather people based on a topic, or their roles. In the second situation, this could be excluding for some people and may not be especially relevant if they don’t share common topics.
Assume, for instance, a CoP for Software Architect experts in Java. One works in micro-services architectures with an Event-Sourcing model, and the other is specialized in Monoliths in a legacy system.
They surely have topics in common, but they’ll have to clarify them. It’s easier to reach efficient knowledge exchange sessions if the CoP’s purpose is clear.
A CoP will need to answer the following questions:
The only valid answers are the ones that suit the majority of people! The CoP should optimize the process of sharing knowledge and skills among members as much as possible.
Yes, people are busy and already have plenty of things to do, but a group facilitating CoP’s sessions will be appreciated. Whether it’s on-site or remote, a minimum of preparation is required, at least to organize the sessions, communicate on them, and lead/facilitate discussions during the sessions. If you feel that only one person leads the CoP, and complains about that, it’s a good opportunity to survey the reasons for that situation: lack of time, fear of being judged, lack of perceived value,…
It will help to welcome new members in the future. Also, remember you can’t expect the same level of participation in communities from the members.
For communication, running a dedicated public channel on Slack/Discord/Teams or any tool you use is a good idea. Make it public to allow everyone to join the CoP. This channel will be the place where the announcements are made. For collaboration, a simple Kanban board will be enough to centralize the tasks to be done and by whom. It’s easier to use the mainstream tool in your company to manage tasks. For documentation and knowledge management, it’s relevant to keep track of all sessions and their materials (video recordings, slides, …). Not everyone can attend all these sessions, so it’s a good idea. A Notion or Confluence will do the Job.
For best coding practices sharing, when it makes sense for the community, a platform such as Promyze will help to centralize and discuss best practices about the topic of the community. Here is an example of a practice that can be discussed within a React CoP:
You’ll probably need rooms to run the session physically. Stakeholders or managers in a company, if they acknowledge the benefits of your CoP, can facilitate access to meeting rooms and all logistics parts. Also, as a CoP session can occur at lunchtime (often the only moment when most people can be gathered), sponsors in your company can offer food/drinks. It’s not a lot, but this still adds more conviviality to these events. As participation in CoP is not mandatory, we should pay attention to community members’ wellness during these sessions so that they’ll be delighted to join the next session.
Trust yourselves and get feedback from the CoP. After each session, you can use a tool such as the ROTI (Return on Time Invested). A CoP needs to improve its organization continuously, so collecting feedback will help with that. If people get value during CoP sessions, it’s a great thing.
The CoP’s goal should be to create a sustainable structure. Take your time to build them. Don’t burn everyone’s resources for a month and let the CoP dies. Don’t try to have weekly events if it’s not viable. A CoP is not about dealing with emergency topics; you should plan other meetings.
That’s all, and I’d be happy to receive feedback on how you run Communities of Practice in your organizations, what challenges you face and how you solve them. Learning communities can provide great value to your engineering teams; never forget that!
Promyze, the collaborative platform dedicated to improve developers’ skills through best practices sharing and definition.
Crafted from Bordeaux, France.