Tuesday, April 20, 2010

How to set up a new testing department?

Many companies choose to set up a testing department instead of (or in addition to) allocating testers permanently to projects. The rationale to do so include:

A. Availability of a more comprehensive skill set
You may have access to a larger skill set (e.g. manual as well as automated testing, functional as well as performance testing and knowledge of a number of different business domains) if you have multiple members in your department.

B. Better management of the testers' time
Testers are commonly under-utilized when the code is being written and are very busy when the application is under test. Pooling testers together provides an opportunity to level their task assignments better.

C. More learning opportunities for testers
The testers in a testing department may get chances to work on multiple projects. This provides them opportunities to enhance their existing skills as well as develop new ones.

The membership of the test department may vary from just one member to several hundred members. A large testing department may be called a testing organization, a testing practice or a testing center of excellence in the company.

If you are a manager tasked with setting up a new testing department, here are the things that you should consider for your plan:

1. Objectives of your test department
You should be very particular about eliciting and understanding the objectives of your testing department. Everything else should map with these objectives. You should know the scope of activities that the testing department would perform. Examples of objectives could be:
    a. Support pre-sales activities for new clients from a testing perspective
    b. Provide testing for the flagship product(s) of the company
    c. Provide testing on company projects
    d. Deliver testing projects
    e. Undertake research on testing topics

2. Team members required
You should estimate the team size (number of full time/ part time team members) required depending on the size of expected work as per the objectives of your department. You should also list the skills (technical, business and soft skills), experience and/ or testing certifications that should be available with the team members.

3. Tools required
In order to work effectively, your department may need tools. Such tools may include test management tools, automated testing tools (e.g. functional testing tools and performance testing tools) and project management tools. You may not want to purchase any tool licenses ahead of time. However, you may want to evaluate several tools of each type so that you may quickly make a decision to buy license(s) later.

4. Test processes required
In order to enable your team to work consistently and quickly, you would need a number of core testing processes. Examples of the testing processes include:
    a. Test effort and duration estimation
    b. Test methodologies for various types of testing
    c. Test automation process
    d. Defect management process

5. Internal processes required
In addition to the core testing processes, your department would require internal processes for supporting the team members. Examples of these processes include:
    a. Planning, scheduling and tracking the testers time
    b. Induction of new team members
    c. Career development and appraisal process
    d. Training
    e. Team building

6. Infrastructure required
Depending on the objectives of your department, you may need to procure and establish the required infrastructure (hardware including special devices, software including tools and frameworks and network including devices and bandwidth). You would create, modify or optimize the required test labs from this infrastructure available to you.

Once you have planned your testing department, you should go about obtaining or creating the necessary assets. However, you should keep the following tips in mind while doing so:
I. The objectives of your department may change after it is established. This usually happens when your department shows promising results with some work. Therefore, you should analyze your department in light of the new objectives and re-plan accordingly.
II. It takes vastly different durations of time to obtain different types of assets. For example, you may purchase a tool license in a day but you may need to wait a month to recruit a new team member or get a new server and you may take 6 months to develop your own estimation process. Keep this in mind.
III. A testing department commonly has numerous assets. Therefore, you should plan long-term with the goal of utilizing each asset to a reasonable extent.

Now, you should know that setting up a new test department requires establishing its objectives, obtaining the team members, tools and infrastructure and creating or reusing core testing processes and internal processes. I hope that your test department is able to fulfill its objectives and more.