Product Development

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.

Testimonial

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

Product Development & EPM Consulting

Who: Marble
When: September 2017 - August 2018 

Rozi consulted with Marble and advised them on product development strategy for their last-mile delivery robot. During the initial phase of the engagement, Rozi:

  • Created program plan for development of last-mile delivery robots

  • Created engineering schedule from prototype to production validation test

  • Defined milestones and deliverables for each department

  • Defined engineering build strategy and planning

  • Created company-wide organization chart proposal including roles & responsibilities

  • Streamlined company-wide communication

After creating the product development plan, Rozi continued to mentor the HW and SW team leads on team development and product development fundamentals.

Rozi led the talent search and hiring of a full-time Engineering Program Management (EPM) lead. While the hiring process was ongoing, Rozi provided EPM support for Marble in the following ways:

  • Created SW task/issue management and sprint planning processes

  • Created HW development and release processes

  • Defined the vendor management strategy

Once an EPM lead was hired, Rozi trained him on existing processes, company culture, and future goals before handing over management responsibilities and phasing off of the project.

Testimonial

Jason Calaiaro, HW lead at Marble, had this to say:

Rozi got our company back on track by helping us create a program plan and schedule, improving our engineering processes, and hiring a fantastic EPM lead.