Guideline - Introduction Agile and Safety in Automotive Software Development
Guideline - Introduction Agile and Safety in Automotive Software Development
Februar 2021
While every care has been taken to ensure the accuracy of this document, ZVEI assumes no liability for the
content. All rights reserved. This applies in particular to the storage, reproduction, distribution and transla-
tion of this publication.
Table of Contents
3 Workflow 10
3.1 Scrum Workflow 10
3.2 ISO 26262 Safety Life Cycle 10
3.3 Challenges 11
3.4 Solutions 12
4.1 Scrum Roles 13
4.2 ISO 26262 Roles 13
4.3 Challenges 13
4.4 Solutions 13
4 Roles 13
5 Artifacts 16
5.1 Scrum Artifacts 16
5.2 ISO 26262 Artifacts 16
5.3 Challenges 16
5.4 Solutions 16
6.1 Refactoring 17
6.2 Pair Programming 17
6.3 Continuous Integration 17
9 Participating Companies 21
1 About this Document
4
2 Introduction to Scrum and ISO 26262
5
„Agile only plans short-term.“ The combination of a determined to facilitate development teams to
rough long-term and a detailed short-term planning deliver working software within few weeks. To ena-
provides the necessary outlook just like traditional ble this objective, their management framework
planning but also reduces waste in case of plan Scrum defi nes three distinct roles and describes an
changes. iterative, incremental development process (https://
www.scrum.org/resources/scrum-guide). As an agile
„Agile needs no documentation.“ Documentation method, Scrum is primarily an attitude towards
is reduced to the necessary minimum, e.g. for ena- relationships between employees, managers and
bling maintenance and customer guidance. Docu- customers. This attitude is also refl ected in the ter-
mentation intended just for short-term knowledge minology of Scrum, with its origins being borrowed
transfer is replaced by close human interaction. from rugby. In rugby, Scrum describes the situation
when the ball is introduced into the play. Players
„Agile has no automotive application.“ All subject from both teams are packed closely together in a cir-
matter activities necessary for compliance with cular formation, attempting to gain as much ground
quality and safety standards can be included like as possible. Translated to the management frame-
all other tasks. In fact, quality and safety can be work, it is supposed to symbolize the coherence of
improved by an agile working mode, e.g. because the Scrum team and the adherence to rigid roles
suitably applied agile approaches can ensure a con- and processes. The Scrum workfl ow and its roles are
stantly high-quality level and usually supports early described in detail in the following chapters.
verifi cation or even validation.
2.4 Agile Scaling
„Agile can’t handle unforeseen requirement Agile practices and their benefi ts have traditionally
changes.“ During an implementation iteration, been enjoyed by small, co-located teams, as agile
requirements should not be changed, but agile prac- practices were originally designed for a small team
tices enable very late requirement changes without size. To leverage these good results in larger organi-
rework. This enables fast adaptation to changed zations and more complex environments, agile prac-
market needs. tices must be scaled. To meet challenges, including
the integrating of non-development activities, dif-
2.3 Scrum ferent agile scaling frameworks have been proposed
Scrum is a management approach to support the by experts. These agile scaling frameworks are
management of a cross-functional team, especially applied to large projects with multiple cross-func-
in an environment for software development. Jeff tional teams. In the automotive industry the most
Sutherland and Ken Schwaber, inventors of the commonly used frameworks are LeSS and SAFe.
Scrum development management process, were
6
Figure 2: Full SAFe confi guration (source: ©Scaled Agile, Inc.)
7
1. Vocabulary
8. Supporting processes
Figure 3 below shows the structure of ISO 26262. It does not however specify in what ways these require-
consists of twelve parts and is based upon a V-model ments must be met. Agile methods support to meet
as a reference process model for the different phases ASPICE collaboration-related requirements by, for
of product development. The “V” represents the example. assigning roles and facilitating interaction
interconnection between parts 3, 4, 5, 6, 7 and 12. between stake holders. Figure 4 shows the interrela-
tionship between functional safety, ASPICE and agile
For application of agile software development in this case the agile method Scrum.
approaches, part 2 on “Management of functional
safety”, “part 6 on ‘Product development at the soft- Scrum, as seen in Figure 4, can support meeting
ware level”, part 8 on “Supporting processes”, and ASPICE requirements regarding Project Management
part 9 on “ASIL-oriented and safety-oriented analy- and therefore also assists in meeting corresponding
ses” are of primary relevance. requirements in ISO 26262.
8
Agile ASPICE Functional Safety
System Engineering Process Group (SYS)
SYS.1
Requirements Elicita�on
1. Vocabulary
SYS.2 SYS.5
System Requirements Analysis System Qualifica�on Test
2. Management of functional safety
Supports Supports
Requirements Analysis So�ware Qualifica�on Test ISO 26262 for development at development at and
motorcycles the hardware level the software level decomissioning
SWE.2 SWE.5 – So�ware Integra�on
So�ware Architectural Design And Integra�on Test
Figure 4: Interrelationship between Functional Safety, Automotive SPICE®, and Scrum (source: Elektrobit Automotive)
9
3 Workflow
Sprint backlog
10
2-5 Overall safety management
2-6 Project dependent
safety management 3-5 Item definition
The product development phase of the safety life This does not contradict with the requirements of ISO
cycle offers guidance on the product development 26262 as long as it can be ensured that each sprint
and the corresponding functional safety activities at is based on adequately mature input work products
the system level, the hardware level, and the soft- needed for the development of safety-related soft-
ware level. ware and that the resulting software is used in a
suitable way considering the achieved level of safety
Functional safety confirmation measures are per- maturity. Therefore, no software that is suitable for
formed to provide additional evidence for the vehicle testing may be generated in preliminary
achievement of functional safety by the item and its sprints.
elements during the development phase.
Working increments delivered with every sprint
3.3 Challenges may achieve a certain functionality, however from
Scrum and Scrum sprints with a fixed duration of one a safety perspective all increments must also fulfill
to four weeks are based on an iterative approach. corresponding safety requirements. Thus besides
At first glance, it may seem that Scrum sprints are offering working software, additional effort is
not easily matched with the hierarchically modeled required to also achieve the required level of safety
structure of ISO 26262. The major objective at the with each sprint.
end of each sprint is to deliver working software.
11
3.4 Solutions Additionally, both Scrum and ISO 26262 support
To maintain an organization-wide safety culture, a maturity model with corresponding maturity lev-
additional safety activities and mechanisms can be els. Maturity levels define a degree of completion.
included in the product backlog (e.g. definition of By introducing a maturity model, efforts regarding
the required minimum safety maturity depending safety can be divided into maturity levels and dis-
on the intended use of the software, such as vehi- tributed over multiple sprints. The necessary quality
cle testing on proving ground versus testing on and maturity of work products (e.g. software, docu-
public roads). By suitably integrating safety aspects ments, and, if applicable, hardware) to meet safe-
into the backlog and the implemented software, a ty-related due care, can be achieved with suitable
Scrum-based development management supports “Definition of Done” and the corresponding accept-
adherence to safety requirements. A dynamic sprint ance criteria (acceptance review).
backlog also welcomes changing requirements,
even in late development phases, unless there is Detected safety issues are included into the backlog,
an unreasonable negative impact on safety. From prioritized and solved in sprints using a risk-based
a Scrum perspective, teams must be aware that no approach. A subset of all safety requirements may
unrestricted usable software product may be gener- be postponed and implemented later depending on
ated in early sprints during a product development. factors such as milestones defined by stakeholders
Therefore, project planning must not be reduced to (e.g. customer or yourself) or required safety matu-
the planning of each sprint, but must consider the rity of the software depending on the intended use
milestones of the entire project. of the product. It is not necessary to achieve full
safety maturity at the end of each sprint.
12
4 Roles
13
• Development team: • Scrum master:
• Considers higher effort for the development • Supports adherence to safety-related due
of safety-related products in its effort esti- care (e.g. considering the DIA and require-
mation (e.g. additional effort for imple- ments of ISO 26262-2 or ISO 26262-6 for
menting safety measures). the development of safety-related software).
• May also include a dedicated safety man- • Ensures the timely provisioning of the
ager as development team member. required infrastructure and resources for a
• Performs the development with the required safety-related development.
due care (e.g. considering the DIA and • May also be assigned the role of the safety
requirements of ISO 26262-2 or ISO manager.
26262-6 for the development of safety-re-
lated software). The safety manager must also reflect suitable agile
• Ensures that the applied development practices when defining the safety plan. These are:
processes, methods and tools or design and • Supplement the “Definition of Done” with safe-
coding guidelines are suitable (e.g. consid- ty-related content.
ering the requirements of ISO 26262-6, ISO • Support the product owner in the creation of
26262-8, ISO 26262-9). safety-related backlog.
• Informs the safety manager and product • Coordination with other stakeholders (e.g. with
owner about the achievement of func- OEM or suppliers according to DIA).
tional safety for each sprint based on the • Coordination of the required additional func-
corresponding objectives (e.g. set of safety tional safety confirmation measures.
requirements to be implemented that are
required for the intended use of the gener-
ated product version).
14
Combining Roles Figure 10 illustrates a larger Scrum project. A full-
There are multiple different ways to combine the time safety manager is part of the Scrum team.
ISO 26262 roles with the Scrum roles. The combina-
tion is largely affected by how the role of the safety A constellation of multiple Scrum teams is shown in
manager is handled. It is important to note that the Figure 11. One full-time safety manager is support-
safety manager does not have to be organizationally ing multiple Scrum teams. Within each Scrum team,
independent from the team. the relevant members must have suitable safety
expertise.
Figure 9 shows a Scrum team in which the role of
the safety manager is done part-time. The part-time
role of the safety manager can be assumed by either
combining it with the product owner, Scrum master,
or a member of the development team.
Product owner
PO
Scrum master
SM
Safety manager
SaM
Development team
DT
Scrum team
ST
Figure 8: Legend for the following fi gures (source: Elektrobit Automotive)
PO SM DT
ST ST
PO SM DT PO SM SaM DT SaM
PO SM DT
ST2
Figure 9: Small project/complexity (source: Elektrobit Automotive) Figure 10: Larger project/complexity (source: Elektrobit Automotive) Figure 11: Project with multiple teams (source: Elektrobit Automotive)
15
5 Artifacts
Implementation, e.g.:
• Software unit implementation (e.g. as source
code or binaries)
• Embedded software with calibration data
Verification, e.g.:
• Software verification specification
• Software verification report
16
6 Other Agile Practices
Reference: [9]
17
Assessment of the Agile Practice from a Func-
tional Safety Perspective
• The tool chain used for continuous integration
must be evaluated regarding tool confidence
level as well as qualified if applicable.
• Tool chain users must be sufficiently qualified.
• Software from continuous integration may not
be directly released for production, additional
measures are necessary.
• Results from continuous integration can be
given earlier into test (e.g. HIL/SIL test).
• Test during development, not at the end of a
project => Under time pressure (e.g. when close
to SOP), it cannot happen that tests are reduced
to save time.
• Continuous integration improves development
efficiency.
• Automated testing as part of Continuous Inte-
gration supports ISO 26262 as long as suitable
tools are used.
Reference: [8]
Reference: [8]
18
7 Recommendations for Audits/Assessments
19
8 References to other Documents
3. ISO 26262:2018
5. https://www.scrum.org/resources/scrum-guide
6. https://www.scaledagileframework.com/
7. https://less.works/
20
9 Participating Companies
Endress+Hauser SE+Co. KG
Innoventis GmbH
21
Source: Manuel faba - Fotolia.com / Nikolai Sorokin - Fotolia.com / Jeanette Dietl - Fotolia / Daniel Ernst - Fotolia