XP Explained Cover

We conclude the main portion of the re-read of Extreme Programing Explained, Second Edition (2005) with Chapters 24 and 25. Next week will present a few final thoughts before we shift gears and start reading The Five Dysfunctions of a Team (if you do not own a copy, it is time to order one – use the link to support the blog and podcast).  This week in XP Explained; Chapter 24 discusses the value of community as an asset to support the adoption and use of XP. Chapter 25 is Beck and Andres’s concluding notes on XP Explained. (more…)

Ready to go learn from the other members of his community of practice.

Ready to go learn from the other members of his community of practice.

A community of practice (CoP) is a group of people bound by a shared interest, purpose, hobby or job who interact regularly.  A common attribute of the participants in healthy community of practices, personal or professional, is a passion for communities central theme.  CoPs have three primary characteristics:

  1. Domain – A CoP has a shared domain of interest.  Examples of domains might be project management, Scrum Masters, Ruby programmers, testers or business analysts to name a few. Membership represents a commitment to the domain and a level of shared competence. Members value their competence and learn from each other.
  2. Community – Members do not necessarily interact on a daily basis, however when they do engage in joint activities and discussions, they share and learn. The community is created through these shared experiences.
  3. Practice – A CoP provides shared resources, experiences, tools and stories that support a shared purpose for practitioners. The interactions and conversations generate a shared base of knowledge.

Translating the characteristics into an operational definition: a CoP is a group of people who interact based on a shared domain in which they are practitioners in order to provide each other with support and shared knowledge.

Healthy CoPs provide a platform for people with the same passions to interact, share and learn.  Think about the potential value of a CoP early in the adoption of test driven development within an organization.  Practitioners could gather periodically to share issues and fears they are having while learning how other practitioners have dealt with similar issues.  Practitioners derive value from CoPs that provides a platform where all participants can learn and grow.

When CoPs are unhealthy or ill-conceived they will not deliver value.  Markers of a troubled CoP include low attendance of events and executive edicts requiring participation.  There are generally two problems that trouble CoPs.  The first problem is a failure for the community to deliver value to the practitioners.  In this scenario the community fails to foster communication, collaboration or data for practitioners to learn from.  If practitioners do not get value from the time they spend interacting together they will stop. I once was asked to comment on why a CoP I had been observing was having attendance problems after watching the six people attending the “meeting” spend 90 minutes texting rather than listening to a horrid speaker.  In this case the answer I gave was that boring content was certainly a contributing factor.  I suggested involving the membership in developing the program and finding speakers so that the practitioners would be able to help shape the content.  The second issue that kills CoPs is organizational politics.  In this scenario a leader attempts to use the community to further his or her career at the expense of the community (or at least while ignoring the community). Very few people are interested in being a pawn in another’s career machinations and will seek to avoid participation.  Depoliticizing CoPs is difficult and requires a strong leader that is more interested in the practice than the corporate ladder to displace the more political leaders. In either case when participation begins to fail the value of the CoP will begin to fail.

Communities of practice provide practitioners with a platform to safely support each other, collaborate and learn.  Why are should we have a CoP?  A healthy CoP will deliver value both to the practitioners and the organizations that the practitioners represent.

Are Communities Self Limiting

Communities are large, fluid highly resilient networks for the analysis and dissemination of information.  There are many attributes of communities that allow the flow of information.  One of the vital components in order to keep informative flowing is trust.  Trust that the data shared will be used in a manner that increases the value of the community. Why don’t communities and information systems continue to grow?  Why aren’t they self-perpetuating?

Whether you are dealing with a computer network or community, all systems are self limiting.  Constant vigilance is required to maintain effectiveness and efficiency of attributes  The problem is that it is easy for a single attribute or  small group of attributes to reach a point where overemphasizes causes the process to become unbalanced or runs wild.  Lack of balance  can cause the system to stagnate or collapse.  The world of economics is replete with examples where an attribute such as greed (a motivator in many cases) runs wild stifling the system.  An interesting question is whether any attribute, if unbalanced, can destroy a system?   Can too much collaboration, too much self-determination cause as much trouble as over-control?