5 obstacles to continuous delivery in embedded software
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
5 Obstacles to Continuous Delivery in Embedded Software
Presented by David Rosen
Embedded Continuous Delivery Obstacle: Infrastructure
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
Embedded Continuous Delivery Obstacle: Legacy
Embedded Continuous Delivery Obstacle: Infrastructure
Embedded Continuous Delivery Obstacle: Infrastructure
Embedded Continuous Delivery Obstacle: Compliance
Embedded Continuous Delivery Obstacle: The End Goal
Q&A