Why did Agile Methodologies appear?
In the past no development plan was used and the architectures were decisive for decision making, being useful for small systems.
Traditional methodologies (for example Waterfall) are plan-driven and require a lot of effort at the beginning of the project in order to define requirements and architecture correctly. As you can see, these processes can be frustrating and not very open to change.
As systems grew by incorporating new features and adding solutions to possible bugs, it was necessary to incorporate new, more flexible Methodologies.
What are the main characteristics of Agile Methodologies?
- Interactions about processes and tools.
- Work on complete documentation.
- Collaboration with the client through negotiation of the contract.
- Flexibility in response to changes, with the follow-up of a plan.
Greater integration with the customer, programmers, analysts, and quality control engineers (QA) is achieved to work towards a common goal.
QA in Agile Methodologies?
With traditional methodologies, QA engineers were left out of the project until the product was about to be released, QA activities were understood as a “one-time” action at the end of the project, and this,
Obviously generates great risks and uncertainty about the quality of the product.
In traditional methodologies, black box testing was prioritized over the user interface, and each test case and test plan had to be so documented.
The introduction of the Agile Methodologies, benefited the role of quality control, as it became more relevant. They have to be proactive from the start of a project by developing appropriate measures to ensure the quality of the product.
In general, the quality control function in Agile Methodologies should:
- Help business analysts define criteria for the test plan and its acceptance, to know if they are satisfying the requirements of the client.
- Integrate with the development team, to evaluate the adoption of code standards and the improvement of the code base through refactoring.
- Provide developers with high-level test cases and test scenarios prior to coding.
- Respond to changes in off after a plan.
- Ensure black box testing, through the user interface.
- Increase the automated testing, so the equipment speed will increase.
- Introduce quality control at each iteration.