maybe even individual members of a team) are not in the same physical location, what can they do to improve their communication and documentation practices?
Vu Lam : Agile development clearly works best when the team and even their customers are co-located. Most of the literature on agile development does not deal with the challenge of distributed teams, so teams are generally left to solve this on their own. That said, I think there are a few practices that agile teams may use to alleviate the problem.
First and foremost, they can deploy a task collaboration system that shows clearly, in real time, who is doing what and their status. This is to empower project members to take ownership of their work and report progress, making it less of a coordination burden for the project manager. At the same time, it ensures that team members at different sites, while not seeing and talking much to one another, have the big picture of the project.
Besides the regular same-site daily meeting, they should have daily meetings among the leads of different locations. This is to ensure that information and issues are quickly shared and addressed. Yet, this introduces new problems with globally distributed teams—namely, that of time zone differences, language barriers, and cultures.
Again, teams need to effectively leverage venues such as phone, IM, and other collaboration tools. But these can’t solve some of the issues that arise from language and cultural barriers. I feel that, in conjunction with these venues, the effective use of visual communication is key. And this is what we mean when we talk about visual communications: How better for a tester across the world to get his point across than to literally capture his test steps, keystrokes, and screen movements annotated with comments, all in one document that his audience has access to prior to the discussion?
Sticky ToolLook: How do agile practices improve the feedback loop between finding and fixing bugs?
Vu Lam : Having a short feedback loop is essential to agile development, so it comes as no surprise that agile processes come with multiple practices enabling feedback to emerge as quickly as possible. Communication practices like daily standup meetings and an open workspace are the first that come to mind, but again we have the issue of globalization. We believe based on our experience that visual communication also minimizes the time between finding and fixing bugs.
Sticky ToolLook: Are there any challenges that agile practices actually introduce to software testing? If so, how do agile teams overcome or work around them, and what are some potential long-term solutions?
Vu Lam : The gist of agile development is about delivering value fast. For software testers, it means they have to find ways to continuously add value to the project. It is simply no longer possible to follow predefined checklists from a preferred one-size-fits-all methodology. They have to constantly ask themselves whether the things they are doing and how they are doing them support, defeat, or simply do not matter to that purpose.
On the other hand, they need to assist in making sure working software can be released quickly and regularly even in the face of changes. Self-educating on how to plan, design, and execute tests on the fly is essential. They have to learn to embrace changes and act upon emerging discoveries about the system. They can no longer rely on thick requirement documents or assume they have the time to create and maintain giant test cases. And they have to learn to engage more often in visual communication irrespective of location, for it