Business people and developers must work together daily throughout the project.
– Agile Principle #4
As we continue our review of the principles behind the Agile Manifesto, we come to principles 4-6. These principles focus on the project team and how individual team members and the team as a whole can become more efficient. The fourth Agile Principle suggests that we bring the development team and the business stakeholders (like the product owner) together, preferably collocated in the same physical area. There are several benefits to doing this:
Osmotic Communication is enabled: “Osmotic Communication”, which is a term first coined by Alistair Cockburn (one of the drafters of the Agile Manifesto) means that information flows into the background hearing of members of the scrum team, so that they pick up relevant information as though by osmosis. This is normally accomplished by scrum team members sitting in the same room. Then, when one person asks a question, others in the room can either tune in or tune out, contributing to the discussion or continuing with their work.
Requirements are quickly and clearly understood: By interacting with stakeholders, customers and each other on a frequent basis, the scrum team more clearly understands the intent behind requirements. Instead of having to wait for email responses or returned phone calls, each team member can physically walk over to another team member or the customer, ask a question, receive an answer and get back to work, sometimes in just a few minutes. This helps to narrow the scope of the requirements for that specific iteration, and also brings to the surface any challenges, issues or roadblocks that may impede the progress of the development, almost immediately.
Everyone is focusing on a common goal: This is extremely powerful because it is very easy to tell if a scrum team member is inadvertently going off on a tangent, is working on an activity that does not support the iteration’s goal, or is pulled off the project altogether to work on something outside the project. The ultimate goal that all scrum team members should be focusing on is the delivery of working software that possesses value in the customer’s eyes. Anything that pulls the team away from this goal is immediately evident if the team is collocated.
Although “collocation” is a key goal of this agile principle, it may be impossible for your project teams to be truly “collocated” because of the necessity of using virtual and distributed teams. The trick is to get as close as possible to “collocation” using the virtual tools that are available to agilists, including instant messaging, webcams, video conferencing and shared document repositories, to name a few.