If you are still working in a waterfall methodology, you should know that the world is moving towards new methodologies… some famous concepts would be Agile, XP or Scrum and surely those words will sound familiar to you especially during the recent years.
Especially in the case of scrum, the first scrum team in which Jeff Sutherland participated took place in 1993, literally 20 years ago, and now it’s mature enough to be taken by big companies.
The big challenge here is that every time you’re doing SCRUM you’re splitting up your work into iterations and one of the conditions of SCRUM is that by the end of each iteration your code needs to have production-like quality and it needs to be ready to be put in production. This means that if you’re working on a project that requires 5 sprints for example, the second sprint needs to be built on top of the first one, the third on top of the second one and at any given time by the end of each sprint you should be ready to put your code into production.
How does this affect testing then? Well, as a matter of fact, you need to progressively reduce the Quality Checkers, converting them into Quality Assurance engineers. You need to start bringing more focus towards QA. The reason behind it is that you cannot check because you will be repeating these tests for every subsequent sprint, even for every change in the code base. You need to drive development towards having more quality, meaning, you need to shorten the checking time to provide the team with faster feedback. How can you ensure that?
Well, you need to continuously and repetitively execute functional tests over and over that validate that you have a certain functionality developed and that it works. To get to that extent you need to progressively consider the QC engineers that you have and convert them into QA engineers. You need to have engineers gain knowledge on Automation methodologies and allow them to learn about ways to test a functionality without having to manually check that functionality. In other words, they need to be able to automate the tests they’re currently doing. Hence, they’ll have the chance to provide much more value to the software delivery life cycle (SDLC).
How are you ensuring that in your company?