As awareness of the Internet of Things (IoT) grows, devices are becoming smarter and more embedded, resulting in difficult development environments. But as with any software, there is a demand for it to be delivered fast, and that goes for embedded devices—despite their complexity.
“Software has become the primary driver of innovation and disruption,” said Anders Wallgren, CTO of Electric Cloud, at this week’s Agile2015 conference in Washington. “To stay competitive, we have to deliver better software faster.”
Normally, to gain that competitive edge and deliver high-quality software rapidly, organizations have turned to using agile, but it’s not enough, according to Wallgren. He explained that while agile is all about the end-to-end process, it stops at engineering and doesn’t follow through after the software is pushed into production.
“I don’t want to call agile a solved problem, because it clearly isn’t,” he said. “What happens to that software after we are done delivering it…the software you ship on Day 1 is not the software that is going to live on that device forever.”
And that software becomes even more important in IoT devices because developers have to build software that is accessible from anywhere, as well as to continuously deliver frequent over-the-air updates, according to Wallgren.
“The expectation really is very different than what it used to be,” he said. “The expectation was I buy something, and it has software, and that software is for life. Now the expectation is no, you are going to fix that bug. The job of the software team is not done when you ship the device.”
Wallgren explained that IoT is the new embedded; it’s a transformative technology, and a new way of delivering that technology is necessary.
“We used to have one pipeline for delivery,” he said. “Now for something like IoT or embedded, we have three pipelines.” Those pipelines include delivering the software that goes onto the device; the back-end software needed to collect data, push updates, and enable functionality; and the mobile application that needs to perform that task, according to Wallgren.
To get end-to-end visibility and traceability, accelerated delivery, and predictable quality, organizations developing embedded software need to adopt Continuous Delivery and DevOps processes, he said.
The value DevOps and Continuous Delivery can bring to an embedded development system includes faster time-to-market, higher quality, better visibility across teams, reduced costs, and improved utilization, Wallgren explained.
Other ways DevOps and CD help, according to him, include:
- Connecting and orchestrating PLM, ALM, CD and OTA workflows
- Integrating data from all product components into a single embedded bill of materials
- Providing global team visibility
- Removing error-prone and labor-intensive manual tasks
- Reducing design-to-delivery cycles
- Testing integrated systems earlier and more often
- Providing a consistent build, test and release environment
- Accelerating compliance verification and on-demand compliance reports