I overheard two testers who work on different teams talking the other day. One defines tasks in sprint planning for creating test cases, executing test cases, and re-testing defects for each user story. The other thought it was insulting to the developers to create a re-test defects task before defects are found. Was it merely a difference in how they created tasks? Apparently the teams are very different in how they collaborate.
The team that plans for defects upfront is not co-located--people are scattered in cubicles across two buildings--and testing does not happen until the code is pushed into their QA environment. The team that does not plan for defects upfront is co-located, and the developers have the testers start reviewing the features early on in the development environment--defects are found and fixed earlier or avoided through conversations that clarify the user story because of the team collaboration that happens through co-location. It reminds me of an article I read about monkey chatter. Monkeys don't necessarily try to communicate certain messages to each other, but their proximity to one another allows for sharing of information [e.g. a certain sound indicates that a predator is near]. Co-located teams have more conversations because they can see and overhear each other; asking a question is seen as less disruptive because of the shared space.
Co-location makes a big difference in a team's culture, and it disheartens me that a team trying to be agile isn't pushing to be co-located. Teams should be co-located as quickly as possible during an agile adoption--otherwise teams might get stuck in their "good enough" processes and take their distribution for granted and as unchangeable. Leaders should map the office design to the culture they want because it can have a big positive impact.