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.
Evolving stability
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
A good example - Software Craftsmanship Manifesto
- Has emerged from Agile Manifesto
- Address manifested weakness of agile movement and agile teams
A bad example - Discontinuity on promoting core agile engineering practices
- The problem was recognized by some of the main Agile contributors: Robert C. Martin, Martin Fowler, Kent Beck, Scott W. Ambler and others
- The main symptom it is so called Flaccid Scrum (See FlaccidScrum by Martin Fowler)
- Agile values was promoted in a diluted, partial manner
- There was a discontinuity on promoting core agile engineering practices
- People skills and knowledge were "disconnected" with team-only dogma
- The problem was recognized by some of the main Agile contributors: Robert C. Martin, Martin Fowler, Kent Beck, Scott W. Ambler and others
- The main symptom it is so called Flaccid Scrum (See FlaccidScrum by Martin Fowler)
- Agile values was promoted in a diluted, partial manner
- There was a discontinuity on promoting core agile engineering practices
- People skills and knowledge were "disconnected" with team-only dogma