Using software craftsmanship to innovate a hardware setting, we drove speed-to-value for a high-performance farming company. We needed to establish a process to test algorithms for self-driving tractors—the kind of real-time testing that simulates a GPS system, gives tractors a set of parameters, and ensures tractors know how to follow commands and navigate from one side of a 30,000 acre field to the other, all while maintaining accuracy—basically, jet-fighter technology that moves at 12 mph. Not all farming implements are created equal, so we took into consideration the compatibility with multi-tractor configurations, switching the unit from a planter to a fertilizer to a sprayer, etc. Using SIL to HIL techniques, we made sure that the tractor knew what unit it was hauling and that the same set of data seamlessly communicated between all components—those parameters included pH levels, seed planting depths and other pertinent information needed to yield optimal crops. In the end, we molded the logic and internal workings of high-performance farm machinery to transform the soil that we’re rooted in.
A Fortune top 50 original equipment manufacturer needed to test and validate smart-embedded machinery, but their physical hardware was still on the assembly line—a recurring problem we have with various industries. They needed to collect data to analyze and understand people’s behavior, the environment and the product itself. The company knew all the tests that needed to be run and the requirements that needed to be met in order for their product to meet industry standards, but had no way of testing a vast amount of scenarios. Using our test harness, along side test-driven development and continuous integration, we were able to streamline development and reduce cost through simulation—providing easier vendor component integration and testing frameworks, allowing the emulation of functionality prior to actual hardware development. Because our test harness was able to scale embedded software delivery across multiple teams, vendors and partners, it was a win-win situation for all parties involved.
Starting with a team of five, we worked with a leading multinational automaker to test their algorithms against the software they were writing for autonomous cars. Because they had no actual hardware yet, they had no way of knowing how the software would react and operate in real-life situations. Being a software company that deals with hardware companies, we knew what the solution was—you tell us how you want the car to perform and we’ll simulate the scenario. Using test-driven development skills, algorithms and Agile practices, we replicated real-world components in a controlled environment. Within one week, we took free-standing elements and fit them together like a puzzle, building a working model that proved we could successfully emulate component behaviors and establish a strong foundation for building out a vehicle control system.
Over 20 years ago we partnered with a company to revolutionize the response to car crashes. The business needed to develop an adaptable software solution for their product when the hardware for the product did not yet exist. They also needed a test harness that allowed the hardware, integration and call center software to be updated independently. We integrated data feeds like Voice and Customer Call Center Data, CAN/Crash Data and GPS Data that could be routed from a vehicle to a call center. Our approach to software development ensured that the software and hardware could and would always work in harmony. Our test harness used mocking and test-driven development to keep the integration loosely coupled—allowing the necessary software to be developed quickly and reliably, even when the accompanying hardware wasn’t complete. This brought speed-to-value to the company’s product and their marketplace. In fact, our test harness identified a defect in the company’s production hardware, allowing it to be fixed before delivery—avoiding a costly, risky recall. Ensuring safety on a safety product.