In an agile context, the QA role might include both testing and software development. To produce the software and complete the task in accordance with the client's brief, programmers and QA are expected to actively participate. During the development cycle, QA aids in the proactive addressing of problems and potential defects in an application.