Introduction
In today’s hyper-competitive market arena, development teams need to quickly build applications that support new business initiatives, reduce risk and improve operational capabilities. In addition, developers must constantly enhance and improve internal and third-party software products to provide business personnel with new features and functionality.
Software testing is an integral part of every application development process. In addition to evaluating the quality of the software modifications, testing also identifies functionality gaps and missing requirements.
Today’s Testing Challenges
But robust testing skills and technologies that are the foundation of high-quality testing outcomes generally don’t receive the same level of importance and attention as their application development counterparts. Most organizations view application development, not application testing, to be a developer’s primary responsibility.
The tech sector continues to experience explosive growth. New architectures, platforms, products and development methodologies are unveiled on a seemingly daily basis. Application development teams now interact with a vast array of complex technology, platform, product and development process combinations. In addition, reducing application time-to-market is no longer a desirable goal, it is a requirement for an organization’s ability to successfully compete in today’s global marketplace.
When you combine the business’s demand for faster application time-to-market with the increasingly complex technical environments developers interact with, it becomes readily apparent why development teams have limited time to hone their testing skills.
Traditional Staffing Methods Are No Longer Optimal
We also know that application testing responsibilities are most often assigned to the application developers building the system and the business personnel that will be using it. This traditional method of assigning development personnel to application testing results in 2 significant shortcomings:
1. Since there is no centralized unit responsible for testing, testing expertise is disjointed and distributed across the organization. These localized pockets of tribal testing knowledge and expertise prevent information sharing and knowledge transfer. The organization is unable to benefit from a centralized source of knowledge.
2. Internal personnel that don’t have testing as a primary responsibility are unable to spend the time required to effectively evaluate advancements in testing products and methodologies. As a result, they aren’t aware of the latest testing tools, techniques, automations and best practices.
Testing Center of Excellence (TCOE) Defined
A Testing Center of Excellence is a defined operational unit that is responsible for providing testing services across the organization. The TCOE is staffed by specialists that focus on testing and QA support activities. In addition to their testing duties, TCOE personnel also become responsible for evaluating and implementing new testing frameworks, tools, methodologies and best practices. From developing enterprise-wide testing strategies to building the shop’s testing product portfolio, TCOE team members become responsible for establishing and achieving the organization’s enterprise-wide testing goals.
Testing Center of Excellence – Organizational Goals
In upcoming installments of this series, we will discuss the mechanics of building a centralized TCOE unit and identify the benefits the team provides. But the 2 primary goals of every TCOE unit will be a constant across all organizations:
1. Improve the overall quality of testing outcomes across the organization.
2. Reduce the organization’s application testing costs.
TCOE Benefits
The TCOE unit’s ability to achieve these goals is based on a single, simple premise – testing is the team’s core responsibility. Unlike their application developer counterparts, most TCOE testing and QA specialists have chosen testing as a career path. Improving their testing skills isn’t diluted by competing, non-testing related responsibilities. The TCOE team also eliminates localized pockets of tribal knowledge by becoming the organizational conduit for testing knowledge transfer.
In addition to improving the IT shop’s testing expertise and skill sets, the TCOE also ensures that the organization is benefitting from the latest advancements in testing tools and technologies. The science of application testing continues to experience rapid growth. A highly competitive market leads to the unveiling of new products and rapid advancements in testing tool features and benefits.
From test case management and the creation of test plan automations to bug tracking, reporting and project management, testing specialists can choose from a wide range of products that cover every aspect of the testing lifecycle. A key responsibility for all TCOE teams is to evaluate, select and implement products and processes that meet their organization’s unique testing needs.
Wrap-Up
Thanks for reading this first installment of our TCOE article series. In upcoming articles, we’ll discuss building the organizational foundation of the TCOE team including team charter, organizational responsibilities, staffing requirements, integration with development units and tool selection. In addition, we’ll also debunk a few common TCOE misconceptions.
If you would like to learn more about the benefits a TCOE team can provide to your organization, please visit our Testing Center of Excellence Services Page.