5 obstacles to continuous delivery in embedded software

14
5 Obstacles to Continuous Delivery in Embedded Software Presented by David Rosen

Upload: david-rosen

Post on 14-Jan-2015

307 views

Category:

Technology


0 download

DESCRIPTION

Presented at Electric Cloud Spark 2013, October 16, 2013, http://www.electric-cloud.com/summit/ Based on content from blog-post at http://www.electric-cloud.com/blog/2013/05/03/5-aspects-that-makes-continuous-delivery-for-embedded-different/ Continuous Delivery means making sure your software is always production ready – that any build could potentially be released to users at the touch of a button using a fully automated process.  This relies on comprehensive automation of the build, test and deployment process, and excellent collaboration across all teams involved. While the absolute majority of the general theories and concepts defining Continuous Delivery are very much valid also for embedded product development organizations, the typical technical environments are vastly different from what’s commonly being referenced. Legacy, infrastructure, lead times, and compliance are all very common challenges (in many cases intertwined with each other) that needs to be addressed if you are to succeed with Embedded Continuous Delivery. Finally it is also important to understand that the end goal of a Continuous Delivery implementation for an embedded product development organization is typically very different than what it would be for a product development organization based on web or cloud based technologies.   This talk will discuss how the concepts of Continuous Delivery are applied across a wide range of embedded industries, highlighting 5 key aspects and common pitfalls that needs to be considered gating a successful Embedded Continuous Delivery implementation.

TRANSCRIPT

Page 1: 5 Obstacles to Continuous Delivery in Embedded Software

5 Obstacles to Continuous Delivery in Embedded Software

Presented by David Rosen

Page 2: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: Infrastructure

Page 3: 5 Obstacles to Continuous Delivery in Embedded Software

DevelopVersion ControlIDE

TestFunctionalNon-Func

ReleaseDeployConfigure

DefineRequirementsModel

Continuous Delivery Defined

• Agile = frequent, smaller deliveries • Continuous Integration = build/test every check-in• Continuous Delivery = any build potentially released to users• Continuous Release = release every good build into production

OperateProvisionMonitor

BuildCompileBuild

Agile DevelopmentContinuous Integration

Continuous DeliveryContinuous Release

4

Page 4: 5 Obstacles to Continuous Delivery in Embedded Software
Page 5: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: Legacy

Page 6: 5 Obstacles to Continuous Delivery in Embedded Software
Page 7: 5 Obstacles to Continuous Delivery in Embedded Software
Page 8: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: Infrastructure

Page 9: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: Infrastructure

Page 10: 5 Obstacles to Continuous Delivery in Embedded Software
Page 11: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: Compliance

Page 12: 5 Obstacles to Continuous Delivery in Embedded Software

Embedded Continuous Delivery Obstacle: The End Goal

Page 13: 5 Obstacles to Continuous Delivery in Embedded Software
Page 14: 5 Obstacles to Continuous Delivery in Embedded Software

Q&A