Agile Communication in Software Development Project
Communication is one of the key values of agile modelling. With regard to agile modelling, communication is the task of carrying information to and fro between individuals. It is important to communicate in an effective manner, because it is an issue which characterises the development of software, operations and support.
Users and developers are required to communicate. Even developers and operators have to interact, as must developers and the management. In agile software development, Alistair Cockburn has described the different types of communication that individuals might opt for in the process of work. As per Cockburn, the best way to communicate is on a one-on-one basis and preferably in the physical presence of one another. Such communication can be enhanced even further through the use of flips charts, paper and index cards. As you place yourself in a changed circumstance, by removing the shared medium, or by not facing one another, you will sense that communication is no longer so effective.
When you are in physical proximity during communication, you can no longer the benefit of conscious and subconscious body clues. You can no longer communicate in a mode other than words. Gestures and facial expressions will no longer have any value. Intonation and speech performativity is lost as well.
A number of factors impact communication- the most important being physical proximity. The closer people can be, the more is the space to communicate well. On one hand, you could have two people working alongside each other and programming simultaneous. On the other hand, you could have two people working on the same project, but in two different buildings.
Another important factor is temporal proximity- if two individuals are working simultaneously, it could impact communication. You might be apart from your workers in terms of time zones. For instance, it is common practice for North American companies to outsource their work to Asian or European firms.
Good communication further depends on amicability- which refers to the willingness of others to listen to the ideas and comments of the other person in a receptive and open manner. The more the amicability is, more is the volume of the information that is shared. The quality of information shared also tends to be better. Amicable people tend to be trusted more. However, over-amicability can lead to an atmosphere of painful formality, where real opinions never get articulated.
For Agile Software Development, if people work together closely in a physical and temporal manner, then there may be the possibility of Cockburn has labelled as osmotic communication- which refers to an indirect transfer of information by means of listening in on conversations or merely noticing aspects around you. It can be extremely beneficial, as you can pick up a variety of information as you proceed with your own work. Still, osmotic communication can be damaging, especially if people are being unduly noisy or if there are false rumours and gossip.
Communication is an art, and one must be able to practice it efficiently for productive results.