4

A Car App in 6 Months: Mercedes-Benz / Daimler Gains Pace with Cloud Foundry

Daimler enabled faster delivery of a smart Mercedes-Benz app and integrated early customer feedback into development—by relying on Pivotal Cloud Foundry, microservices, and continuous delivery.
Why read this?
Use Case for Cloud Foundry:

Accelerate iterations of the development process, integrating customer feedback for the Mercedes me app—which provides a connected-car experience.

Business or Technical Result:

The updated product was successfully launched in 2016. It took six months of work for the app to reach a stable release (MVP). Currently, it has over 100,000 downloads on Google Play.

Lessons learned:

• Have a hybrid approach: Agile and sprints combined with a mid-term and long-term vision.
• Decouple the processes from the surrounding world to avoid the need to depend on development cycles.
• Everyone in the organization should be involved with the development team and communicate often.
• Pair programming is absolutely necessary.
• Bug fixes should be seen as an opportunity for improvement.

What else is in the stack?

Spring Boot, Java, Jenkins

Cool fact about deployment:

Mercedes-Benz hopes that its app will lead the way to emission-free, self-driving, and connected vehicles by 2020.

Company Description:

Mercedes-Benz is a global automobile manufacturer best known for their luxury vehicles and is a division of the multi-national German corporation Daimler AG. Almost 280,000 employees worldwide work in Daimler, with 129,000+ in the Mercedes-Benz Cars subdivision alone.

Cool fact about the company:

Its founder, Karl Benz, invented the first petrol-powered car in 1886.

The goals of the project

There are four mega trends in today’s automotive industry: connectivity through Internet of Things (IoT), emergence of self-driving, development of emission-free initiatives, and evolution of flexible car usage models. All of the four are present in Daimler’s CASE growth strategy for 2020. (The acronym stands for Connected, Autonomous, Shared, and Electric.)

To this end, the German automobile manufacturer partnered with Pivotal to deliver a significantly updated version of the Mercedes me app—which was initially launched back in 2014. The app was built to provide drivers with a “connected” experience (such as car diagnostics or remote ignition) through a smartphone or Apple Watch.

mercedes-benz-glc-x253_connect-me_04_1920x960_07-2015Image credit: Mercedes-Benz

Daimler wanted to take the Mercedes me service to the next level by focusing on a more customer-centric approach, being able to integrate user feedback in rapid development cycles.

“We wanted to build a connected car app for our customers…bringing up the newest technology to a luxury product.” —Manuel Birke, Mercedes-Benz

 

How the app works

The Mercedes me app is available on the Mercedes-Benz vehicles equipped with a relevant communication module. For cars without the built-in functionality, access can still be provided through a Mercedes me adapter. The app’s services are subdivided into five primary categories:

  • Connect: provides details for diagnostics, remote online services, live traffic information, etc. One of the greatest features is remote parking, when a driver just steps out and watches how the car is being parked by the app. (Check out this video to see this in action.)
  • Assist: helps with vehicle repairs, locating genuine parts, roadside assistance, and warranties.
  • Finance: helps in car payment plans, leasing, and insurance.
  • Inspire: a facility where new ideas for Mercedes-Benz can be developed and discovered.
  • Move: shared driving through car2go and includes additional services, such as moovel, Blacklane, and mytaxi.

Mercedes-Benz-daimler-pivotal-car-app

Through these services, customers gain access to connected driving. With Mercedes me connect, users are able to remotely connect to their cars and see information that will help with maintenance and diagnostics. They can also remotely control their cars though currently limited to functions, such as ignition, temperature, and locking / unlocking.

 

Pay as you go

As mentioned earlier, just like other automotive companies, Mercedes-Benz and Daimler have seen a new trend in the automotive industry—emergence of flexible car ownership models. Shared driving is the answer to a new business model, which caters to customers that need cars on a pay-per-use basis.

Mercedes me users can do exactly this via the app’s car2go service. With it, users can locate and book cars in serviced areas and are then charged by the minute.

car2go North America LLC InfographicImage credit: car2go (a Daimler company)

 

Iterative development

Daimler/Mercedes-Benz deployed the Pivotal’s distribution of the Cloud Foundry PaaS and designed a new workflow around the platform.

Manuel Birke, Engineering Manager at Mercedes-Benz R&D Team, explained how the development process was split into two parts. The first part was the “discovery and framing phase” where they got everything started. The second part was the “iterative approach” phase: from iteration to iteration, they created use cases that immediately got feedback from customers and user studies. That feedback then went directly into the use case.

Mercedes Benz daimler pivotal

Manuel emphasized the need for Mercedes-Benz to quickly react to customer feedback and how Cloud Foundry and the microservices paradigm makes this possible.

“With the microservices architecture, you have the foundation where you are free to choose whatever you want.” —Manuel Birke, Mercedes-Benz

Along with Pivotal Cloud Foundry, the development team made use of Jenkins for continuous integration and rapid delivery, as well as Spring Boot to add flexibility/scalability.

 

Lessons learned

In addition to the shortened development time, Mercedes-Benz and Daimler were able to learn how to adapt to the dynamic nature of Cloud Foundry. Some of their takeaways include:

  • Make sure that everyone understands the mission, the value of the mission, and how they can participate in the mission. Everyone in the organization should be involved with the development team and communicate often. Have a mindset of losing and winning together.
  • Have a hybrid approach. You need to be Agile and have regular sprints, but you also need to have a mid-term and long-term vision. In particular, a long-term vision of how the different parts of the program fit together is required.
  • Make sure you can decouple the workflow from the surrounding world so you don’t need to depend on development cycles.
  • Development plan needs to be agile and dynamic enough to adapt to various situations.
  • Pair programming is absolutely necessary.
  • Bug fixes should be seen as an opportunity for improvement.

