Principles
Agile principles are concretization
of agile values. Agile manifesto lists 12 principles. These principles
are iterated in the form of assertive statements.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
We already know that communication plays big role in
software development and maintenance and face to face communication with an
opportunity to sketch is the richest form.
This principle simply states this fact.
But we all know that in today’s world teams are spread not
only geographically but temporally and culturally as well. This distribution is not only due to cheap
offshore labor but availability of skill as well. While forming software teams you need to consider
few factors w.r.t. communication:
- Geographic distribution
- Temporal distribution
- Cultural distance
- Number of teams
- Team size of each team
- Inter-dependencies of teams
Communication is not only about flow of information but
context as well. Moreover component of context increases many fold if at least
one party in conversation is from high context culture.
Communication =
Information + Context
Though Allen curve is about physical distance and about
frequency of communication. In my experience Allen curve very well incorporate
temporal and cultural affinity.
Cultural distance is a two sided sword, if team is
homogenous, it increases the communication richness as well as frequency but on
negative side ideas from diverse backgrounds are lost.
While having communication via audio and video recordings,
do not forget that in both cases it is painful to locate specific moment in
recordings. Try to keep recording
duration within few minutes.
If your teams are distributed, do not forget Conway’s Law
which is always present everywhere and every time.
Though it is not stated specifically number of persons in
team and number of teams also play big role in effective and efficient
communication. Here Dunbar’s number
plays a significant role.
In scrum, kanban, and devOps frameworks, this principle is
reflected in following practices:
- Daily Standup
- Information radiators
- Collocated teams
- Shared sketching environment
No comments:
Post a Comment