I just got back from the 2014 Agile Conference, and you are not the only person wondering about the question posed...
above. My short answer is that it's very hard to be effective with this setup, but some enterprise software testing might be done with a central test team as a transitional step in an Agile adoption. Some functions, like performance and security, might be tested by an outside group.
Now it's time for the long answer.
Testers on the team, not in a testing department
Keeping testing off the team creates a handoff between teams and forces the central test team to provide services to multiple customers. All that restricts flow, making testing the bottleneck, while at the same time limiting the expertise about the product that testers would acquire if they were dedicated to one team. Having a separate team also can create an us vs. them mentality, which hurts teamwork.
All those scenarios explain why a separate team is a bad idea for enterprise software testing, but the thing that keeps the development team from being Agile is that the team can no longer develop the software end-to-end themselves.
The principles behind the Agile manifesto include the following: "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily through the project … The most efficient and effective method of conveying information is face-to-face-conversation."
Doing development in Poland, Iceland or the United States, then uploading your code to a test server and notifying someone elsewhere on the planet that the code is ready to be tested -- that just doesn't sound like Agile.
In fact, it is likely that the people in Poland, Iceland or wherever have developed their own internal test team. They also likely have lobbied the business stakeholders to ignore you and skip enterprise software testing.
A few exceptions
Most of the discussion above is about functional testing. I am generally opposed to strictly enforced handoffs and in favor of including testers as a collaborative part of each development team. It is, however, possible that your company is structured into very small teams, say, three to four people, and that those teams might not have the background to do the security, performance or other specialized testing you need. Likewise, some older organizations have complex integration pieces that need to be coordinated just before release. I can see how some of these highly specialized roles might remain independent while providing services to other teams, but hopefully those services would include an educational component designed to help the teams take over the work themselves.
There is also an interesting question of how wide the Agile team should be. Keeping testers out is probably too narrow, but most Agile software teams keep sales and human resources management (HR) out of the team. In many cases, sales and HR use traditional, non-Agile business processes.
The bottom line is that once an organization adopts Agile methods, IT teams should continue to keep them growing.
How test managers measure test team effectiveness
Managing a software testing team while cultivating talent
Use test charters to enhance test team efficiency
How do cloud tools reduce enterprise software development costs?
Matt Heusser asks:
Have you been a part of a centralized enterprise software testing team? What do you think of such central teams?
1 ResponseJoin the Discussion
Related Q&A from Matt Heusser
What's the scoop on ALM tools offered as a service? How do SaaS ALM tools compare with on-premises software suites?continue reading
What does context-driven testing mean, and how does it relate to Agile testing? Test professional Matt Heusser provides an answer.continue reading
Negative, anonymous feedback puts both testers and project managers in a difficult situation. It's hard for testers to act on vague complaints and ...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.