3 Takeaways from Jenkins World 2018 Nice

Author: Thabo Krick | Date: February 04, 2019

  • Growing impact of software on business success
  • The promising DevOps approaches seem to live in a bubble of cloud native web apps
  • Learn how DevOps approaches can be adapted to automotive embedded software development

If you're not used to the term "DevOps": Wikipedia defines DevOps as "a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality". However, most of the people who are involved have a rough definition that can be best described as a bucket of associated words. So, whenever you hear DevOps, just think of Agile, Lean, Culture, Automation, Feedback and Business and you'll be good.

Software is eating the World

CICDTraining on Twitter
CICDTraining on Twitter

When I went to the airport early in the morning on October 23rd, I was still a bit jet-lagged. However, after a week of cold, changeable weather in the US I was looking forward to a sunny contrast in Nice. I arrived without any delays, just in time for my “Certified Jenkins Engineer” exam. It was tough and in parts way more technical than I expected but I managed to earn my badge which allowed me to strut around like a peacock for the rest of the week!

The main event started on Wednesday. From the first keynote through most of the talks the leading premise was “Software is eating the World”. What may sound like a prophecy of doom when you first hear it mainly means that software is everywhere and software development is becoming a crucial success factor, even for companies that would not define themselves as a “software company”. Some go as far as to claim that “Every company will become a software company [or vanish]”. Discussing the latter usually ends up in a fight about the definition of specific terms (we techies we love to fight about details!) but the general message about the importance of software is undeniable.

So, if we agree on this premise, what does it mean for an automotive OEM or a supplier? It means that the quality of your software will be what sets your company apart from your competitors. It means that having a sophisticated process for maximum efficiency should no longer be considered a “nice to have” thing to make developers happy. It needs to become an integral part of your management strategy.

The A in DevOps stands for Automotive

With the “Software is eating the World” premise in mind everyone is looking for solutions. And the Jenkins Ecosystem is full of solutions. The DevOps community is full of demos, prototypes and success stories. But if you look closer, they usually end up deploying a web app to the cloud. Also builds and test run on fungible (=interchangeable) agents in the cloud, you can scale anything up to infinity. Got 100 Browser-Language-OS combinations? Just test them all in parallel. Did I mention that everything is just a microservice and runs in containers? This is the picture of the DevOps world that many of us know. Full of easy-to-demonstrate mini examples which use fancy technologies like Docker or Kubernetes that we’ve never even heard about.

In our daily work in automotive software development we deal with huge monsters of legacy software, target specific compilers, hardware resources, etc. Most things take longer compared to “normal” software development, especially regarding web applications. We apply model-based development to handle great complexity and the people involved in developing and testing need a combination of skill sets from software-, mechanical- and electrical engineering.

But fear not! This picture of DevOps approaches being limited to the web app paradise is merely a facade. Soon I saw some familiar faces and the schedule included four embedded talks (given that many talks were on a more abstract level anyway, I think four is a respectable amount). These talks, the discussions I had with my peers and the morning fun run quickly restored my faith into DevOps for our industry. DevOps can be leveraged in automotive, you just need to know which hints to follow and which to ignore.

Leveraging DevOps in Automotive Embedded Software Development

We have to consider the following challenges for our DevOps approaches in automotive:

1. Low Standardization for Development & Testing

 2. Limited resources have to be handled efficiently

 3. Feedback comes late or not at all

 4. Changing culture and processes will take a lot of time

These challenges need to be tackled so that your business can truly benefit from DevOps. Managers need to realize that the transformation of culture, workflows and decision processes is vital to stay relevant in today's ever-changing world. My time in Nice was a pleasure and I learned a lot of cool new stuff which can easily overwhelm you. Luckily, I wasn't the only piston head at Jenkins World which lead to great conversations that allowed us to connect the dots between the main principles, the benefits of the cool new stuff and the reality we experience every day. Speaking of benefits, if you're ever in the area - Nice is definitely worth it! Here are some impressions:

 

The beautiful beach just south of the old town

 

Palm trees at the Quai des États-Unis

 

Le Mirroir d'Eau at the Promenade du Paillon 

 

Facing the Place Saint-François from the Promenade du Paillon close to the conference center

 

The Author:

Thabo Krick studied Economic Computer Science at the University of Oldenburg and joined BTC Embedded Systems AG in 2013 as a student. With his team he set up the Jenkins-based software pipeline for BTC development and testing activities across all departments. After his Bachelor degree, he developed plugins and provided technical support for BTC EmbeddedPlatform customers world-wide. Since 2017 Thabo has provided trainings and consulted customers from the automotive domain regarding their testing process, ISO 26262 and automation. In 2018 he became a "Certified Jenkins Engineer" by succesfully passing the exam at the Jenkins World Congress in Nice/France.