Quality Assurance in Scrum Projects

Quality assurance is a well-defined set of processes and checkpoints designed to achieve and maintain a desired level of deliverables to produce a good or service. This Quality assurance is the part of quality management that ensures to leaders (both internal and external) and customers that quality requirements will be fulfilled. Quality assurance is defining how the process is performed, or the product created versus quality control that is the act of inspecting the process or product. 

Often, Quality assurance is assumed to be a part of the Agile scrum framework but, unlike quality control it is not a specific set of ceremonies or artifacts. Quality assurance techniques and processes are included within ceremonies and are the measure by which end user acceptance is achieved.

Quality Assurance: Delivery of Working Components

Agile emphasizes the delivery of workable components with each sprint. Each component must be able to stands on its own. Incremental additions to the product should also be validated to ensure that it is workable with prior sprint releases. Quality assurance in Agile is focused on getting the detail in the feature right the first time, understanding that the end user should not be burdened with finding defects. Quality software and products should leave the hands of the creators with the express intent of providing value to the end user and meeting the objectives of the business sponsor. Products that are not useable for the target audience cost more than the anticipated budget in lost value, lost productivity, and fixing defects.

Agile scrum projects should adhere to the principle of “continuous attention to technical excellence and good design enhances agility” by employing a quality-centric approach. Agile projects may employ quality assurance experts to execute the processes that validate feature readiness. It is important that all team members have a quality first attitude that begins with the definition of what is good quality for a project. Quality requirements are divided into the following components:

  • First: Quality factors
  • Second: Quality criteria and
  • Third: Quality metrics.

Quality Assurance: Quality Factors

Quality factors should be defined as much as is possible by the customer. The customer should define the top 10-15 top factors that are important for them when accessing if the product delivered is “done” or ready for prime-time. The top 3-5 should be critical for success in using the product. This is a good time to address any conflicts that could arise between factors. An example could be having access to data real-time as one factor while a competing factor would be that the application can only run on the user’s laptop. Without access to some type of intra, extra, or internet, it will be impossible to access real-time data outside the user’s laptop.

Quality Criteria

Quality factors should be translated into quality criteria. These criteria should map to functionality to be delivered as part of one or more product features. Criteria should also be defined for quality factors that are related to the process and are discussed with the Scrum Development Team during the Sprint Planning Meeting. One such criteria could be delivery of the product prior to a national sales meeting.

Quality Metrics

Quality requirements should not be vague in intent or expectation as these are the voice of the customer. Metrics are needed to evaluate the quality delivered in product features and processes. The collection methods, frequency and review should also be defined in this process.

The ceremonies where the effects of quality assurance requirements are most evident are during the sprint execution and sprint review. Testing that is the responsibility of all team members, is focused and measured during these two ceremonies.

During the sprint execution team members will most likely engage in White and Black Box testing to address the factors and criteria established by customers. These tests provide the metrics that are evaluated for completeness during the sprint review.

Our Favourite Agile Books

We found these books great for finding out more information on Agile Scrum:

Sprint Execution

White Box Testing

White box testing is designed to provide a quality assurance that the structure, inputs and outputs of the feature developed are structurally sound. No functional testing is conducted for feature definition during this time. Integration with other systems, data sources are validated and the ability of the software to accept inputs and outputs are evaluated with metrics assigned for success and failure. White box testing is most usually conducted as soon as a portion of a component is ready for evaluation. This testing does not wait until the completion of all portions of a feature and is iterative in nature.

Black Box Testing

Feature functionality, fit with prior sprints and acceptance testing are a few of the quality assurance validation points within sprint execution. This testing is conducted within the execution sprint. Another form of black box testing involves regression testing that may be performed at the end of a sprint if the code developed will be migrated to production immediately. If not, regression testing can be conducted prior to a release of multiple features from more than one sprint. Some scrum teams (Agile Scrum Master, Scrum Product Owner and Development Team) will introduce an additional sprint to validate the final level of release testing to ensure that all features, integration points and incremental deliveries are well validated for a final run. The metrics from both white and black box testing are gathered for the sprint review.

Quality Assurance: Sprint Review

Quality assurance testing during the sprint execution time boxed window is designed to eliminate all defects. There will be circumstances where additional conditions may be discovered during the sprint review ceremony. Sprint reviews are collaborative sessions where potentially shippable features are utilized to determine readiness for market. Metrics gathered during sprint execution testing as well as additional metrics captured during the review ceremony will be used by the scrum team, product owner, key stakeholders and business sponsor to determine readiness for release. 

Agile features quality software delivered in priority order to meet the evolving needs of the market. Quality assurance standards and processes are key to ensure that the ROI of the product is met and exceeded.

The ‘Agile Scrum Master Training Course With 59 Seconds Training‘ is now available for free. This free Scrum Master Certified Online Training Course provides an in-depth understanding of the Agile Scrum Master roles and responsibilities, where you find out what a Scrum Master does and how to do it. During this free course you will learn all of the tools needed to succeed as an Agile Scrum Master.

Thank you for choosing us to learn about the Agile Scrum Framework.