Agile emphasises the importance of communication. This is not just about the formal communication at stand-ups and meetings, it is also about everyday communication within the team.
Consider the following example.
A team member tries something new with some automated tests. They hope the change could be an improvement and that it could provide significant benefits.
Without mentioning it to anyone, they commit their change and as a result that night the automated test build fails.
The other team members are annoyed that the test build was broken and ask them to remove their change.
The lesson from this example is that it is important to:
- Discuss changes with the team before starting on a change
- Where possible, agree on a success criteria before starting on a change
If the team knows that something is being tried they will be mentally prepared for an impact. Where a success criteria is agreed in advance the team may well work to help push through an improvement even though there was an early setback.
Jim Coplien wrote about the importance of agile communication in his book Organizational Patterns of Agile Software Development. He showed that the greater the communication, the more productive the team.
How do you help to promote communication? Well tools like Skype can help with this frequent communication if used well. Collocation is important as is being in an office environment where verbal communication is encouraged.