Software Quality Assurance was started by William Edwards Deming – the godfather of Quality Assurance as we know it today. Deming’s PDSA cycle (Plan, Do, Study, Act) is a simple yet very effective method of ensuring the continuous quality improvement. Deming promoted that improving the quality must be a non-stop and on-going operation that starts the very beginning of the conceptual design and doesn’t end by the final delivery.
Deming stated that this can be done by following his PDSA principles (Plan, Do, Study and Act). the process is initiated with the planning section (Plan), the the executing section (Do), then the Monitoring and Controlling section (Study/Check and Act).
In this post, I will reflect how each of the four quality dimensions goes along with Agile in software development projects to achieve the Software Quality Assurance.
Agile and the Four Quality Dimensions
1- Specification Quality:
In Agile, Product Backlog is the list that defines the set of features that shapes the system functionality. It consists of a set of User Stories, each represent a very specific business need. In order to make sure that specifications (User Stories) are gathered correctly, we try to sit with every potential system user at the client end, starting from the stakeholders to the data entry employees. During this phase, Acceptance Criteria are attached with each User Story and are confirmed by the product owner.
2- Design Quality:
While creating User Stories, a conceptual design should be blueprinted for each entry. To ensure the quality of these blueprints, stand-up meetings are held between system developers, designers and business analysts to enrich the design by collaboration between team members.
Stand-up meeting is a cornerstone of the Agile methodology culture and is proven to boost the progress and keep the team on the right track. According to Martin Fowler ‘These patterns of daily stand-up meetings can help less experienced practitioners as well as remind more experienced practitioners of the reasons behind their intuition.’ (Martin Fowler, 2016)
3- Development Quality:
If there is one part that is really special about Agile, it is the development sprints. ScrumMethodology.com explains how the project cycles in Agile as ‘work is confined to a regular, repeatable work cycle, known as a sprint or iteration’.
Before starting every sprint, a meeting is held with the product owner in order to decide which User Stories – user requirements – are to be implemented or re-prioritized. This means that the client will always see what they are interested in first, and give the Agile team the ability to test the deliverables against its associated User Acceptance Criteria.
4- Conformance Quality:
During the project sprints, the Product Owner – the client – can came up with a change request or detect a User Story that is not implemented correctly i.e. have faults or not tested properly with Acceptance Criteria. In that case, the detected fault is placed as a new entry in the Product Backlog to be processed.
Quality Assurance and Agile: Conclusion
PDSA goes along with Agile methodology both efficiently and effectively since both concepts are based on the iterative principle. Applying PDSA with Agile assures an integrated Software Quality Assurance acorss all stages of project implementation.