For large companies with multiple applications or even multiple lines of business, what is the best model for the test organization: centralized, distributed, or a hybrid approach? This week's column by Linda Hayes will help you decide which is best for your company, what factors should be considered, and what are the advantages and disadvantages of each.
I attended a seminar once where the speaker, an experienced test consultant, was asked whether the best organizational strategy for testing was to be centralized or distributed. He said, "If you are centralized, you should become distributed. If you are distributed, become centralized." Into the puzzled silence he explained that the most important thing was to focus attention on the needs of the test organization, and reorganizing would demand it.
But seriously, for large companies with multiple applications or even multiple lines of business, what is the best model for the test organization, and why? There are two basic models-centralized or distributed-with variations and combinations of both. Centralized test groups comprise a pool of resources that are shared across applications and projects, and distributed test teams are aligned by application or line of business. Which is best?
As you might expect, there are advantages and drawbacks to each.
A centralized test group has the primary advantage of size. By gathering all test resources into one organization, there are economies of scale that permit focus and specialization on such areas as processes and tools. This variety also offers better career paths and professional growth for testers, allowing them to sharpen their skills over a wider range of applications, tools, and techniques.
Additional advantages are resource flexibility and process consistency. As projects wax and wane, resources can be allocated based on demand, so peaks and valleys can be smoothed out. By maintaining a single department, standards and conventions can be defined and propagated across all projects.
Also, as applications become more integrated, cross-project issues can be more easily managed by a central group. Test environment provisioning, code migration, release management, and related tasks can be integrated across projects to share resources and experiences.
But perhaps the key advantage to the centralized approach is that the test organization may be easier to position as a peer to development within the enterprise reporting structure. Since testers do not "belong" to any particular application or project, they are less likely to report to development or project managers and thus be insulated from senior management visibility. Gaining a voice in higher-level management decisions has value in many dimensions.
The major downside to being centralized is the dilution of subject matter expertise. By moving from one application to another, there is less opportunity to gain critical domain knowledge. And, because project test teams are transient, it is more difficult to accumulate and maintain a regression test library. This may compromise overall product quality in the long run.
The essential advantage of a distributed test group mirrors the biggest drawback to centralization: when resources are dedicated to a particular application or line of business, subject matter expertise is increased. Testers are more knowledgeable about what might otherwise be arcane or complex application behaviors, enabling them to improve testing coverage and effectiveness.
This model also fosters closer working relationships between development and test as team members interact more frequently and over longer time periods. Patterns and protocols develop that improve efficiencies between the groups, so that expectations are generally better understood and managed.
In this model the testers usually report to the project manager or to the application owner, and as such may be a peer to the developers on their team at the project level. However, at the department level the test organization itself is more likely to be part of development. As a result, they may be viewed as stepchildren or subordinates with less say about budget and schedules.
The major disadvantage of a distributed test organization is also the same as the biggest advantage