13 December 2007: Maximum communication


Agile methods try to optimise the software development to provide highest value per effort. They talk about communication as a means to connect the people and ideas, and to enable efficient decision-making. What does that really mean and what do they really want to achieve?

In most cases when something goes wrong, it is because someone didn't talk to someone else about something important. There are many reasons why that might have happened. Maybe the first person didn't get a hold of the second one. Maybe the first one didn't even know who to talk. Or perhaps it would've been too difficult for the first one to bother because of this and that communicational limitation.

Whatever the reason, the problem happened because of lacking communication. Traditional projects are full of such situations. Communication is controlled; the project manager wants to keep all discussion managed. Communication is often through text-based means (including email, although it is slightly better than typical documents). And projects are built in phases that are sequential and might even have different people working in them. No wonder the project managers are often overworked in trying to manage all the communication in the projects.

Empower communication
Instead of managing communication, project managers should facilitate it. They should empower different parties to communicate directly with one another. First, it means liberating and facilitating communication within the team. Project managers should actively support and increase the discussion and co-operation between all team members, using various techniques and by listening the team and its members. Encourage everyone and pull them into the communication. Remove barriers that inhibit it, either physically or in less tangible ways.

Second, as a project manager, ensure that the team and the customer collaborate and communicate actively. Insist that the customer actively participates in the meetings and provides feedback on requirements and priorities. How else could the customer get what they really want? Try to remove communicational barriers from the direct communication and make sure you don't become one.

Third, try to develop the communication between the customer and the various stakeholders. Sometimes this can be very difficult, but doing the right things very much depends on real feedback. Since Agile methods emphasise frequent working deliveries, those practical releases can provide a very powerful means of involving stakeholders.

Fourth, ensure that the team has as much direct access to stakeholders as possible. If the customer manages the communication between the team and stakeholders, it is again another bottleneck. The direct communication needs to be in line with the priorities set by the customer, and should be used to provide the team with all necessary detail and feedback regarding the features they have agreed to develop in the iteration.

It is very important to ensure focus in the communication. Connecting the team and stakeholder must not lead to them discussing new features. Such ideas are the domain of the customer-stakeholder interface. Therefore, facilitating discussion also means maintaining focus, so that the communication serves the right purpose, at the right time.

Maximise bandwidth and utility
Text-based communications have a very limited "bandwidth". They are slow and costly to write and keep up-to-date, don't allow interaction, are difficult to make unambiguous (laws are written to be unambiguous, but are they generally easy to read? And are even they really unambiguous?), and are generally incomplete, in one way or another. When you really want to create common understanding within the project, text documents are far from effective methods.

In agile projects, you want people to share their ideas and competence in as free form as possible. At best it is face-to-face collaboration. There we have the full spectrum of human communication (speech, tones, facial expressions, motions, even unintended messages) available in a collaborative, interactive environment. That is not always possible, but the projects should strive to maximise the possible bandwidth in all communication.

All this allows maximal understanding and collaboration between people, bringing the real requirements and best ideas forward and minimizing the wasted effort due to poor communication.

All that said, many low-bandwidth media have advantages that you need in your projects. For example, once written, documents can be easily distributed to any number of recipients unlimited by space and time. You can't do that with face-to-face communication. Use the strengths of the various media to provide highest value in meeting customer needs.

Seek for rich communication
Agile projects live on rich communication. They try to eliminate as much of in-process documentation as possible and replace it with richer means, preferably face-to-face collaboration. The more you can have direct person-to-person co-operation, the higher are your chances of doing the right thing. Identify the strengths and weaknesses of various communications means and try to use the strengths while avoiding the problems. The customer and the project manager are in the best position to create such a communications-rich project environment.

For further information, please contact:
Petri Heiramo, Senior Process Improvement Manager, tel. +358 40 709 2526