Mercedes-Benz-daimler-pivotal-car-app-v2

 

Results and plans for the future

Relying on Pivotal Cloud Foundry, the minimum viable product was launched in six months. With a PaaS and microservices-based approach, Daimler can now quickly deliver updates based on customer feedback. Mercedes me already has over 100,000 downloads on Google Play alone.

It’s interesting to watch how the company is evolving on their digital path to self-driving and emission-free / electric vehicles. Mercedes-Benz’s new E-Class automobiles is the company’s answer to autonomous driving. As for electric driving, Mercedes-Benz has introduced the EQ brand and the adVANce initiative.

All of these go hand in hand with Daimler’s CASE strategy to have all their vehicles emission-free, connected, and have autonomous features by 2020. It’s really amazing that Cloud Foundry is helping to foster this great movement—however, obviously, there’s more than that to this platform. We hope to see that Daimler’s usage of this technology stack will go further and spread across other possible IoT scenarios.

Taking into account that Daimler is already cooperating with several Cloud Foundry Foundation members—Pivotal, Bosch, and IBM—there are chances that the company’s participation in the Cloud Foundry ecosystem will go deeper over time.

 

Want details? Watch the video!

Table of contents

  1. What were the goals in developing the app? (1:18)
  2. What is needed in a complex system landscape? (2:54)
  3. What does it take to have a successful development process? (5:55)
  4. What are the key focus areas in the Cloud Foundry platform?(8:31)
  5. How did Mercedes-Benz collaborate with Pivotal? (13:02)
  6. What does it take to sustain the dynamic process? (15:17)
  7. How to have a successful development process (18:47)
  8. When did the app launch? (22:17)
  9. What are the features of the app? (22:40)

 

Related videos


 

 

 

Related slides


About the speaker

Manuel Birke, mercedes-benz bio
Manuel Birke is an Engineering Manager at the Mercedes-Benz Research and Development Team located in North America. He earned a Master’s Degree of Computer Science from the Technical University of Braunschweig in 2011. Before becoming an Engineering Manager, Manuel also worked as a System Engineer for T-Systems, System Architect for Daimler AG, and Senior System Architect for Mercedes-Benz. He is an expert in C++, Java, and cloud computing.

The post was written by Savva Vyatkin, Carlo Gutierrez, and Alex Khizhnyak.


About the authors

Savva Vyatkin is a summer intern working for Altoros. He is a senior at Campolindo High School. Before becoming an intern, Savva worked as a teacher assistant at the Hackingtons Code School for Kids, volunteered for a crowdsourced project developed by Zooniverse and Cancer Research UK, developed a Tic-Tac-Toe application, founded an Android Club at his school, and became a Gold Division Finalist in the USA Computing Olympiad. He is able to write code in Java, JavaScript, and HTML5.

Carlo Gutierrez is a Research Analyst at Altoros. He has over 8 years of experience in print and online publishing focused primarily on enterprise and consumer technology. He has a background in software technology. Previously, he has served as an Editor for PC World Philippines and Questex Asia and as a Designer for Tropa Entertainment.


Transform your Software Development and Operations Model with the Use of Cloud Foundry

  •  
  •  
  •  
2768
  • TheMeerkat

    Or course “pair programming was absolutely necessary” – it allows Pivotal to sell two developers instead of one and, surprise, surprise, on every project this awful practice becomes “necessary”.

    • Hi,

      This only may sound like a waste of money, but in reality even our developers–who paired with Pivotal, by the way (!)–are very excited about the efficiency of pair programming. I asked them why they like the Pivotal approach, and they mentioned a couple of reasons:

      –lower technical debt (https://en.wikipedia.org/wiki/Technical_debt)
      –better “bus factor” (https://en.wikipedia.org/wiki/Bus_factor)
      –extremely fast knowledge transfer (up to 5x faster onboarding–due to having a person who is aware of all details/pitfalls/issues)

      If PP wasn’t efficient that much, Pivotal wouldn’t have use it for their own internal projects. However, you’d better ask them or collaborate with them–I don’t think it’s a good idea to make assumptions and discuss the company without involvement with them. I also do not think that a manufacturer like Daimler/Mercedes would waste its money in vain. When the speed of delivery matters (and matters a lot), and PP can accelerate the process, why not?..

      At the same time, Pivotal wrote “pair programming isn’t for everyone or every company.” So, sure, it depends. =)

      This tweet explains it in short–better than thousands of words: https://twitter.com/benrady/status/817430925176958977 — There’s nothing more to add. =)

      • TheMeerkat

        “Bus factor” argument is a bad one. It assumes that without pair programming developers divide parts of the code between them and never touch each other code. How is that right?
        “Technical debt” – there is a much better (and cheaper” way to achieve quality. It is code reviews. These achieves better results in terms of quality while not forcing people to sit in an uncomfortable position while looking over each other shoulder.
        Knowledge transfer might work for some people, but not for all. Many people learn better when they have time to think, not when someone else provides them with ready answers.

        As for “wasting money” – there is a lot of it in the software development industry. I have worked in it for long enough to know that.
        BTW – the worst waste of money I have seen in my life was in a company where IT was run by former ThoughtWorks employees (ThoughtWorks is another consultancy with mandatory pair programming). It was the only place when the re-written a not that old application twice in two years, first in Java and then in Scala, for no apparent reasons. There was forced pair programming to the company (I guess they still felt like consultancy employees).

        http://sceptical-meerkat.blogspot.co.uk/2016/12/pair-programming-whats-in-it-for-me.html

  • I found this article very useful.Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up.