Ian Savage, Agile Open Northwest
This paper introduces a new way of resolving conflicting objectives and priorities: agile software quality management (ASQM). It both borrows from Agile and contributes to it. It uses new structures for communications: test/risk matrices. It presents an operational definition of quality: Context quality is some function of the salient qualities for this cycle or Q=context (function (q1, …, qN)). This paper also presents a strategy to resolve conflicts: include general management and product management on the whole team and thusly eliminate appeals to higher authorities and office politics.
This approach requires a common vocabulary and provides it by normalizing the Iron Triangle project constraints of cost, schedule, and scope such that they can be specified along with all the other quality attributes. [see IEEE xxx] This is where the test/risk matrices come in. They use Basili’s Goal-Question-Metric, Grady’s FURPS, Wirfs-Brock’s Landing Zones, and a small extension by the author.
To implement ASQM, orgs start by adopting this flat “quality-scape,” extending and adapting this approach to their context. This paper presents how ASQM varies as WIP limits â€“ and demonstrates the efficacy of small cycles and multiple small cycles. The paper finishes up with a few examples of quality trade-offs [see also Kem Kaner]: capability vs security, affordability vs availability, and performance vs supportability.
Key takeaways include:
- Aligning company goals with engineering goals
- Using risk management to select what to test (context-salient quality attributes)
- Appreciation for the simplicity of short cycles
- Test/Risk Matrix
- Using metrics to communicate and clarify goals
- Standing on the shoulders of Robert Grady, Vic Basili, Wirfs-Brock and other giants