The mind-map I'm posting, has been created by looking back on different projects and consulting different colleagues, including my wife, the best Business Analyst I've ever seen. It is most probably not complete. But I think it is ready to start sharing it.
The idea behind this mind-map is to focus on key aspects required to deliver a qualitative software product of considerable size and how testers can contribute to obtain a higher level of quality of the product to be delivered.
If a tester wants to contribute to quality, they can do more than testing a product when it is delivered. Testers have many other duties during software development. They know the product and project in- and outputs and are aware of their risks. They understand the changing business needs and their explicit and implicit requirements. They challenge the architecture and analysis, coach developers and acceptants to check their delivered product effectively on standards. They facilitate in environment and data preparation. A tester understands and contributes to the release and deployment mechanisms.
Planning & ControlIt is the testers job to:
- Take part in the project planning and approach; challenge the planning
- Look into the processes and challenge them in function of quality delivery
- Find dependencies and flag them up to project/programme management
- Understand the test requirements and build a log of them
- Advise on test tool selection in function of the budget, timeline, experience and test requirements.
DesignIt is the testers job to:
- Understand the product needs and rationale behind the project
- Test the designs and architectural models and point to their weaknesses
- Find and report flaws in communication patterns and stakeholder involvement
- Coach acceptants in the definition of E2E prototyping test cases; lead them and help them in the E2E test preparation.
DeliveryIt is the testers job to:
- Test, test, test, and automate tests
- Coach developers in checking against standards
- Contribute to and cooperate closely with deployment and release management
- Coordinate proper and clean bug reporting and the bug life cycle
- Provide and manage the required test infrastructure.
AcceptanceIt is the testers job to:
- Coach the acceptants in their verification and testing process
- Analyze and report test results in simple and understandable language
- Provide release advise
- Coordinate E2E test execution.