top of page

Agile Quality Assurance

Updated: Dec 12, 2020

Quality is about making things that are fit for purpose, not over engineered with features that are never used. Agile Quality Assurance makes sure that every product is quality assured at every stage.


According to Standish Group's Annual CHAOS report (2020), just 33% of software projects are truly successful. Our quality assurance framework maps out how to assure the best quality software development outcomes. This covers the monitoring of the processes and methods of work that have been proven to drive quality outcomes, as well as the different varieties of testing and quality control.


Start by defining a minimum viable list of requirements and goals and make sure that your goals are clear and easily understood. Organise a "beauty parade" with at least 3 carefully researched software development experts with the experience and domain expertise to deliver your software. Define everything from protocols and communications platforms to culture and management.


Make sure that you have a clear definition of what quality means for your software development effort. Focus on fitness for purpose rather than perfection because the journey towards perfect quality is a process. Also, whilst testing and quality control are central to any quality goal, Agile Quality Assurance is more to do with making sure that certain activities - that support and act as a compass and guide to quality outcomes - are implemented to achieve the goal of quality assurance.


Use an Agile Contract, designed to support quality assurance goals and align customer and supplier motivations. Design the contract to encourage partnership and risk sharing, based on a fixed price but variable scope. One way to achieve this is through a short initial phase discovery (see below) that enables both parties to better understand and thus de-risk the work. Avoid contract tie-in by making sure that there is a clear exit strategy - for example, protecting transfer of IP - if things go wrong. Also, structure payments to provide for an agreed incentive or bonus payment, and declare completion at any point, for the achievement of the customer's key goal.


Undertake the discovery process, simultaneously, with one or more software development experts. Appoint a lead expert and allow others to participate. All participants get access to ongoing discussions and evolving software product requirements. All get to adjust their bids and the customer can appoint any of the participants to complete the development work. The lead expert is paid a pre agreed fee irrespective of their engagement status after the discovery process. Participants are incentivised to make meaningful contributions by the prospect of being selected, based on their inputs and refined bids. This approach allows you to get to know each expert and their approach to quality assurance. This process drives better quality outcomes.


Quality outcomes require alignment, between customers and software development experts. To achieve this, Agile Quality Assurance first demands a timely approach to problem solving, on a daily basis. Your software development expert should provide a daily update of any issues or work blockers. Your expert should also provide weekly or biweekly progress reports and a sprint demo to showcase the evolving product after each sprint, after it has successfully passed through testing and the agreed quality control process. After each sprint demo, your expert and other team members should should identify and act on at least one thing that could improve the quality of future outcomes.


Agile Quality Assurance is about the journey towards perfection, not perfection per se. Continuously cycle through "observation, orientation, decision and action". This is our Agile Quality Assurance framework.

Join our "Software Development Outsourcing - Quality Assurance" workshop/event (20 free spaces available)

56 views0 comments

Recent Posts

See All


bottom of page