ISTQB Advanced Level Syllabi

10. People Skills – Team Composition

Terms
Independence of testing.

10.1 Introduction
All testing professionals should be aware of the individual skills required to perform their specific tasks well. This section focuses initially on those individual skills and then continues with a number of issues specific to Test Managers, such as team dynamics, organization, motivation and communication.

10.2 Individual Skills

An individual's capability to test software can be obtained through experience or training in different work areas. Each of the following can contribute to the tester's knowledge base:

The users of software systems know the user side of the system well and have a good knowledge of how the system is operated, where failures would have the greatest impact, and what should be the expected reaction of the system. Users with domain expertise know which areas are of most importance to the business and how those areas affect the ability of the business to meet its requirements. This knowledge can be used to help prioritize the testing activities, create realistic test data and test cases, and verify or supply use cases.

Knowledge of the software development process (requirements analysis, design and coding) gives insight into how errors can be introduced, where they can be detected and how to prevent their introduction. Experience in technical support provides knowledge of the user experience, expectations and usability requirements. Software development experience is important for the use of the high end test automation tools that require programming and design expertise.

Specific software testing skills include the ability to analyze a specification, participate in risk analysis, design test cases, and the diligence for running tests and recording the results.

Specifically for Test Managers having knowledge, skills and experience in project management is important since test management is like running a project, e.g. making a plan, tracking progress and reporting to stakeholders.

Interpersonal skills, such as giving and receiving criticism, influencing, and negotiating are all important in the role of testing. A technically competent tester is likely to fail in the role unless they possess and employ the necessary interpersonal skills. In addition to working effectively with others, the successful test professional must also be well-organized, attentive to detail and possess strong written and verbal communication skills.

10.3 Test Team Dynamics

Staff selection is one of the most important functions of a management role in the organization. There are many items to consider in addition to the specific individual skills required for the job. When selecting an individual to join the team, the dynamics of the team must be considered. Will this person complement the skills and personality types that already exist within the test team? It is important to consider the advantages of having a variety of personality types on the testing team as well as a mix of technical skills. A strong test team is able to deal with multiple projects of varying complexity while also successfully handling the interpersonal interactions with the other project team members.

New team members must be quickly assimilated into the team and provided with adequate supervision. Each person should be given a defined role on the team. This can be based on an individual assessment process. The goal is to make each individual successful as an individual while building on the individual's innate skills as well as increasing their skill portfolio.

An important point to remember is that the perfect individual will rarely be available, but a strong team can be built by balancing the strengths and weaknesses of the individuals. Cross-training within the team is required to maintain and build the team knowledge and increase flexibility.complement the skills and personality types that already exist within the test team? It is important to consider the advantages of having a variety of personality types on the testing team as well as a mix of technical skills. A strong test team is able to deal with multiple projects of varying complexity while also successfully handling the interpersonal interactions with the other project team members.

10.4 Fitting Testing Within an Organization

Organizations vary widely in how testing fits into the organizational structure. While quality is everyone's responsibility throughout the software development lifecycle, an independent test team can contribute largely to a quality product. Independence of the testing function varies widely in practice, as seen from the following list, ordered from least to most independence:

There are varying degrees of independence between the development and test organizations. It is important to understand that there may be a tradeoff where more independence results in more isolation and less knowledge transfer. A lower level of independence may increase knowledge, but can also introduce conflicting goals. The level of independence will also be determined by the software development model being used, e.g. within agile development the testers are most often part of the development team.

Any of the above options can be mixed in an organization. There may be testing done within the development organization as well as by an independent testing organization and there may be final certification by an external organization. It is important to understand the responsibilities and expectations for each phase of testing and to set those requirements to maximize the quality of the finished product while staying within schedule and budget constraints.

Outsourcing is one of the forms of using an external organization. The outsource group can be another company that provides testing services which may reside at your location, external to your location but within your country or in another country (sometimes referred to as off-shore). Outsourcing brings challenges, particularly when external to your country. Some of the items to be considered include the following:

10.5 Motivation

There are many ways to motivate an individual in a testing position. These include:

There are project influences that can make these motivational tools difficult to apply. For example, a tester can work very hard on a project that has an impossible deadline. The tester can do everything in his/her power to drive the quality focus of the team, put in extra hours and effort, and yet the product may ship before it should, due to external influences. The result may be a poor quality product despite the best efforts of the tester. This can easily be a demotivator if the tester's contribution is not understood and measured, regardless of whether the end product is successful.

The test team must ensure that it is tracking the appropriate metrics to prove that a good job was done to accomplish the testing, mitigate risks and accurately record the results. Unless this data is gathered and published, it is easy for a team to become demotivated when they don't receive the recognition they feel is due for a job well-done.

Recognition is not just determined in the intangibles of respect and approval, it is also apparent in promotional opportunities, salary scale and career paths. If the test group is not respected, these opportunities may not be available.

Recognition and respect are acquired when it is clear that the tester contributes to the incremental value of the project. In an individual project this is most rapidly achieved by involving the tester at the conception of the project and keeping that involvement throughout the lifecycle. In the course of time the testers will win recognition and respect by their contribution to the positive development of the project, but this contribution should also be quantified in terms of cost of quality reductions and risk mitigation.

10.6 Communication

Test team communication primarily occurs on three levels:

All communication must be professional, objective and effective in order to build and maintain respect for the test team. Diplomacy and objectivity are required when providing feedback, particularly constructive feedback, on the work products of others.

All communication should be focused on achieving test objectives and on improving quality both in products and the processes used to produce the software systems. Testers communicate with a wide audience, including users, project team members, management, external test groups and customers. Communication must be effective for the target audience. For example a defect trending report designed for the development team might be too detailed to be appropriate for an executive management briefing.