Volume 8 Number 2 • March/April 2007 Feature Article
Creating and Maintaining a Testing Centre of Excellence
Envisioning Excellence
Many wish for excellence, but few work for it as they are not prepared to make the necessary sacrifices.
We all from time-to-time notice leaders, business persons, celebrities, or athletes who have attained excellence. The common theme in examining their achievements is that a strong vision, a long journey, hard work, a few intermediate setbacks, and many successes were necessary to bring them to this point.
Having a centre of excellence is even more challenging than finding an individual who obtains excellence, as in a centre of excellence, a team of individuals is involved. Add teamwork, cooperation, leadership, balancing of roles, tools, budget, environment, and management support to a well-oiled team of motivated and capable individuals and you will get a centre of excellence.
Why use a team instead of a high performance coach, mentor, or consultant? Deciding to create a centre of excellence is no small decision. A centre of excellence must have sustainability, bandwidth, and consistency of service implementation. Each of these critical aspects is best supported by a team. Having a single person who takes leave, or has not got the range of skills or capacity to facilitate change programs, design improved processes, do research, monitor progress, or run meetings with key stakeholders is setting your centre of excellence up for failure. Unless you have long-term, clear goals for such a centre, and are determined to achieve these, and have the necessary resources, do not start a centre of excellence!
A Testing Centre of Excellence
A testing centre of excellence must exist independently of projects. Projects are temporal and therefore would not be able to fully support or monitor a centre of testing excellence over time. The centre of testing excellence is an important support function to IT and business stakeholders and so should support these entities while being held accountable. Because system testing is necessarily independent, it acts as an ideal intermediary between the business and IT (whether or not company personnel provide the IT).
A testing centre of excellence will operate best in companies that are mature enough to accept the challenges of attaining excellence.
For a testing centre to survive and flourish, the following environmental elements must be present:
- willingness to measure,
- change, and
- continuously improve,
- coupled with teamwork and
- respect for people.
Why a testing centre of excellence and not a software centre of excellence?
In short, a software centre of excellence might be better if it is yet to be formed. If it already exists, it may be difficult to add testing as a discipline after-the-fact. The ideal is a business centre of excellence, where software and testing excellence are mere subsets in the achievement of integrated and supported business excellence.
For companies with many years of IT tradition, the benefits of modern testing practice may be absent, and some companies have discovered that a good testing centre of excellence can be the glue or the central hub to improve current development practices and to unify groups that traditionally have operated in silos.
Example stakeholders include the following easy-to-recognise groups:
- projects;
- project managers;
- clients;
- business;
- developers;
- training;
- human resources;
- facilities;
- management;
- legal;
- operations;
- product teams;
- system analysts;
- testers;
- development directors;
- database administrators,
- quality assurance;
- configuration management,
- and other specialist groups.
Testing is a common theme that intersects with all these groups. A testing centre of excellence can facilitate good relationships between testers and stakeholders. Table 1 indicates the typical areas where testers and the relevant stakeholders must regularly interact.
Stakeholder |
Stakeholder’s Requirement of Testing |
Testing’s Requirements of the Stakeholder |
Other Projects |
- Integrate systems across projects.
- Scheduled test laboratory time.
- Project schedules, interfaces and support.
- Attendance at reviews.
|
- Project stakeholder access across projects.
- Project schedules, interfaces, and support.
- Attendance at reviews.
- Scheduled test laboratory time.
- Test condition suggestions.
|
Project Managers |
- Work within corporate test policy and test strategy guidelines
- Test plans, specifications, procedures, test logs reports, and incident reports for approval.
- Test budget and schedule status information.
- System and development phase product quality metrics.
- Supply test training.
|
- Project management plans.
- Test budget approval.
- Test schedule approval.
- Test risk mitigation and prioritisation, involvement and approval.
- Test support.
- Review of test documentation.
- See to the implementation of the test recommendations across all project stakeholder groups.
- Ensure project team coordination and cooperation.
- Test condition suggestions.
|
Clients |
- Assistance with User Acceptance Testing (UAT).
- Supply test training.
- System confidence through testing.
- Application test status.
- Prototype testing feedback.
- Critical incident feedback.
- Attendance at reviews.
|
- Test prioritisation.
- Domain knowledge and training.
- Attendance at reviews.
- Incident prioritisation.
- Test budget approvals.
- Test plan approvals.
- Test condition suggestions.
|
Business |
- Assistance with User Acceptance Testing (UAT).
- Supply test training.
- System confidence through testing.
- Application test status.
- Prototype testing feedback.
- Test status.
- Incident feedback.
- Attendance at reviews.
|
- Test prioritisation.
- Domain knowledge and training.
- Attendance at reviews.
- Incident prioritisation.
- Test budget approvals.
- Test plan approvals.
- Give input to and approve testing policies and strategies.
- Test condition suggestions.
|
Development Directors |
- Phase product quality trends.
- Test progress.
- Test productivity.
- Go live information and recommendations.
- Test policy and strategy inputs.
- System integration plans.
- Test laboratory and environment requirements.
- Test budget requirements.
|
- Review system integration test plans.
- Review test plans.
- Action recommendations for testing phases.
- Give input to and approve testing policies and strategies.
- Management support.
- Budget and decision support.
- Test condition suggestions.
|
Developers |
- Clear reporting of defects.
- Supply test training.
- Defect analysis recommendations.
- Component integration support.
- Attendance at reviews.
- Prototype feedback.
|
- Swift defect repair.
- Attendance at reviews.
- Thorough testing at development levels (component and component integration levels).
- Detailed domain and technical knowledge.
- Defect analysis.
- Design and coding support.
- Attendance at reviews.
- Test condition suggestions.
|
Training |
- Test procedure documents to assist with user manual construction.
- User manual reviews and testing.
- Help file construction.
- Help file, user manual, and context sensitive help incident reports.
- Preparation and delivery support of test training material.
|
- Training plans for testing staff.
- Domain knowledge support.
- Test condition suggestions.
|
Human Resources |
- Line management involvement in recruitment.
- Assistance with specifying job descriptions.
- Career path definition.
- Technical and other skill requirements.
- Technical assessment of candidates.
- Key performance assessment feedback.
- Test training plan recommendations.
- Staff grading and salary band inputs.
|
- Soft skill assessment of candidates.
- Pre-selection of candidates.
- Assistance with HR needs of testers.
- Input to retention strategy of testers.
- Administer training needs of testers.
- Exit interview analysis of testers.
|
Facilities |
- Provide test laboratory specification.
- Provide testing support specification.
- Provide testing facilities budgets inputs.
|
- Facilities support.
- Test laboratory provision.
|
Management |
- Test status reports.
- Test recommendations.
- Product and product phase quality assessments.
- Key testing metrics.
|
- Management support.
- Test policy and strategy inputs and support.
- Budgets.
|
Legal |
- Provide product risks.
- Provide product risk mitigation.
- Provide labour risks.
- Provide labour risk mitigation.
|
- Existing and upcoming regulations and their legal implications.
- Legal advice for contracts, warranties, and labour issues.
|
Operations |
- Reliable production software.
- Operational user view of applications.
- Notification of environmental and other special application needs.
- Sufficient quality attributes testing (security, performance, usability, maintainability, portability, etc.)
- Assistance with data migrations.
|
- Operational behaviour feedback.
- Test plan reviews.
- Test condition suggestions.
- Quality attribute inputs.
|
Product Teams |
- Quality attributes testing results.
- Product incident reports.
- Improvement suggestions.
- Product prototype testing support.
- Attendance at reviews.
|
- Product knowledge.
- Product change notifications.
- Test design support.
- Attendance at reviews.
- Test condition suggestions.
|
Systems Analysts |
- Attendance at reviews.
- Prototype feedback.
|
- Attendance at reviews.
- Test condition suggestions.
|
Database Administrators |
- Attendance at reviews.
- Prototype feedback.
- Database incidents.
- Data migration support.
- Data integrity support.
|
- Attendance at reviews.
- Test data support.
- Test environment support.
- Test condition suggestions.
- Database support (e.g. repair, configure, replicate).
|
Quality Assurance |
- Phase product quality status.
- Development process improvement support.
- Test process improvement support.
- Incident analysis.
- Attendance at reviews.
|
- Test process improvement support.
- Development process improvement support.
- Attendance at reviews.
- Attendance at tests.
|
Configuration Management |
- Supply testing configuration items.
- Product quality assessments.
- Incident reporting.
- Incident analysis.
|
- Configuration management of the testing laboratory.
- General configuration management and control of:
- Documents
- Hardware
- Software
- Environment
- Supply test item transmittal reports (on build release)
- Supply of build change information.
|
Other Specialist Groups |
- Testing support.
- Test training.
- Attendance at reviews.
|
- Specialist knowledge support.
- Specialist knowledge training.
- Attendance at reviews.
- Test condition suggestions.
|
Table 1: Testing and Stakeholders’ Requirements for Each Stakeholder Type
Stakeholder Grasp of Testing
Project managers, for example, must operate within company testing policies and strategies on their individual projects. They must review: test plans, test design specifications, test case specifications, test procedures, test logs, test defect logs, test reports, and test summary reports for each level of testing and each testing specialty. They must ensure each group has sufficient support and resources to carry out the required testing project tasks. From the test documentation and other communications, they must make decisions based on development quality as measured by testing and all-round progress of each team or individual. They must take management actions with respect to the results of testing, based on prioritised risk mitigation and project constraints. From this high-level overview of their testing responsibilities to the project it is clear that project managers require a good understanding of software testing as a discipline for good decision-making.
Developers, system analysts and business analysts ought to spend 20 to 30% of their day-to-day activities on testing; this is a minimum of 1.5 hours a day on average.
A Testing Centre of Excellence Requires a Good Plan, and the Execution Thereof
A testing centre of excellence can add significant value to mid-sized to large corporations. This value comes from the alignment and concentrated focus and support of testing activities across all relevant parts of the organisation. It makes sense to have a testing centre of excellence to work on and not in testing to develop the testing practice. Benefits accrue to testing, but also more surprisingly, larger benefits accrue to development efforts where rework and associated costs can be significantly reduced.
Below follows the 50 000-foot view of a plan for a testing centre of excellence.
A Plan for a Testing Centre of Excellence
Scope
- Budget, schedule, and organisation of a testing centre of excellence
- Roles and responsibilities of testing centre of excellence staff
- Communication channels between the testing centre of excellence and the organisation
- Milestones and deliverables of a testing centre of excellence
- Recruiting and developing testing staff
Establish the Need for a Testing Centre of Excellence
Establish:
- Basis and need for scientific approach to testing by training and workshops
- A business case for a testing centre of excellence
- And maintain a corporate testing vision
Establish Testing Goals and Support within the Organisation
Establish and maintain:
- Inter-departmental testing communication and reporting
- Testing policy
- Testing budgets
- Comprehensive stakeholder training plan in testing skills
- Testing strategy
- Testing standards
- Testing templates
- Testing mandates
- Testing processes for the projects, including:
- Test planning monitoring and control
- Test case design
- Test case specification
- Test procedure and script development
- Test execution and recording
- Test reporting
- Test closure activities
- Aggregate reports for reporting by the testing centre of excellence
Recruitment of Company Testing Staff
The testing contingent of a company is key to the eventual testing, and therefore IT and business success within that company. The testing centre of excellence must therefore strongly influence the human capital planning around software testers and stakeholders with key testing roles.
Targeting process
- Where and which staff to acquire
Selection process
- Evaluation
- Team role determination
- Engagement process
- Individual strengths determination
- Deployment and retention process
- Testing career plan
- Training
- Skills development plan
- Domain, testing, technology, and process skills
- Certifications, on the job continuous evaluations
- Mentored support and coaching
- Salary banding
- Job shadowing
- Job rotation
- Measured performance and performance appraisals
Termination process
Maintain and support context-dependant testing needs through the organisation
- Continued support of business-justified testing improvement initiatives and campaigns
Conclusion
A Testing Centre of Excellence is a necessity in larger organisations with multiple divisions and hundreds of projects.
To be effective it should have a long-term budget and mandate, and must demonstrate measured achievement of outcomes reviewed at board level.
Used correctly it can deliver strategic cost savings, time-to-market advantages, innovation, and continuously improved quality as it captures and spreads learning within the organisation.
Wayne Mallinson
info@testfocus.co.za
Reproduction & Copyright
The reproduction, adaptation or broadcast, without permission, of any articles
or photographs published in this
publication, is forbidden and copyright
is expressly reserved for Test and Data Services (Pty) Ltd.
Opinions
Opinions expressed by contributors are their own and do not necessarily express the opinions of the Publisher, Editor or members of the Editorial Panel.