The Internet of Things poses new challenges for the software industry. This does not only apply to cars, although connecting cars with backend services seem to be one of the major topics in this field. The Google-Android initiative for cars or the current successes in automated driving are just a few examples demonstrating this. One major aspect in connecting things is that there is little value in providing just the connection. The benefit from being connected always goes hand in hand with the provision of a specific service, which is generating the benefit from the connection.
In the context of software solutions for connected cars, this means that besides providing the connectivity for the car itself and hosting a backend, one major task is to offer the right services for the right purpose. One example of such a service could be offering online navigation. The routing algorithm is implemented by navigation software experts, whereas the data exchange between the car and the backend and the creation of the service is performed by connectivity experts.
Requirements on software development for connected car solutions
As connectivity became a major topic in the automotive industry, Elektrobit (EB) founded the connected car domain in February 2014. The teams in this new domain were already experienced in agile methods like Scrum [SK04] or Kanban [AD2010] and continuous integration. But how does the new key technology, cloud computing, change processes and requirements?
From a technical perspective, the following key points were identified:
- Scalability (T1): Some components are more often used or are more resource intensive than other components. Therefore, ways to replicate specific components in an efficient way are needed.
- Exchangeability (T2): Any component in a major software solution is outdated at some point in time. It is important to find a way to exchange a