Complex Lab Software: How to Best Manage it With Version Control

On the Semaphore Solutions blog, we’ve talked a lot about the importance of a lab’s software stack and strategies for managing multiple software components — some you’ve bought off-the-shelf, some that are fully custom, and some with varying degrees of customization. But one thing we haven’t dug into is version control. This is a key part of managing any complex software system, so it’s something every lab should understand.

Because laboratory information management systems (LIMS) terminology varies from system to system, to keep things simple, we’ll use the following terms in this post:

1. Step. A single process, contained in a single work session, at one physical location.
2. Protocol. A collection of steps that facilitate one stage of the workflow.
3. Workflow. End-to-end sample processing from accessioning to report issuance.

What is version control?