Agile-TCOE-Development

What Is The Need For Developing Agile TCoEs? How Do They Help?

Listen on the go!

The key objective of a Test Centre of Excellence (TCoE) is to establish a highly standardized QA & Testing practice and create reusable test assets & repositories that deliver quality at optimal cost by optimum utilization of resources. It brings people, processes, technology, and infrastructure together to work on a specific focus area to provide the best customer value and reduce the cost of quality. TCoE promotes collaboration across all departments while improving the effectiveness of testing. TCoEs often involve both domain and technical SMEs.

A TCoE helps an organization in the following:

  • Early detection of defects in SDLC before they impact business
  • On-time delivery and on-budget execution
  • Improve business process quality and minimize technology risk
  • Reduce cost of testing with automated frameworks
  • Mitigate risks such as project failures, delays, budget overruns, and business process disruptions

However, today’s world of software development is turning more lean and agile. The need for dynamic changes in software development requires dynamic testing. It calls for a change in the functionality of TCoEs.

“Big, centralized Test Centers of Excellence are a thing of the past; testers must work with development teams on day-to-day project activities” – Forrester 2013

Need for developing Agile TCoEs

With the emergence of Agile and DevOps philosophies in software development, organizations are increasingly seeking ways to transform their TCoEs, traditionally built as a centralized function to organize their testing practice, to a flexible and agile mode which integrates well with SDLC.

The adoption of Agile and DevOps practices in an organization demands seamless collaboration amongst teams across the application lifecycle. The new collaborative TCoE model brings development, business, and operations teams closer to QA & testing, which otherwise work in silos. It enables various roles to implement QA & testing, demanding a Dev/tester skill set from the QA teams. Testing has become a collective responsibility of all engineers – testers and developers – and calls for a high level of coordination among them. A tester might need to fix code and developer might need to write test cases as and when needed.

This new collaborative Agile TCoE demands a new QA & testing skill set and automated solutions. Testers need to be experts in the latest tools and technologies. As part of multi-disciplined teams, they must strive to understand more about development, business ecosystems and operations, customer expectations, and end-user adoption. Also, they should gain knowledge in development techniques such as Test Driven Development (TDD) and Behavior Driven Development (BDD). This helps the QA teams to take the “shift left” approach effectively.

Challenges of setting up an Agile TCoE

In an agile environment, it becomes highly important to follow a certain set of functional business standards for a specific focus area to maintain a level of consistency across the organization.  Following are some of the challenges faced in setting up an Agile TCoE:

  1. Being agile is used as an excuse to avoid developing documentation. This arises due to the fact that objectives, scope, and expectations are usually vague and volatile when setting up a TCoE in an agile environment. This makes planning, designing, and preparing test cases almost impossible. Organizations should implement an enterprise-wide Agile test process toolkit including guidelines, checklists, estimation models, and methods that help in easy documentation.
  2. Testing teams are not being as agile as the development teams. Testers must be full participants and agile from the beginning of any sprint to provide inputs into the requirements. The recent times have seen a rapid transformation in the role of a tester – from a person who only tests the software or applications to a person who can perform tests as well as fix the code. Testing teams need to be agile to ensure flawless continuity in the delivery cycle.
  3. Usage of traditional test design methods for agile delivery models. Software testing has transformed from a function that required being reactive (identifying bugs, prioritizing them, and then reporting) to a function that requires being preventive (ensuring that bugs are not introduced into the software). This demands a change in the test design methods that are suitable for agile delivery models.
  4. The necessity of having co-located teams involving costs and efforts. Co-located teams reduce the time spent in coordination by enabling face-to-face communication. They also establish closer working relationships, strengthen team spirit, and create an opportunity for continuous collaboration while offering better visibility of work progress. Reorganizing teams to be co-located often involves significant costs and efforts. However, the advantages that the co-located teams present make the investment worthy and appropriate.
  5. Investment in an agile setup of test environments is needed for future success. The future QA and Testing practice within Agile and DevOps environments requires considerable investment in the test environments, automation technologies, and infrastructure. Besides, setting up an Agile TCoE can only be realized by associating with a flexible team of QA and test specialists.

The following picture depicts the challenges faced during testing in agile environment:

TCoE Challenges

How can Agile TCoEs be successful?

Functioning in Agile and DevOps environments need highly flexible, adaptable, and self-governing testing teams. To understand the performance level of such teams, a set of reliable QA testing metrics have to be set down that are mapped to the key business performance indicators. Some examples of such metrics are – test velocity, features accepted to go-live at the first time, customer satisfaction, etc.

For an enterprise already modeled in an agile environment, TCoE helps improve the quality of the end-product with fostered collaboration between testers and developers, and by laying down a consistent set of rules/regulations. With no single department or few select decision makers calling the shots, it ensures that an organization runs on the ideologies of its core staff and achieves the best possible results.

The below picture describes the upswing in setting up a TCoE, especially Agile TCoE:

Agile TCoE Usage Stats

On the other hand, some of the organizations are on the lookout for a co-managed TCoE model, instead of a complete outsourced service. Hence, the new mantra of success for the modern TCoEs is thus to be fully business aligned with more collaboration across the Agile SDLC, and co-managed if required. Also, with an ever-increasing adoption of cloud and virtualization, the TCoEs are embracing newer test service delivery models like Testing-as-a-Service (TaaS) on the Pay-As-You-Go model. There is an upswing observed in the move to establishing Agile TCoEs to deliver better customer value while building specialist test capabilities.

Cigniti’s Quality Engineering Services comprising Agile Testing & DevOps QA help build TCoEs customized for the business needs of our customers. If you need any help in setting up an agile and scalable TCoE, please contact us at contact@cigniti.com.