To get to a high quality Software Product we need a Test plan (check also the posting on Quality Management from November 27, 2009). The test plan needs to cover at least
- Test Cases for all the functionality (Use Cases) that was developed
- Unit, Functional, Regression, Performance, Failover and Usability Testing. For some of these tests you probably use tools like LoadRunner from Hewlett-Packard to simplify the testing
- Assign Test Cases to Testers
- Inform Testers how to report issues?
- Inform Testers how Software Developers follow up on reported issues and provide a status of the fix to the Testers
- Assign Test Cases to Testers
The critical question is how big is the Test Plan. Do you have 50 Test Cases or 5000 or 50000. The more test cases you have the trickier it will be to ensure the desired quality. In addition to the number of test cases it is important to consider that a fix for test case 1 might break something for test case 2. Therefore we can conclude that it is desirable to have fewer test cases.
Example:
Software Developer 1: develops code to extract data from SAP into an Excel File
Software Developer 2: develops code that sends the file from Developer 1 to another IT system
If Developer 2 writes extensive code but finds out later that Developer 1 extracted incorrect Data then his work was not used efficiently since the code needs to be changed again.
Hence the next conclusion is that the earlier you find an issue the less impact it will have on your next development steps since it can be corrected earlier. Check this link for more info (start with slide 5)
What Project Management Methodology do you use and what does the above mean for your Software Quality approach?
Traditional Project Management:
Disadvantages
- The Test Plan can be very large (e.g. several thousand test cases) since it needs to ensure that the existing functionality as well as the new functionality is working as expected. The sheer size of the test plan is usually a challenge for the Test Teams.
- Problems are found late in the process (when the development is done). To do code changes now becomes expensive.
Advantages
- If the Quality Assurance Team Members are included in the Software Development Team from the start they will find issues earlier.
- The test plan is smaller since it contains only test cases that can be released within a sprint (e.g. 30 days).
To check the conclusion above use Agile on one your Software Development Projects and compare your Post-Go Live Issues to traditional projects. Nothing speaks louder than a KPI.