Agile development processes grow in popularity both within companies and also within successful open source projects. Agile places a priority on customer feedback and better accommodates the manner in which engineers naturally work. But what about quality assurance in an agile world? A few edicts of agile development have a large impact on the way quality assurance operates:

1. Agile requires quicker and smaller increment releases that steers away from the long QA cycles required at the end of a waterfall process.
2. Agile requires instant feedback to the development team about the most recent enhancements or fixes. Development should not move to other tasks until the quality of the previous task is assured.
3. Agile emphasizes customer feedback. Customers should play a large role in the quality process and should see the product at least once per iteration.

The quicker and smaller incremental releases and the need for instant feedback to the development team will present the largest challenge to a traditional QA team. A traditional QA team would demand full-regression testing every time functionality is changed that could impact the system. The agile process usually cannot afford a week of testing for every iteration. Developers need instant feedback, and should not continue on new tasks until testing is complete. For all but trivial software application this quick testing feedback cycle can only be accomplished with automated testing.

For detail, please contact Harry hlei@webdemo.saksoft.com