The goal of any Quality Assurance department is to have a positive influence on their IT organization with respect to process improvement, ROI and stability. To accomplish this we have to concentrate on more than just testing the product. We have to test the entire software development life cycle, not just the product. Here are some activities we often see in testing departments.
1. Read some requirements
2. Create some test cases
3. Complain that the requirements are not testable
4. Write some design steps (not all)
5. Complain about short testing timelines
6. Execute the test from the requirements
7. Complain the amount of defects
8. Create a report or an email with some Pass / Fail metrics
This process will not create an influential QA department. This just makes QA departments the Monday Morning sport commentators. This QA team sits back, looks at some information before the game, waits for the action to happen and then points out what the loosing team did wrong.
To complete the metaphor, this QA team reads requirements instead of participating in their development. This team waits for design and development to occur instead of reviewing and scoping unit testing. Moreover, this team reports the metrics at the end of the project but does nothing with them to improve the software process.
Let’s counter this example. Let’s turn our Monday morning commentator into an assistant coach; someone that is very much in the game.
Here’s a list of what an assistant coach would do for a football game:
- Reviews past play and team vulnerabilities
- Review opponents and identify strengths and weaknesses
- Help create a game plan for a win
- Help develop practice plans
- Monitors practice and provides feedback to the coaching staff
- If needed, makes adjustments to practice and game plan
- Helps implement game plan during actual game
- Helps make adjustments during play by providing coaches with information on game play
- Win or lose watches tape of play to identify weaknesses
- Creates plan of attack for next game.
Now let’s put our QA Manager in the game:
- Reviews the scope of the project and it’s cost drivers
- Reviews SDLC and identify SDLC
- Help create test strategies and test plans to mitigate project and product risks
- Help develop requirements through static testing
- Monitor requirement creation for testability and scope creep
- If needed, work with project team members to adjust testing scope
- Help implement test strategy during test execution
- Help project team and QA team make project adjustments by providing timely execution metrics
- Successful project or failed project review metrics and identify areas of process improvement
- Change / Update product test strategies for next project.
Monday morning commentators do very little to change the way teams play. If they are changing the play of your team, you might be getting a new coaching staff at the end of the year.