Tooling to Automate User Story VerificationPosted on April 16, 2011 by Dean Leffingwell in Agile and FDA, High Assurance and Regulated Environments, High Assurance and Tooling
In a recent post, I noted that Craig Langenfeld, my co-contributor on the Agile in High-Assurance and Regulated Environments series, was beginning to describe how tooling can be used to automate (or semi-automate) much of the formal verification activities we’ll need to assure that a) our software works exactly as intended, and b) leaving a traceability-audit trail for the device history records as called out by the company’s quality management system (QMS).
In earlier posts in this series, I described an important sub-thread, which is the verification of user stories in the course of each iteration. I pointed that in order to assure that each new user story works as intended, we’ll want to verify it via three traceability paths:
- User story to code – path to the SCM record that illustrates when and where the code was changed to implement the story
- User story to code-level unit test (the “white box” test which helps assure the new code works to its internal (code level) specifications
- User Story to Story acceptance tests (black box testing of the user story to make sure the system functions as intended)
Craig has recently published his first two posts on this important sub-thread in our larger verification and validation picture. In his first post he describes two things:
1) How built in story to task relationships increase the rigor and traceability of the TASKS we’ll use to define|build|verify each user story, and
2) How you can use Rally to persist the story, the story acceptance tests and the story to acceptance test verification paths. (Bullet #3 above).
However, for many practitioners Rally is not the only tool in the project environment, so in a second post he describes how HP Quality Center can be used to perform Verification Testing on User Stories that are planned, tracked, and managed within Rally.
As I mentioned in a prior post in this series, effective, scalable agile project management tooling is a critical component to developing and documenting high-assurance software, so I am happy so see these tooling examples and look forward to the next few posts in Craig’s series. As usual, I’ll keep you “post”ed.