Agile Development in Automotive Software Development: Challenges and Opportunities
Agile Development in Automotive Software Development: Challenges and Opportunities
net/publication/281630920
CITATIONS READS
24 7,333
2 authors:
Some of the authors of this publication are also working on these related projects:
HELENA SURVEY - Hybrid dEveLopmENt Approaches in software systems development View project
All content following this page was uploaded by Eric Knauss on 23 December 2015.
[email protected], [email protected]
1 Introduction
Agile software development methods have changed the way software is developed in
many domains. They promise better ability to cope with changing requirements,
shorter time to market, and faster release cycles [1]. In contrast to earlier assumptions,
agile principles have successfully implemented in large-scale software development
and it has been reported that advantages of agile methods can be realized even in such
environments [2–4].
In the domain of automotive software development, introduction of agile methods
is hindered by the fact that software development has to be in sync with hardware
development, which has been used as a strong argument to use a plan-driven ap-
proach. Yet, increased complexity and interdependency of automotive software chal-
lenges the ability to create an accurate plan upfront. In addition, automotive compa-
nies face an increased pressure to shorten their time to market and their release cycles.
In this context, we performed a qualitative study with the following objective.
Research objective: This paper aims at i) understanding to what extent agile
methods are applicable to the software development at Volvo Car Cooperation (VCC)
and ii) preparing the transition of software development at this multinational automo-
tive company towards agile by relating agile principles and practices to automotive
software process challenges.
We approach this objective based on a qualitative explorative case study with one
development section in the powertrain department of VCC. The development section
under investigation is characterized by doing part of the software development in
house. We performed 29 semi-structured interviews with members of the develop-
ment section and triangulated this data with internal documents.
Our main finding is that today, complexity of software, need to shorten release cy-
cles, and pressure to cut development costs has led to a situation where plan-driven
development starts to fail. Our interviewees mention critical challenges they encoun-
ter today, including process perception and reactive mode, multi-tasking and frequent
task switching, individualism and lack of complete knowledge, and long communica-
tion chains and low cross function mind set. All of these challenges can be considered
waste from the perspective of Lean software Development [5–7].
In this section, we present the results from our qualitative study and relate the finding
to the research objectives: Firstly, to check whether agile methods are applicable to
“…we are in a confusing situation and nothing […] works in this confusing state of
working. If this agile thing works out, you would have [helped us a lot].”
We assume that the perceived lack of structure is the consequence of VCC aiming
at increasing their flexibility with in-house software development. Agile methods
might be helpful in this situation by adding just enough structure while still offering
flexibility.
“.. you may be in one meeting yet at the same time you needed at another meet-
ing….”
The domain of automotive software development involves both in-house and supplier
software development and VCC is no exception to this setting. At VCC, the big part
of software requirements come from the electrical department as a result of system
engineering work while the other requirements come from other departments; system
safety, engine and transmission department and legal department. They usually collect
and gather requirements in a tool called Elektra, which acts as a requirement reposito-
ry. These requirements are further broken down at the section, of which some are
developed in house while other requirements are sent to the suppliers or subcontrac-
tors. It is however important to note that these requirements may be hardware, internal
software or supplier software requirements. For supplier requirements, the supplier
decides which development process to follow, and is required to produce working
software fully tested and integrated with the in house software. For software produced
internally, according to the architects it has some elements of following a traditional
V-model where specifications are done first, before design, integration, and valida-
tion. The domain of the network of in-house, supplier and hardware results into inven-
tory and motion. In this, all requirements sent to the supplier are fully managed by the
supplier till integration. This means if anything is missing or not done even if the in
house team can work on it, the software is sent back to the supplier, the interviewees
mentioned this rework could result in bottlenecks caused by process dependencies, if
the software is needed for further activities to take place. One of the software respon-
sible mentioned:
“We keep sending back the software modules to the supply in case there is
something missing, even if it is something small which we can fix internally.”
“There are many projects running at the same time, meaning that each per-
son is participating in more than one project”.
The different roles at VCC section under consideration are challenged with sharing
information and knowledge. This challenge is mainly caused by their working culture
that encompasses on individuals to achieve a common goal. Although each role is
placed in a group, when it comes to actual work, the group influence is minimal. In
addition, the chain of communication at times is long since information has to pass
through different channels to reach a person who is really going to use it. For exam-
ple, if a tester wants to clarify unclear requirements, information has to go through the
software responsible, to the architects, to the electrical department and so on. This in
the end leads to low continuity in development since by the time the information
comes back to the person who initiated it, it may be late as that person may be already
engaged with other activities in a different project. This again explains the problem of
participating in more than one project as already mentioned.
5 Discussion
In this section we discuss the themes we found in the qualitative interview study and
outline agile practices that can be adopted in automotive. For this, we map each theme
to a set of relevant agile methods, principles, and practices. From our interviews, it is
clear that the division under investigation is facing challenges that prevent them to
fully leverage the potential of developing software in-house. The opportunities and
challenges we found were grouped into themes: process related challenges, workload
management, domain specifics, working context as well as information and
knowledge sharing. In Table 2 we summarize opportunities and challenges for agile
methods at the company and suggest agile practices that can be adopted.
The process related challenges seem to be caused by the nature of the organiza-
tional structure, which focuses more on the finished product than on the way the
product is developed. By this all interviewees were less concerned about the process
but instead more concerned on what they have to deliver.
Moreover, the organizational setting and the available competences are character-
ized by low agile knowledge as well as low general software development knowledge
in comparison to the excellent knowledge in hardware development. We triangulated
these results with responses to the agile questionnaire from interviewees and addition-
al managers that showed that, although the teams know the term “agile”, they lack the
full context of it. This can be explained that the automotive industry has traditionally
been characterized more by hardware production than software [2]. Relating this chal-
lenge to the agile methodology, it can be mitigated by having a flexible, holistic prod-
uct development strategy as for example in Scrum [27]. With Scrum, there is a de-
fined product strategy and structure, which accommodate changes at higher level at
the same time leaving room for flexibility and innovativeness. Besides, the process
ability challenges can also be explained by the domain specifics and supplier network.
Automotive companies produce cars in-house by integrating their suppliers’ deliveries
of hardware and software. This means there should be a strategy that can accommo-
date both the in-house process and the supplier process to reduce the inventories and
motions involved. From a lean perspective, the unnecessary motions are referred to as
waste and so lean calls for an absolute elimination of waste in the production process
[6], [7].
Table 2: Automotive challenges and opportunities for agile in-house software development.
Opportunities for Challenges for agile
Theme agile in automotive in automotive Agile Practices
Process ability Perceived lack of Low agile compe- Flexible, holistic product
software develop- tence, development strategy1,
ment methodology Reactive mode
and structure
Workload man- Heavy workloads, Multi-tasking, Task boards1,2
agement Unbalanced work- Task switching, Sprint planning1,
loads Schedule synchroni- Commitment phase2
zation Defer Commitment3
Frequent releases, short
development cycles2
Domain specifics Inventory and mo- Process dependencies Eliminate waste3
and supplier tion, Rework
network
Working context Vague require- Feature context, Requirement Prioritiza-
ments, Separation of con- tion1,2, Emergent Design
Lack of end-to-end cerns, and Metaphor2
knowledge Ramp-up Product Backlog1
User stories/ Product
vision1,2
Sprint Planning1
System metaphor2
Relying on a product
owner1
Culture of sharing Low knowledge Long communication Retrospective1,2,3
information and sharing, chains, Cross function Teams1
knowledge Individualism, Low cross function Self-organizing teams by
No team work mind set encouraging colocation
of all team members1,2
Daily stand up1,
Pair programing2
Continuous learning3
NOTE: 1 – Scrum, 2- Extreme Programming, 3- Lean
The heavy workloads mentioned in the interviews by almost all interviewees have
resulted in multi-tasking, task switching, and poor schedule synchronization. These
challenges indeed affect production since they are bottlenecks to the development
chain. Management also confirmed these effects: the nature of the organization is set
that way. A similar case is also discussed and experienced in another multinational
cooperation in the telecommunication sector where task switching was one of the
bottlenecks at their development section [4]. Looking at some of the agile practices
that can be adopted to solve this issue were; using task boards to show the work to be
done [28], sprint planning to solve product planning issues [29] and having short iter-
ations that can result into frequent releases [20].
The working and feature context showed that teams sometimes lack the domain
knowledge of the products they are working on. This was however explained by the
vague requirements they get from the requirement engineers who mainly have hard-
ware and electronics knowledge than software knowledge. In addition the separation
of concerns where for example architects are doing only architectural work and testers
do only the testing, is also seen as a cause of low domain understanding. Ramp up
was also mentioned and refers to the fact that new comers find it difficult to find their
way around development. This can be related to the process ability challenges as well.
Working context challenges are suggested to be solved by having a product backlog
for requirements [27]. The requirements in the backlog should be prioritized and each
requirement should have a user story that explains what the requirement should do
[28]. Moreover in the development, the use of design metaphors are encourages and
relaying a competent product owner to share the knowledge of requirements [2].
The culture of sharing information and knowledge is something that is vital in
software development[30]. It is in this that teams learn new tools, know each other,
and to improve the process as well as innovativeness [4], [31]. However at the devel-
opment section it was affirmed that there is low knowledge sharing, high level of
individualism and not much teamwork. This results in long communication chains
where people take long to communicate or provide feedback to those who need it. The
lack of teamwork can be explained by teams having a low cross-functional mind-set
and can result into individualism where everyone is concerned about him/herself to do
the work. We suggest retrospectives, a self-organized cross-functional team setting,
team colocation, working in pairs, and daily stand-ups to cub these challenges.
All the challenges mentioned were validated by the management at the section and
are seen to overlap each other. The process related challenges could be the cause of
low domain understanding at the same time can be argued to be the cause of workload
related challenges. On the other hand the domain specific and supplier network chal-
lenge can be the cause of process related challenges, which can explain the working
context challenges. And also having a complex development structure can explain
why there is low knowledge sharing and no team interactions. In other words, these
challenges are intertwined and one can result into the other.
In this paper we presented our findings from a qualitative study with one of the devel-
opment sections at Volvo Car Cooperation. Challenged by its transition towards being
a software-centric company, which shows in the increased need for in-house software
development. The department is looking for ways to improve their software develop-
ment processes and decrease their time to market. Based on semi-structured inter-
views, we discovered specific challenges with the current way of developing their
software. We discuss the applicability of agile methods to these challenges. For VCC,
this study can serve as a first step towards transition to agile methods. Future work
should focus on quantifying and measuring the current challenges so that potential
improvements from switching to agile methods can be proven. We hope that others
find our insights useful for understanding challenges that arise from software and
software development pervading more and more products.
References
1. Cockburn, A.: Agile software development: the cooperative game, vol. 113.
Addison-Wesley, 2006, pp. 2000 – 2001.
2. Eklund, U., Bosch. J.: “Applying Agile Development in Mass-Produced
Embedded Systems,” Springer- Verlag Berling Heidelb., pp. 31–46, 2012.
3. Holmström. H. O.: “Acting Agile in ‘Streamline Development,’” Inf. Syst. Res.
Semin. Scand., 2009.
4. Katumba, B., Antanovich, A.: “Bottlenecks in the Development Life Cycle of a
Feature- A case study conducted at Ericsson AB,” in 7th Annual International
Conference on Computing and ICT Research, 2011, pp. 472–490.
5. Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile
Toolkit. Boston: Addison Wesley, 2003.
6. Shalloway, A., Beaver, G., Trott, J. R.: Lean-Agile Software Development,
Achieving Enterprise Agility. Upper Saddle River NJ: Addison Wesley, 2010.
7. Womack, J. P., Jones, D. T., Roos, D.: The Machine that Changed the World:
The Story of Lean Production. New York: Harper Collins, 1990, pp. 1–11.
8. Hafterson, T.: “Incorporating Agile Methods into the Development of Large-
Scale Systems". UMM CSsci Senior Conference, Moris, MN
9. Salo, O., Abrahamsson, P.: “Agile methods in European embedded software
development organisations: a survey on the actual use and usefulness of Extreme
Programming and Scrum,” IET Software, vol. 2, no. 1. p. 58, 2008.
10. Yusuf, Y. Y., Sarhadi, M., Gunasekaran, A.: “Agile manufacturing: The drivers,
concepts and attributes,” Int. J. Prod. Econ., vol. 62, no. 1–2, pp. 33–43, 1999.
11. Dismukes, J. P., Uppal, M., Vonderembse, M. A., Huang, S. H.: “Designing
supply chains: Towards theory development,” International Journal of
Production Economics, vol. 100, no. 2. pp. 223–238, 2006.
12. Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W.,
Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick,
B., Martin, R. C., Mellor, S., Schwaber, K., Sutherland, J., Thomas,
D.:“Manifesto for Agile Software Development,” The Agile Alliance, 2001.
[Online]. Available: http://agilemanifesto.org/. [Accessed: 30-May-2014].
13. Harrison, R., West, A., Lee, L.: “Lifecycle Engineering of Future Automation
Systems in the Automotive Powertrain Sector,” 2006 IEEE Int. Conf. Ind.
Informatics, pp. 305–310, Aug. 2006.
14. Abrahamsson, P., Warsta, J. , Siponen, M. T., Ronkainen, J.: “New directions on
agile methods: a comparative analysis,” in Software Engineering, 2003.
Proceedings. 25th International Conference on, 2003, pp. 244–254.
15. Schwaber, K., Beedle, M.: Agile Software Development with Scrum, vol. 18, no.
9. Prentice Hall, 2001, p. 158.
16. Beck, K.: Extreme Programming Explained: Embrace Change. IEEE, 1999, p.
224.
17. Paasivaara, M., Durasiewicz, S., Lassenius, C.: “Distributed Agile Development:
Using Scrum in a Large Project,” 2008 IEEE Int. Conf. Glob. Softw. Eng., pp.
87–95, Aug. 2008.
18. Albuquerque, C.: “An investigation into agile methods in embedded systems
development,” Computational Science and Its Applications – ICCSA 2012
Lecture Notes in Computer Science Volume 7335, 2012, pp 576-591.
19. Abrahamsson, P.: “Speeding up embedded software development,” ITEA Innov.
Rep., 2007.
20. Salo, O., Abrahamsson, P.: “Agile methods in European embedded software
development organisations: a survey on the actual use and usefulness of Extreme
Programming and Scrum,” IET Software, vol. 2, no. 1. p. 58, 2008.
21. Tarokh, M.J., Ghahremanloo, H., Karami, M.: "Agility in Auto Dealers SCM,"
Service Operations and Logistics, and Informatics, 2007. SOLI 2007. IEEE
International Conference on , vol., no., pp.1,6, 27-29 Aug. 2007.
22. Dybå, T., Dingsøyr, T.: “Empirical studies of agile software development: A
systematic review,” Inf. Softw. Technol., vol. 50, no. 9–10, pp. 833–859, Aug.
2008.
23. Robson, C.: Real world research: a resource for social scientists and
practitioner-researchers, vol. 2nd. Blackwell, 2002, p. 624.
24. Yin, R. K.: Case Study Research: Design and Methods, vol. 5, no. 5. Sage
Publications, 2009, p. 219.
25. Andersson, C., Runeson, P.: “A spiral process model for case studies on
software quality monitoring method and metrics,” Softw. Process Improv.
Pract., vol. 12, no. 2, pp. 125–140, 2007.
26. Klein, H.K., Myers, M. D.: “A Set of Principles for Conducting and Evaluating
Interpretive Field Studies in Information Systems,” MIS Q. - Spec. issue
intensive Res. Inf. Syst., vol. 23, no. 1, p. 67, 1999.
27. Julian, B.M.: "Scrum Master Activities: Process Tailoring in Large Enterprise
Projects," Global Software Engineering (ICGSE), 2014 IEEE 9th International
Conference on , vol., no., pp.6,15, 18-21 Aug. 2014
28. Guang-yong, H.: "Study and practice of import Scrum agile software
development," Communication Software and Networks (ICCSN), 2011 IEEE 3rd
International Conference on , vol., no., pp.217,220, 27-29 May 2011
29. Schwaber, K., Sutherland, J.: “The scrum guide,” no. October, 2011.
30. Sekitoleko, N., Evbota, F., Knauss, E., Sandberg, A., Holmström, H. O.:
“Technical Dependency Challenges in Large-Scale Agile Software
Development,” Proc. Int’l Conf. Agil. Softw. Dev. (XP '14), pp. 46–61, 2014.
31. Holmström, H.O.: “Acting Agile in ‘Streamline Development,’” Inf. Syst. Res.
Semin. Scand., 2009.