See first - Principles for a community of professionals - I
Critical mass of potential skills
A team does not have the critical mass of potential specific skills for great steps forward or for facing too difficult problems. A single team is limited in the same way as single individual is limited. The solution is to have available a larger pool of resources: more (collaborative) teams, a community.
Knowledge and experience sharing. Knowledge persistence
The limitations related to single team are also manifesting for sharing knowledge and experience. Communities could be more effective in this case. Also the knowledge persistence could be more robust.
Isolated teams will have the same problems as isolated individuals: will not benefits of pre-existent or co-existent knowledge and much part of their effort will be a waste. Some examples:
- Will re-invent already existent solutions (aka “re-inventing the wheel”)
- Will be slowed by impediments that were already removed elsewhere
- Will not re-use creative work and good results from other teams
Knowledge persistence short history: first community, temples, stories, cities, stone inscriptions, papyrus, alphabetization, academies, libraries, Gutenberg, electronic data, Internet …
Active collaboration: inside team, between and across teams
Active collaboration between individuals it is a mandatory practice for an effective knowledge work, but is not enough. In order to get more value from skills, knowledge and experience we need an active collaboration between teams and across teams.
Talents valorization and rare ideas
Contribution of very talented individuals, one of the engine of our civilization could not be valorized at team level – we need communities. They need peers to develop and validate their ideas, and only a community could sustainable offer such peers. Also, only communities could spread, persist and valorize better their contribution. There were a lot of talents in the prehistory and history that have wasted their potential because of lack of collaborators and peers.
All the factors enumerated here – skills, knowledge, experience, collaboration, teams and teams of teams – need time in order to manifest and bring results. A community need a time of evolving stability. For example, the history discontinuities of the “dark ages” have slow down the evolution for centuries.
Promoting valuable ideas
We cannot get value from distribution of wrong or not productive ideas. In software development, using a historical retrospective, the Waterfall approach have not produce either benefits for single projects or for software engineering evolution … with notable exception of lessons learned. On the other hand, agile and iterative development have improved the overall results of that domain.
Historical example: The “Classical Greek” era in the ancient history was followed by a similar flourish of sciences only on the Renaissance times; this discontinuity has affected the entire evolution of the civilization.
Different kinds of communities
It is not just a simple math. To bring together a critical mass of skills you need more kinds of communities: cities, schools, universities, specialized companies, professionals’ communities.
Inside an organization, you could benefit from communities of practice, but the first community must be the organization itself.
Creating new values, practices and new communities
New values, practices and finally new communities will emerge from existing communities. From an economy dominated by mechanical and construction engineering has later emerged electronics and computer science.
Historical example: The main step in evolution of human civilization was the occurrence of the first human communities. All have started in this order: first community, first series of temples (yes, first architect and first engineer have existed before first farmer), other similar communities and later agriculture and cities.
A good example - Agile Manifesto
- "Talents realizations and rare ideas" - the "rare" ideas from initial agile methods and practices have been shared via ad-hoc community of Manifesto authors
- Share knowledge, experience and knowledge persistence - no comments needed
- Promoting valuable ideas - the good influence over the software industry is obvious
- Creating new values, practices and new communities - agile practices, values and principles have emerged legacy existent form of software engineering community. In fact many of these were pre-existent, but was no evolved via communities