As you travel down the DevOps path, one of the most avoided topics is often…
Case Study
Exploring New Horizons with Cprime—Creating a Continuous Integration Testing Pipeline for Lunar Vehicle Development
Company Details
Industry: Aerospace Exploration and Research
Company Size: 50 employees (10 engineers and supporting technical staff)
Location: Netherlands
Products: Autonomous Lunar Exploration Vehicle
Cprime Services:
Executive Summary
Lacking a modern proactive testing process for the low-level firmware and embedded systems in its moon rover, a team of university engineers turned to Cprime to implement a CI/CD testing pipeline that reduces trial-and-error development by 75%.
The Client
When a prestigious European technical university set out to build a moon robot, one of its goals was to highlight the potential of its new generation of engineers. Using a fresh student perspective, the institution sought to create a semi-autonomous rover that could move freely about the moon’s surface while collecting important information about radiation levels.
Unlike previous remote moon exploration vehicles, however, the university’s initiative focused on creating a smaller, more lightweight system. The new rover would have a form factor that scientists could easily convey into space and deploy as a swarm to gather data across a vast surface area. The rover’s affordability, autonomy, and improved mobility would allow exploration teams to undertake missions across terrain impractical for larger, heavier, and more expensive self-driving vehicles.
Challenge: Breaking New Ground — Creating a Modern CI/CD Testing Platform for the Aerospace Industry
Software development is often a process of trial and error, and developing hardware, software, and firmware systems for off-planet exploration exponentially increases the potential risk of something going wrong. Due to the narrow margins for error in space, the rover project team of 50 student engineers and support staff wanted a modern, proactive testing and development process to increase their chances of developing a robust, reliable lunar vehicle.
“Having your code break on the moon is obviously a massive problem. It’s not something that you can fix by hitting a button and rebooting the system,” says Kevin Ryan, Agile and DevOps Coach for Cprime EMEA. “The problem was that embedded system workflows, especially in the aerospace and space industries, are decades behind the processes used to develop modern cloud-based industrial infrastructures. Not that the students lacked skills—there was a lack of precedent in the entire industry. Cprime’s role was to help them establish that precedent and significantly reduce marginal risks.”
“Having your code break on the moon is obviously a massive problem. It’s not something that you can fix by hitting a button and rebooting the system.” — Kevin Ryan, Agile and DevOps Coach for Cprime EMEA
Aligning processes with modern cloud methodologies
To improve their quality control protocols, the university team needed to align their processes with contemporary cloud methodologies and software development best practices. That meant implementing the tooling and ways of working for a CI/CD (continuous integration, continuous deployment) pipeline. The testing pipeline would allow them to rapidly iterate upon their code and design while maintaining quality and continuity across the project.
“As a team, they focused on writing complex, embedded machine learning and AI code. Coming directly from academia, they weren’t up to speed on code development automation infrastructures,” says Ryan. “Industrialized development just wasn’t a part of their scope.”
Solution: Partnering with Cprime to Evaluate Tools and Create New Development Opportunities
Based on a recommendation from one of their commercial partners, the university team turned to Cprime, GitLab Certified Training Partners. The initial brief was simple, but left room for expansion.
“They had chosen GitLab—a complete DevOps platform—but they wanted Cprime to show them what using it should look like,” says Ryan. “They needed to understand the fundamental building blocks. We began by implementing the development environment and went from there as they learned the tool’s potential applications and use cases.”
The Cprime trainers experienced a learning curve nearly as steep as the student engineers themselves. The project was more than a simple tooling upgrade or transformation. The Cprime team needed to dive deep to define the project’s practical requirements and apply their newfound knowledge to a viable solution.
“Due to the unfamiliar environment, it has been a little like a research project—an incremental process to figure out how their DevOps journey should work,” says Ryan. “There was no Googling for a quick solution. As trainers, we needed to understand what they do before we could even hope to make reasonable and intelligent proposals to move them forward.”
A single repository of distinct projects with clear relationships
After clarifying the engineering team’s requirements, Cprime began putting together the components for a successful CI/CD pipeline. The team adapted course materials and explored key principles—from classes like GitLab with Git Basics and GitLab for CI/CD Pipelines—with the engineers to help them create an elite DevOps toolchain to solve their testing issues.
“We began by advocating for a mono repo rather than a poly repo approach to mitigate complexity and aid communication. Then we developed systems for quality assurance, build, and testing automation. We also automated dependency management and documentation generation,” says Ryan. “Once they were comfortable with the basic processes, we moved into more hardcore QA tools like Google Test, the C++ testing and mocking framework. Now, they are doing some groundbreaking stuff and actually deploying machine-level firmware to their space robot.”
“Together we have put together a toolchain that ensures they check, double check, and triple check every one and zero in their code base. It has pushed the project forward and allowed them to increase their benchmarks while simplifying each subsequent success.” — Kevin Ryan, Agile and DevOps Coach for Cprime EMEA
The right tools for success
To reduce context switching and promote a more familiar, consistent development and testing environment, Cprime also introduced the GitLab Workflow extension for Visual Studio (VS).
“Using modern technologies like Docker and VS development containers has made a huge difference,” says Ryan. “Because each machine you compile code on can yield a different result, just having an identical environment for everyone with all the dependencies, tooling, and build infrastructure in place has improved auditability and repeatability.”
Results: Increased Quality and Reduced Margins for Error
After 18 months of working with Cprime, the university teams have a unique CI/CD pipeline suitable for the aerospace industry and low-level firmware and embedded systems development. It is a development and testing framework that rivals any cutting-edge development and testing automation infrastructure for the cloud.
By guiding them toward a uniform development ecosystem with repeatable processes, Cprime helped the engineering team eliminate nearly 75% of the trial and error caused by compiling and testing code on inconsistent systems.
“That translates directly into higher quality firmware and software, and a reduced margin for error,” says Ryan. “We have put together a toolchain that ensures they check, double check, and triple check every one and zero in their code base. It has pushed the project forward and allowed them to increase their benchmarks while simplifying each subsequent success.”
If you’d like to see similar results in your organization, explore our flexible
GitLab training and GitLab implementation solutions.
Want to share with a colleague? Download the PDF
Featured Team Members
Kevin Ryan
Kevin Ryan, Agile and DevOps Coach for Cprime EMEA
Beginning as a software engineer over two decades ago when what we now call Agile was in its infancy, Kevin’s career and professional experience expanded into Agile consultancy, Coaching, Digital Product Development, and Management Consultancy. He now works with companies to support their transition to Agile and DevOps from team to enterprise scale.