10 proven tips for building a testing center of excellence

As a quality assurance consultant, I have been called in many times to help companies build testing centers of excellence (TCoE) — or fix initiatives that turned into testing centers of mediocrity. The latter failed because they focused more on documentation than collaboration and on cost-cutting over improving quality and reducing risk. A well-executed, agile TCoE drives continuous improvement and increases QA team effectiveness, but a poorly implemented one will burden your organization with unnecessary bureaucracy, fail to enhance performance, and create tensions that can derail your testing efforts. So how can you avoid this fate?

After setting up TCoEs at T-Mobile, FICO, Inovis, and many other companies, I've developed ten key principles and tips that are essential to building a successful TCoE and can help you avoid unnecessary headaches.

Testing in the Agile Era: Top Tools and Processes

1. Attain a clear vision, direction, and buy-in

Communicating a vision, direction, and roadmap for improving quality across your organization is critical to the success of a TCoE. The commitment to quality must be supported at all levels of the organization, and it has to be in actions, not just words. If it is clear that a software release won’t be ready for production, your teams must have the courage to do what is right for the business and speak up. 

2. Establish a strong community of practice and training

Every company has its own unique culture, organization, and technology, and it is up to your organization and its advisors to develop a community of practice that is right to meet your needs. Many of the best processes and tool improvement ideas come from the QA team. Training doesn’t have to be costly. Often “lunch-and-learn” sessions and team-led trainings deliver the best results.   

3. Maintain an independent voice for quality

QA leaders need to be an independent voice for quality within the larger IT organization and should be able to honestly deliver bad news without being handicapped by a conflict of interest, even when testers are integrated with agile teams.   

4. Understand risk-reward trade-offs

Empowered QA organizations should have a seat at the table during discussions regarding business and technical risk-reward trade-offs. Promising zero defects and quality without compromise is often unrealistic in fast-paced, competitive environments.

5. Shift left to focus on defect prevention and early detection

Early involvement of QA in the software development life cycle is a proven way to consistently save your company money in the long run. Defects caught in the writing of user stories and acceptance tests can be hundreds of times less expensive then defects discovered in production. In agile environments, QA and testing need to be part of the team every step of the way. Architect Frank Lloyd Wright once said, “You can fix it now on the drafting board with an eraser, or you can fix it later on the construction site with a sledgehammer.” Which do you think is more efficient?

6. Focus on the customer experience

Most teams do a good job of functional testing in specific areas, such as web or retail application testing. Customer-experience defects are often found where systems integrate. Therefore, it is important to have testing efforts dedicated to validating end-to-end business processes.

7. Operationalize and automate repeatable tasks

At many companies, testing processes are manual and inefficient. It is important to operationalize and automate important, repeatable tasks to optimize your efforts. Automation is not just about regression testing and should be used for other tasks, such as test data creation, test lab management tasks, and reporting. Some companies are focusing their center-of-excellence efforts on leveraging specialized automation and performance testing talent across business units to maximize reusability of automated test assets. 

8. Simplify processes, tools, and methods

There are clear financial and efficiency benefits to standardizing and simplifying testing processes, tools, and methods. Standardizing allows leaders to manage by facts instead of emotions or opinions, enabling informed decision-making. Having the facts available with a quality dashboard will assist line-of-business owners and executive management in decision-making and reinforce the value of the QA team to developers and the rest of the organization.

9. Promote continuous improvement

Continuously look for ways to improve the testing and QA process through lessons learned or root-cause analysis. Historical trends, such as release-over-release data, are invaluable in developing estimation tools and release readiness predictive models.

10. Build a committed, high-performing QA team

QA teams are often a blend of employees, contractors, and outside partners. Companies need to make sure that all stakeholders involved in application quality are fully committed and high performing and have the right attitude for success. It amazes me how much just one person with a bad attitude can pull down a team. On the other hand, highly skilled, motivated professionals who deliver results can lift up the people around them.

In a recent discussion, Sachin Mulik, a vice president at Amdocs Testing, said to me, “TCoE is the most overused term in the testing industry.” What he meant was that there was no such thing as a single prescriptive formula for centralizing quality. So even if the term TCoE is not your style, and the concept of centralizing quality doesn’t appeal to you, you can still use many of the same practices to improve quality without using the term.

Those are my best practices, but I would love to hear yours. How are you improving testing in the digital age? I look forward to reading your comments and suggestions.

Testing in the Agile Era: Top Tools and Processes
Topics: Dev & Test