LII:LIMSpec/Introduction and methodology

From LIMSWiki
Revision as of 16:38, 20 September 2019 by Shawndouglas (talk | contribs)
Jump to navigationJump to search

Introduction

Merriam-Webster defines a "specification" as "a detailed precise presentation of something or of a plan or proposal for something."[1] In other words, an existing or theoretical product, concept, or idea is presented in detail for a particular audience. In a broad sense, detailing the specifics about a project, concept, or idea to others is just common sense. This applies just as well to the world of software development, where a software requirements specification is essential for preventing the second most commonly cited reason for project failure: poor requirements management.[2]

In fact, the ISO/IEC/IEEE 29148:2018 standard (a conglomeration of what was formerly IEEE 830 and other standards) is in place to help specify "the required processes implemented in the engineering activities that result in requirements for systems and software products" and provide guidelines for how to apply those requirements.[3] The standard describes the characteristics that make up quality software requirement development, including aspects such as[4]:

  • correctly describing system behavior;
  • effectively removing ambiguity from the language used;
  • completely covering the system behavior and features;
  • accurately prioritizing and ranking the requirements; and
  • unequivocally ensuring the requirements are testable, modifiable, and traceable.

Over the years, a wide variety of companies, consultants, and researchers have compiled public and private software requirements specifications for laboratory informatics systems. These compiled lists of requirements for how a given laboratory informatics solution should be developed, delivered, and maintained have changed as technology and user demand evolved. Often times, these requirements documents turn into a mix of "wishlist" requirements from potential and active clients, as well as regulation-mandated requirements. The wishlist items aren't necessarily ignored by developers, but they do in fact have to be prioritized as "nice to have" or "essential to system operation," or something in between.[5][6][7] While this reasonable mix of requirements has served informatics software developers well[8], sometimes a fresh approach is required.

What follows is an attempt to look less at the wishlists of laboratories and more directly at what requirements current regulatory schemes, industry standards, and organizational guidelines place on the ever-evolving array of laboratory informatics systems being developed today. What does the United States' 21 CFR Part 11 have to say about how your laboratory information management system (LIMS), laboratory information system (LIS), electronic laboratory notebook (ELN), and other systems operate? What does the European Union's Annex 11 dictate in those same regards? The following five chapters list those requirements, supported by one or more regulations, standards, and guidelines.


Methodology

At its core, this LIMSpec—which has seen several iterations over the years—is rooted in ASTM E1578-18 Standard Guide for Laboratory Informatics. With the latest version released in 2018, an updated Laboratory Informatics Functional Requirements checklist is included in the appendix, which "covers functionality common to the various laboratory informatics systems discussed throughout [the] guide as well as requirements recommended as part of [the] guide." It goes on to state that the checklist "is an example of typical requirements that can be used to guide the purchase, upgrade, or development of a laboratory informatics system," though it is certainly "not meant to be exhaustive."

This LIMSpec borrows from that requirements checklist and then adds more to it from a wide variety of sources. An attempt has been made to find the most relevant regulations, standards, and guidance that shape how a compliant laboratory informatics system is developed and maintained. However, this should definitely be considered a work in progress, with more to be added with additional public and private comment on missing sources.

That said, this first revision taps into the following sources:

References

  1. "specification". Merriam-Webster. Merriam-Webster, Inc. https://www.merriam-webster.com/dictionary/specification. Retrieved 20 September 2019. 
  2. Bieg, D.P. (August 2014). "Introduction" (PDF). Requirements Management: A Core Competency for Project and Program Success. Project Management Institute. p. 3. https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/requirements-management.pdf. Retrieved 20 September 2019. 
  3. "ISO/IEC/IEEE 29148:2018". International Organization for Standardization. November 2018. https://www.iso.org/standard/72089.html. Retrieved 20 September 2019. 
  4. Seibert, P. (28 July 2011). "How do you write software requirements? What are software requirements? What is a software requirement?". HubTechInsider. https://hubtechinsider.wordpress.com/2011/07/28/how-do-you-write-software-requirements-what-are-software-requirements-what-is-a-software-requirement/. Retrieved 20 September 2019. 
  5. Aasem, M.; Ramzan, M.; Jaffar, A. (2010). "Analysis and optimization of software requirements prioritization techniques". Proceedings from the 2010 International Conference on Information and Emerging Technologies: 1–6. doi:10.1109/ICIET.2010.5625687. 
  6. Hirsch, J. (22 November 2013). "10 Steps To Successful Requirements Gathering". Phase2 Technology, LLC. https://www.phase2technology.com/blog/successful-requirements-gathering. Retrieved 20 September 2019. 
  7. Burris, E. (2007). "Requirements Specification". CS451R, University of Missouri–Kansas City. University of Missouri–Kansas City. http://sce2.umkc.edu/BIT/burrise/pl/requirements/. Retrieved 20 September 2019. 
  8. Hofmann, H.F.; Lehner, F. (2001). "Requirements engineering as a success factor in software projects". IEEE Software 18 (4): 58–66. doi:10.1109/MS.2001.936219.