While the Internet of Things (IoT) offers manufacturers many potential benefits in product innovation, it also brings its challenges, particularly around the increased dependency on software. It is not just the complexity and security of those digital assets that must be considered, but also the sheer scale often required due to an ever growing number of connected components.
Many companies developing IoT-based products must also demonstrate compliance due to critical safety and security demands, especially in industries such as automotive, medical device, aerospace and defence. In order to demonstrate compliance, development organisations must be able to trace and even have an audit trail for all the changes involved in a product lifecycle. Another challenge is the diversity and number of contributors, who may be spread across different locations or time-zones and working with different platforms or systems. Similarly, over-the-air updates, while convenient, also exacerbate the need for control and managing complex dependency issues at scale and over long periods of time.
IoT covers a wide variety of manufactured products, with some needing more rigid quality control than others, but even so the role of reliable software has never been more important. With most manufacturing organisations not ‘born in the web’, it can be hard to see the wood for the trees. Even those familiar with environments where hardware and software components already need to talk to each other, the IoT still presents many software hurdles to overcome.
Blueprint for success
The ideal is a fit-for-purpose software development that is: flexible; scalable; can handle unprecedented volumes and complexity; is robust, secure and compliant; but also supports fast time-to-market and innovation. This sounds like a tall order, but fortunately there are a number of manufacturing organisations forging ahead and achieving just that, successfully.
One thing these companies usually have in common is real end-to-end thinking and an understanding that they need to be able to view the whole picture of a project, whether now or looking back in time. When that product needs to be updated – whether with new features or to accommodate new legislation – it is essential to have systems that track all activities over the lifecycle, across the actions of individual contributors and across all digital assets (code, art files, design files, CAD/CAM files, artefacts, etc) with deep traceability and impact analysis.
Creating what is increasingly labelled as a ‘single source of truth’ – documenting every action, every change, by whom, where, what, and how – at every stage of a digital asset’s lifecycle is fast becoming how organisations manage this long-view complexity. Typically, version control systems are used as the basis and not only can they provide a window into what is happening now and what happened in the past, they also enable organisations to ‘roll back’ to an earlier version of a project. This is extremely useful when, for instance, unearthing bugs or demonstrating compliance to a regulatory authority.
Embracing new methodologies
A ‘single source of truth’ often plays a central role in supporting new software development methodologies. We are seeing an increasing number of manufacturing firms revise the fundamentals of how they approach development projects. More of them are moving away from traditional processes like Waterfall, towards Agile, Continuous Delivery and DevOps, among others, or hybrids of more than one (for instance, hybrid Agile and Waterfall).
While most of these approaches have been around for a few years, the market has now caught up with them. This has been driven by the need to balance speed to market, innovation and flexibility, against the need for reliability, software quality and compliance, all in an environment that is more complex and involving many more components. They also help empower internal teams, while simultaneously providing the rigour and control that management requires.
DevOps and Agile
All these methodologies have their relative benefits and there are tomes of information available on them all, but it’s worth just briefly touching on a couple in particular, namely DevOps and Agile, due to their popularity.
DevOps breaks down the conventional barriers between development and operational teams, helping products to be finalised, reviewed and tested, and then brought to market more quickly.
Entirely separate, but a good companion to DevOps, is Agile. Agile has been around for a decade and has made steady inroads into all kinds of markets, increasingly including manufacturing. The focus is usually on delivering a minimal viable product, incorporating feedback and improvements, in an iterative process, making it ideal for markets where fast roll-out of new IoT products is important.
However, for manufacturers developing safety, mission-critical products, who also need compliance, then a hybridised approach may be necessary, such as combining Agile with the more manual, documented process that regulators will require. Often alongside both Agile and DevOps is Continuous Delivery, which includes automated build and test, so what was originally tested is what is actually deployed.
Like any methodology, both DevOps and Agile depend on efficient execution to contribute real value. ‘Best practices’ we have seen in the field include:
Making all these methodologies work – whether separately or together – is not just about culture and processes, but also requires the right supporting tools. That has led many organisations to review what they currently have and what they now need. Many existing tools may no longer be fit for purpose, though equally many have also evolved to meet the specific requirements of IoT, in particular the challenge of ensuring security – and often then being able to demonstrate that protection – of connected devices.
When choosing new or upgrading existing tools, there are a few considerations to bear in mind. Can they be flexible to accommodate change in the future, or embrace scale, without hindering performance and speed? Do they provide transparency across all contributors, regardless of platforms or type of asset (such as a CAD drawing, or a piece of code)? Can they support more than one design methodology (for instance, if one team is using pure Agile and another one using a hybrid of Agile and Waterfall)?
For manufacturers, another key consideration is, of course, that products adhere to industry standards and compliance requirements. The challenge in fast-paced, highly complex software-driven projects is the risk that making sure all the right boxes are being ticked can slow down the time to production. Many manufacturing firms use tools such as agile lifecycle management software to track requirements and issues. Static code analysis can automate much of the compliance-checking process, so that it does not get in the way and teams can have greater confidence in the acceptability of their work-in-progress. This approach also helps to encourage more consistent and higher quality coding practices across an organisation.
Without doubt, IoT gives everyone involved a lot to consider and for manufacturers – especially those from more traditional markets – represents a sea-change in the way products are created and maintained. Building the right foundation of tools, methodologies and corporate thinking in place is essential to success. It will be interesting to see how IoT evolves over the next few years, but in the meantime, there is plenty of good advice and practical experience out there for manufacturers new to IoT to draw on.