Agile Usage in Embedded Software Development in Safety
Agile Usage in Embedded Software Development in Safety Critical Domain–A Systematic Review 10/10/2018 © Lero 2015 1
Surafel Demissie, Frank Keenan, Özden Özcan-Top and Fergal Mc. Caffery 10/10/2018 © Lero 2015 2
Introduction Motivation The Review Protocol – Research Questions – Search Strings – Inclusion/Exclusion Criteria Results Conclusion/Future Work 10/10/2018 28/11/2020 © Lero 2018 2015 3
Embedded Systems (ES) are composed of two basic components: hardware and software. – Hardware - microprocessor or microcontroller, memory, input output (I/O) interfaces as well as the user interface. – Software – embedded inside the memory. 10/10/2018 28/11/2020 © Lero 2015 4
Embedded Software constraints uses specialized hardware is often co-developed with the hardware constrains the selection of programming languages and tools has a more challenging testing environment must often be highly predictable has sresource constraints such as memory must often be very highly reliable is often subject to rigorous external regulation 10/10/2018 28/11/2020 © Lero 2015 5
Motivation For safety critical products both technical challenges and regulation challenges have be dealt with Agile software development practices can be adopted to deal with these challenges 10/10/2018 28/11/2020 © Lero 2015 6
The approach We performed a systematic literature review (SLR) to achieve the following purposes – To reveal the challenges of embedded safety critical software development in practice, – To investigate the agile practices in use in the embedded safety critical software development 10/10/2018 28/11/2020 © Lero 2015 7
The Review Protocol Research Questions – RQ 1: What are the challenges of implementing agile in embedded software development? – RQ 2: Which agile practices have been used in development of embedded software in safety critical domains? • RQ 2. 1: How are agile practices extended to address the challenges of embedded safety critical domains? 10/10/2018 28/11/2020 © Lero 2015 8
The Review Protocol* *Kitchenham, B. , Charters, S. : Guidelines for performing systematic literature reviews in software engineering. Engineering 2, 1051 (2007) Search Strings Digital libraries (“agile” OR “scrum” OR “XP” OR “extreme programming” OR “test driven development” OR “TDD” OR “lean” OR “Dev. Ops” OR “feature driven development”) AND (“embedded” OR “embedded system” OR “embedded software”) AND (“Safety critical”) 10/10/2018 28/11/2020 © Lero 2015 9
The Review Protocol Inclusion Criteria – Studies on agile implementation for embedded software and embedded system development. – Studies on agile implementation for embedded safety critical systems. Exclusion criteria – Studies discussing general agile software development practices (non-embedded). 10/10/2018 28/11/2020 © Lero 2015 10
Results - Screening Organization of the studies were managed using a spreadsheet and Mendeley Title and Abstract Inclusion and exclusio criteria 10/10/2018 28/11/2020 © Lero 2015 11
Safety critical domains Automotive, Medical/healthcare, Aircraft Mechatronics – The majority of these studies are case studies and experience papers 10/10/2018 28/11/2020 © Lero 2015 12
RQ-1 The challenges related to agile implementation in embedded safety critical domains – Hardware development mostly cause long feedback loops as hardware loops will be longer than the software development loops. – The communication between diversified team members with domain specific knowledge can be difficult – Regulatory standards is a barrier in front of implementing some of the agile practices: continuous delivery 10/10/2018 28/11/2020 © Lero 2015 13
RQ-2 Agile practices which are in use in development of embedded software in safety critical domains – Scrum and XP • Iterative Development/ Small release • User Stories • Planning game • Unit testing • Refactoring • Pair Programming • Sprint Planning • Sprint Review/Retrospective • Story Points Estimation 10/10/2018 28/11/2020 © Lero 2015 14
RQ-2 cont’d Agile practices which are in use in development of embedded software in safety critical domains – Model Storming – Executable Requirements – Test Driven Development – Continuous Integration 10/10/2018 28/11/2020 © Lero 2015 15
(RQ 2 -1) How agile practices have been extended to address the challenges – Scrum and XP practices are combined with other development technologies: • Platform-based design approach • Model driven development – Risk assessment/hazard analysis techniques are applied to ensure safety of the products – End-to-end traceability is ensured to track a work item from its initiation to its closure 10/10/2018 28/11/2020 © Lero 2015 16
Conclusion This review provided information for practitioners in understanding the challenges related to agile implementation and the way in which agile practices have been implemented to address the challenges. The embedded safety critical domain can benefit implementing agile software development practices 10/10/2018 28/11/2020 © Lero 2015 17
Thank you This work was supported by the Science Foundation Ireland grant 13/RC/2094 and co-funded under the European Regional Development Fund through the Southern & Eastern Regional Operational Programme to Lero - the Irish Software Research Centre (www. lero. ie). 10/10/2018 © Lero 2015 20
- Slides: 18