Testing for quality assurance in a changing environment

As software development has evolved into the agile model, testing for quality assurance has adapted to the challenge. Where once the waterfall model put everything in its place, including quality assurance, QA has become integrated into the development process along with other forms of testing.
Quality Assurance is changing in a number of ways. Where once it was an activity that took place primarily at the end of the development cycle, it is now an integral part of the cycle and increasingly takes place throughout development as modules come on line for testing.
Testing has become more and more integrated and the line between different types of testing have started to blur. Quality Assurance now folds into areas of functional testing, that QA was once considered separate from. In fact, Quality Assurance is no longer so much a type of testing, but the process of assuring quality throughout the development cycle, using whatever testing methods are appropriate.
And, Quality Assurance is in the process of becoming a stand alone entity, not siloed or a seperate department so much as a designated quality assurance team that overlays both development and testing. This change is increasingly visible as subject matter experts are increasingly brought in as part of the complete development/testing cycle, rather than only in the user acceptance phase.
QA is now included very early in the development process, even in early planning sessions. Planning for Quality Assurance right from the start makes assuring quality easier throughout the development cycle. This is because quality does not have to be imposed as an afterthought but is part of the entire process, from concept to final delivery.