The prevailing methods of managing software user requirements in the Life Sciences industry are far too primitive for the task at hand. This is not a small problem: meticulously documented requirements are critical for systems validation, especially for demonstrating 21 CFR Part 11 compliance. In hopes that someone will develop an open source tool to make the task easier and more effective, here’s a vision for how it would work.

Today, systems analysts write requirements one line at a time in Microsoft Word tables stretching on for many pages. This format wastes so much space on the page that the documents are needlessly difficult to read. The resulting requirements documents are so tiresome that even stakeholders tend to avoid reading them, or pay less attention than they should. Later in the lifecycle, software engineers and testers add additional redundancy and potential for error as they draft their design documents and test cases. They tie these documents back to the requirements using a requirements traceability matrix, yet another Microsoft Word table generated entirely by hand.

Here’s what I think a user requirements system should do:

  • Make it easy to enter requirements, with auto-numbering; search for duplicate entries; spell-checking; and easy linking to related requirements.
  • Hide complexity, showing only enough information to answer the question at hand. For example, “Which modules and top-level features are we planning to add in the next version of the system? How much time do we estimate they will take to implement? What are the highest priority items that didn’t make the cut?”
  • Track the requirements in logical groups (Maybe a hierarchy.)
  • Generate documents that are intelligently formatted for readability.
  • Manage the relationships between user requirements, technical specifications, detailed design documents, and test cases.
  • Generate a requirements traceability matrix as a report.

Of course, to manage the requirements in a 21 CFR Part 11 compliant fashion, the system itself might have to be validated. That implies a need to rigorously document the requirements. That in turn calls for a requirements management tool…