@agileconn hard question as for quality yes and as agile commands software that CAN be released after each sprint then yes some is needed in order to have shippable code at the end of the sprint. from a personal approach i incorporate the regression testing in a context driven manor and test what seems relevant given the situation in sprint and then prior to release i conduct a more robust regression suite that gives a more generic approach and therefore helps assure quality is not lost in "untouched" areas of the system.
Again the answer is not as black and white as do it don’t do it as in my situation i using a very large legacy system with high dependency’s and low automation checks and so for me it is vital, for a brand new web page with a jpeg and a line of text the regression is not so relevant
It is as with any other methodology. When you create a shippable product, you need to do regression testing. If you are shipping your code with each iteration, you should do regression testing. that said, the agile cycle being short in duration, it may be difficult to accomplish thorough regression testing if done manually.
The best option would be to create an automation test suite for regression which is run as soon as you check in your code into the higher environment. If run every time, you catch your bugs early :). Thats what we mean by Continuous integration - continually integrate your new code with the old by checking in, running automates tests to ensure nothing breaks.
It's not mandatory, but it's advisable to automate all of your regression tests. Then, there is minimal effort in executing these tests for each iteration. In fact, you can then run them every day or even every build if you wish - without much manual effort!
AgileConnection is a TechWell community.
Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.