CI CD, OTA software updates and successful IoT product developmentAdvice
The Device Chronicle spoke to Bjørn T. Nøstdahl in his capacity as an experienced digital product manager to understand what it takes to be successful in launching IoT-enabled products. Bjørn is the Chief Innovation & Product Officer at Gunnebo Business Solutions, the Software as a Service and IoT hub of the Swedish security solutions provider Gunnebo Security. Great IoT products are brought quickly to the market by integrating OTA software updates with CI CD workflows and automating image updates. This frees software developers from hard labour so they can focus on writing great software code.
CI CD and a great POC
Bjørn begins by stating that it is always prudent to start with the proof of concept. You cannot spend 3 years developing a product before launch. You must go to the market almost immediately. You should start small with a limited number of functionalities so called MVP. This is key. Otherwise you will fail if you try to do too much at the same time. Once you have one key function that is stable and working 100% then that is more important than having 8 features that function at 80%.
CI CD makes it tangible
He says your development team needs to get something working that gives a very tangible impression of the deliverable for a customer. The customer needs to see very quickly and clearly that the product you are developing will meet their needs. Product owners must have something tangible to show and demonstrate to the customer, it must be much more than theoretical preferably even physically touchable. Preferably the customer in this context is also always an confirmed end-customer – do not confuse internal stakeholders as your final end user and/or customer but push for end-customer feedback and opinions – always.
Bjørn continues to explain that Gunnebo Business Solutions for both internal and Business Unit driven projects also starts the journey towards a new product or feature in this way. For example, in one of the projects developed for the Retail market “30 to 40 prototypes for different products were developed and tested with customers, then the most successful ones were taken to the market.”
Move to phase 2
The second phase begins once the customer has accepted the Proof of Concept. It is at this point, Bjørn says, that product development teams should face the challenges of scalability, durability and security.
Agility and automation
Bjørn’s development team uses Agile methodology and have implemented SCRUM in Azure. He says they try to automate as much as possible so the developers can work to produce high quality code. “The translations, build pipelines, deployment, and OTA software update routines are all automated in the development set up.” Also infrastructure is by code.
The relatively high cost of labor in Sweden means that development costs must be kept down, hard repetitive labor must be avoided, and that the developers must be allowed to focus on creating high quality software code producing customer value.
In the process, the device firmware is built in Azure and then it is wrapped up in a Mender artefact in the Mender server and it is pushed out to the connected gateway device as and when it is needed. All of this is automated from the beginning to end.
Best-of-Breed partners integrate into CI CD
Gunnebo Business Solution’s strategy has been to look for Best-of-Breed technology partners in the areas that are non-core for the skills of their development team. Bjørn laments that there are an enormous number of tools and software offerings available. There was once a strategic idea that we (Gunnebo) could solve all our problems by adding tools. This is not true as you must integrate all these tools and maintain them. So in the last 12 months, the development team has gone through a process of scaling down and selecting a limited number of suppliers for example Microsoft Azure for dev ops, Crowdin for translation, and Mender for OTA software updates and the container updates.
OTA software updates
Bjørn also covers the challenges in provisioning OTA software updates to embedded devices. The technology is moving fast and you have to divide on which protocols, communication channels, microcontrollers, system on chip modules, hardware security modules to use. Once you select a certain hardware security module, you will be married to it for the life cycle of the device which in Björn’s case is typically 10 years. New algorithms appear, old algorithms that we thought were safe are being hacked. There is such a speed of change.
Interesting use cases in CI CD
Gunnebo Business Solutions as an internal supplier to Gunnebo´s Business Units is working in some very innovative areas. For consumers, they offer an IoT connected home safe called the Everyday Safe. It is a kitchen furniture integrated safe connected via WiFi and accessible via a user’s mobile phone. It’s possible for the user to add a new fingerprint for security and manage users through their phones.
On the business side, one of Gunnebo´s business units offer Metro entrance gates so called Speedgates that are connected to the Gunnebo Business Solutions IoT platform IoT platform. This provides the metro operator personell with configuration capabilities and other data insights to help monitor and manage the metro gates. In several locations around the world, they are running projects to help counter the adverse effects of the pandemic. In Sweden, for example they have a project with access gates where users will not be able to enter the building unless they rinse their hands with alcohol from a dispenser on the gate. It does not stop there, once the user inserts their key card, a camera checks their body temperature and won’t let them enter if the temperature is abnormal. The company also has a product that helps maintain appropriate social distancing in large retail stores. This is an access gate that counts entry and exiting and the prospective must wait outside the store until there is a correct number of shoppers inside to accommodate social distancing. A so called occupancy solution but with the add on of being fully automated.
Security by design
Bjørn concludes by stressing the need for focus on security by design in IoT product development. Gunnebo works with several external security advisors to perform penetration testing on its IoT devices. Bjørn assesses the scale of the challenge. “So many people are putting their energies into trying to hack and unbox our products. We are dealing with professional criminals on one hand and hobbyists in their student room on the other. We want to stay one step ahead by adding Hardware security modules to our products, pre-provisioning certificates and public private keys installed on the hardware in the factory, test, test, test, avoid Man in the middle attacks.”
We wish Bjørn and his colleague at Gunnebo well in their endeavours.
We have another article here on on-boarding experience in product development.