Software Release Process & Versioning Guide

Who: Benchmark Space Systems 
When: December 2018 - January 2019 

Benchmark Space Systems (BSS) reached out to us for help creating a formal software release process. They were primarily interested in enforcing quality checks throughout the development cycle to ensure their customers would receive only the highest quality software releases.

We began the project by interviewing the BSS team to understand their team structure, existing development and quality control processes, and goals for the project. After collecting input from the BSS team, we went off and created our initial draft of the software release process.

Two versions of the software release process were created: a high-level process flow, and a detailed process flow. We walked through the process flows with the BSS team and provided recommendations for implementing various process stages. We also provided recommendations for implementing portions of the process flow that could be automated using Jenkins and the Embedded Artistry Jenkins Pipeline Library. BSS took the drafts and immediately began trying out the process flows over a two week trial period.

After BSS implemented the initial process flows, clarified detailed steps, and provided feedback, we created detailed process documentation for the BSS team:

  1. Detailed software release process description document

  2. Software process summary diagrams

  3. Versioning guidelines

  4. Roles and responsibilities

  5. Release process checklist

  6. GitHub Issue template tailored for the BSS process

  7. GitHub Pull Request template tailored for the BSS process

  8. Visual Paradigm process flow diagrams for the BSS process

BSS ended the project with a functional software release process.


Paul Shepherd, Lead Electrical Engineer at BSS, had this to say:

Benchmark Space Systems worked with Embedded Artistry to develop our internal Software Release and Continuous Integration processes. From our first meeting, it was clear we shared a common belief that a good process is one where quality is the default outcome, rather than something you have to fight for. With Embedded Artistry's guidance, we were able to implement and deploy the processes immediately. We rest easier knowing that we are shipping only the highest quality software to our customers.

Sample Process Diagram

Screen Shot 2019-02-01 at 14.01.42.png

Manufacturing Test Firmware

Who: Inboard Technology
When: August 2018

Inboard contacted us to quickly create manufacturing test firmware for their new hardware platform. The engineer who wrote the original manufacturing test firmware had left the company, and the tests needed to be updated and expanded to support the new platform.

We ported existing tests to the new firmware platform and updated them to match the recent APIs. We also implemented additional tests for new hardware features. Along the way, we helped Inboard resolve hundreds of compiler warnings and a handful of customer-facing bugs.

After completing the manufacturing test firmware, we updated the factory test station sequence.

We provided overview documentation describing the logic behind each manufacturing test and instructions for updating and modifying the tests. We also created summary documentation describing the full manufacturing test flow, including the Windows application.

The project was completed in three weeks, enabling Inboard to begin testing their prototypes without delay.


Dan Casciato, Manufacturing & Test Engineer at Inboard Technology, had this to say:

It's simple: Embedded Artistry is very easy to do business with. Their deep industry knowledge and expertise makes them the ideal partner for any embedded project, no matter the size. Really, they're the best.