Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Reliability Engineering and System Safety 200 (2020) 106954

Contents lists available at ScienceDirect

Reliability Engineering and System Safety


journal homepage: www.elsevier.com/locate/ress

A case study of agile software development for safety-Critical systems T


projects
Gibrail Islam , Tim Storer

University of Glasgow 18 Lilybank Gardens Glasgow, Lanarkshire G12 8QQ United Kingdom

ABSTRACT

This study explores the introduction of agile software development within an avionics company engaged in safety-critical system engineering. There is increasing
pressure throughout the software industry for development efforts to adopt agile software development in order to respond more rapidly to changing requirements
and make more frequent deliveries of systems to customers for review and integration. This pressure is also being experienced in safety-critical industries, where
release cycles on typically large and complex systems may run to several years on projects spanning decades. However, safety-critical system developments are
normally highly regulated, which may constrain the adoption of agile software development or require adaptation of selected methods or practices. To investigate
this potential conflict, we conducted a series of interviews with practitioners in the company, exploring their experiences of adopting agile software development and
the challenges encountered. The study also explores the opportunities for altering the existing software process in the company to better fit agile software devel-
opment to the constraints of software development for safety-critical systems. We conclude by identifying immediate future research directions to better align the
tempo of software development for safety-critical systems and agile software development.

1. Introduction Several researchers have argued that such characteristics of agile


software development are best suited to small scale projects [13,14]
The software industry, as a whole, is witnessing a gradual transition with research suggesting that agile softare development is effective in
from traditional plan-driven process models to agile software devel- these contexts [15]. The application of agile software development in
opment [1–5]. A 2018 survey of software industry practitioners found safety-critical systems engineering projects, comprising multiple teams,
that 97% of respondents reported using agile methods [6]. In addition, developing both hardware and software and spanning several years of
the survey found that 78% of respondents reported that the teams in delivery effort, is more contentious [13,14]. Critics argue that such
their organisation continued to use a mix of agile and plan based projects have very different characteristics and constraints that in-
methods and practices. Advocates of agile software development con- validate many of the assumptions underpinning agile software devel-
tend that plan-driven software processes lack the flexibility to respond opment. For example:
to rapidly changing business requirements [7–9]. Agile software de-
velopment addresses this demand for flexibility by emphasising the • Notander et al. [16] argue that the imposition of safety-critical
organisation of work into small co-located teams, short development standards, accompanied by required processes, limits the ability of a
cycles punctuated by deliveries of software releases to customers for software development team to reflect on and adapt their processes
review and feedback, encouraging frequent informal communication as they see fit to meet the project’s goals. This conflicts with the
amongst software team members and the exclusion of practices that do desire within agile software development for teams to take respon-
not demonstrably contribute value to the project customer, often in- sibility for their own processes, selecting and composing practices
cluding formal documentation [10,11]. Such values are embodied in a that fit the demands of the project [9].
number of agile methods, such as Feature Driven Development [12], • Stelzmann [17] argued that agile software development is in-
Extreme Programming (XP) [7] and Scrum [9]. Each agile method may compatible with projects that incorporate a significant amount of
also be characterised by a number of agile practices, such as daily hardware engineering, due to the length of time and cost of building
standup in Scrum or pair programming in XP. Methods may also be prototypes.
customised by the addition of supplemental practices, or practices • [13,18–21] have argued that the demand for extensive supple-
themselves may be customised to meet the demands of the project mental documentation to demonstrate conformance with standards
context. conflicts with the agile principle of prioritising the delivery of


Corresponding author.
E-mail address: gibrailislam@gmail.com (G. Islam).

https://doi.org/10.1016/j.ress.2020.106954
Received 18 July 2018; Received in revised form 12 March 2020; Accepted 23 March 2020
Available online 26 March 2020
0951-8320/ © 2020 Elsevier Ltd. All rights reserved.
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

working software. the company have employed an agile software process (Scrum) within a
Waterfall process for the wider systems engineering project. We ela-
Nevertheless, there is growing interest in applying or adapting agile borate on this integration by describing how the teams have made
software development to safety-critical systems projects, driven by necessary customisations to Scrum to fit within this process. We de-
business demands for smaller and faster deliveries [1,2]. Researchers scribe the successes that the teams have experienced in employing and
have also begun exploring the use of agile software development in adapting individual agile practices, such as, planning poker, continuous
safety-critical systems development [22]. A number of case studies and integration, automated static analysis and code reviews, as well as,
experience reports in the academic literature have reported on this discussing where the use of agile software development has led to
transition in diverse domains, including railways [23], medical science drawbacks. We also investigate practices that the teams have not em-
[24] and most relevant to the present research, avionics [5,25]. ployed, such as, pair programming and user stories, and discuss the
Many of these studies conclude that agile software development rationale for this from the teams’ perspective. Where appropriate, we
requires adaptation for application to safety-critical systems. For ex- relate these insights to the available literature. The work, therefore,
ample, Notander et al. [16] conclude that agile software development, provides a substantial case study based on evidence from industry of the
while not incompatible with typical safety-critical standards, need to be real world challenges of employing agile software development for
modified for use on safety-critical system projects. The practice of safety-critical systems and provide a foundation for future research in
adapting and customising methods and practices to suit local needs has addressing these challenges.
been reported for other software domains [26–28]. However, there has This paper is structured as follows: Section 2 provides an overview
been a very little reported in the literature of the experience of prac- of the relationship between agile methods and safety-critical system
titioners who have applied necessary adaptations to agile methods or development. Section 3 describes the research method for this study
practices in the context of safety critical system development. Therefore including the design of the semi-structured interview instrument and
there are many open questions about the selection of particular adap- validation of the findings in a review workshop with the company.
tations and their efficacy in different contexts. Section 4 provides an overview of the company, and how it approaches
To continue to address this gap, we conducted a series of semi- systems engineering, giving an understanding of the context in which
structured interviews with software engineers working for a large agile software development is employed. Section 5 summarises the use
avionics company in the United Kingdom (referred to as ‘the company’). of agile software development, including specific practices, to date
The company as a whole is engaged in a variety of projects for external within the company, and how these have been fitted into the existing
customers, typically comprising both hardware and software develop- software development process. Section 6 discusses the challenges dis-
ment for safety critical systems. The purpose of the study was to learn covered from the interviews. Section 7 presents the conclusions drawn
about the company’s experiences in the application of agile software from the work, identifies a number of limitations and discusses future
development to safety-critical systems projects and to gain a deeper work.
insight into the difficulties experienced. Therefore, the two research
questions addressed within the context of the case study in this ex- 2. Background
ploratory research were:
This section provides an introductory background to agile software
RQ1 What agile methods and practices are being employed in the development, characteristics of software development work for safety-
context of software development for safety-critical systems? critical systems engineering projects. The section also presents a review
RQ2 What are the challenges in employing agile methods and of related work concerning the application of agile methods to software
practices in the context of software development for safety-critical development for safety-critical systems.
systems?
2.1. Agile software development
Addressing the first question provides an understanding of the use
of agile software development within the company. Addressing the Agile software development emerged in the late 1990s and is con-
second question allows for an exploration of the impact of agile soft- sidered to be a response to the failure of existing plan based software
ware development from the perspectives of the practitioners. We also development processes, such as Waterfall [31–33] and the Rational
seek to understand what challenges they encountered when employing Unified Process [34,35] to accommodate the highly volatile nature of
different practices within agile methods, which practices were rejected requirements for software development projects. A common critique of
and adapted, and the rationale for doing so. Due to the exploratory these methods is that the lifecycle of software delivery is far slower than
nature of the research, a case study approach was taken [29]. An initial the pace of change in the problem domain [9,35–37]. For example, a
interview with stakeholders at the company was conducted as a scoping typical iteration in the Rational Unified Process is between six and
exercise. Following this, a semi-structured interview instrument was twelve months, during which time, the requirements for the project or
developed following Wengraf’s (30) method to ensure traceability be- the technology available in the market place may have changed con-
tween research questions and data gathered. Findings from this stage siderably. Proponents of an agile approach to software development
were validated in a full-day workshop with wider group of participants. [8,37], instead advocate for a process model that is based on continual
We present the full results of this investigation here. review of progress and requirements through continued close colla-
Contribution: This paper significantly extends the existing evidence boration with the customer. Schwaber and Beedle [9], Abrahamsson
base for the application of agile software development within safety- et al. [37] explain that this approach is derived from empirical process
critical systems engineering by investigating the challenges from the engineering, in which, rather than attempting to design a software
perspective of practitioners. We conducted four semi-structured inter- process apriori, process engineers closely monitor and make small,
views with employees of the company in a variety of roles in different frequent changes to the production process. As a consequence of this
software projects and with diverse experiences. The interview structure approach, a team practising agile software development will still begin
was based upon the information gathered during an initial exploratory work with a broad understanding of the long term objectives for their
conversation with two senior employees. The findings of the study were project, but will avoid detailed planning for all except the most im-
validated in a workshop with a wider number of participants drawn mediate project activities.
from across the company’s software development function. The extent Agile methods are a family of software process models that share
of the material generated from these interviews allowed us to gain this common agile philosophy. Examples of agile methods include Lean
significant insight. Specifically, we report on how some teams within [38,39], Crystal [40], Feature Driven Development [12], Extreme

2
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

Programming (XP) [7] and Scrum [9]. A unifying characteristic of these which software development will proceed is either required or re-
process models is that they are iterative and concurrent. Software de- commended and (ii) objective-prescriptive: that defines what objectives
velopment takes place within short iterations of typically two or three the resulting system artifacts must satisfy, without stating how the
weeks, but sometimes as short as a single day, punctuated by deliveries objectives are achieved. For example, the avionics standard DO-178C
to a customer for immediate feedback and review. In further contrast to specifies 71 objectives in total, covering the full scope of the software
plan based methods, within each iteration, multiple software develop- life-cycle. The number of objectives that must be met is dependent upon
ment activities may occur concurrently, including requirements ana- the level of criticality of the system, a qualitative scale, ranging from
lysis, design, implementation and testing. Each agile method is itself Catastrophic through to Minor. Each of the objectives requires per-
further characterised by a set of practices undertaken to support de- forming different activities, as a result of which, a number of artifacts
velopment work and manage the complexity of the concurrent software are produced including documents. These artifacts are presented as
process. Examples include backlog grooming, planning poker, sprint proof of conformance at the certification stage. Demonstration of con-
planning daily standups and retrospectives from Scrum [9]; spike pro- formance means doing additional activities which also impacts the pace
totyping, automated unit testing and refactoring in extreme program- and cost of development [45]. For example, the objective “Source Code
ming and value-chain mapping in Lean [38,39]. complies with low-level requirements” can be demonstrated through
According to industry surveys, Scrum and XP are the most fre- the artifact “Software Verification Results”; and “Assurance is obtained
quently reported methods employed by software teams for organising that software life cycle processes comply with approved plans” is de-
an agile software development process [6,33]. Schwaber and Beedle [9] monstrated through software quality assurance records.
and Lei et al. [41] state that the Scrum process works well for small According to Notander et al. [16], means-prescriptive standards
teams of between three and nine members. Key roles within Scrum dictate traditional life cycles, making accommodation of agile software
include the Scrum master, responsible for facilitating team activity and development much more difficult. On the other hand, objective-pre-
the product owner, responsible for managing the relationship between scriptive standards, such as DO-178C may offer fewer restrictions.
the customer and the team. The Scrum process comprises of short
iterations called sprints, typically lasting 1–3 weeks. Each sprint begins 2.3. Related work
with a planning meeting during which new requirements are trans-
ferred from the product backlog to the sprint backlog. The sprint begins Much of the published literature on the application of agile software
once the requirements are agreed for the sprint backlog. Communica- development to safety-critical systems work is speculative, suggesting
tion between team members is maintained through a daily meeting, considerable uncertainty amongst practitioners concerning how best to
called a stand-up, during which each team member briefly reports proceed in applying and adapting agile software development in the
progress, plans and any issues that have arisen. At the end of a sprint, context of safety-critical systems development. In a recent survey of the
the team holds a review meeting during which progress is compared field, Heeager and Nielsen [43] reviewed 51 papers published over two
against the goals of the sprint. decades (2001 – 2018). Heeager and Nielsen found that of those papers,
The XP process, as described by Beck et al. [8]and Wang et al. [33] 10 were based on case studies and a further 5 were considered to be
has a similar focus on short iterations punctuated by releases to the experience reports, such as Gary et al. [46]. Another experience report
customer. Similar practices to Scrum are also advocated for project not listed by Heeager and Nielsen [43] is the work by Chenu [25].
management, such as a daily stand-up meeting and release planning for Relatively few studies have developed conclusions based on detailed
an iteration. However, in contrast to Scrum, XP practices focus on the interviews with practitioners. Of the existing research, McHugh et al.
lower level activities associated with software engineering. For ex- [24] conducted interviews with practitioners working on the develop-
ample, XP advocates the use of user stories developed in user story ment of medical devices. Notander et al. [16] interviewed five en-
workshops for requirements gathering; test driven development for gineers at four different companies to understand the impact of in-
both new features and bug fixes; and refactoring as an explicit practice creasing demands for flexibility on established safety-critical
to maintain code quality. Other practices are also recommended to development. Siddique and Hussein [21] interviewed 21 individuals,
foster team communication through pair programming, for example. each in different companies in Norway to understand the practical
Schwaber and Beedle [9] argue that the two methods are com- choices made by software engineers in choosing a development
plementary and can co-exist in a single team with Scrum providing a method. Reporting on then on-going interview-based research, Stelz-
wrap around for the practices within XP. mann [17] proposed a classification scheme for different safety-critical
contexts in which agile software development is being considered or
2.2. Software development for safety critical systems applied. Hajou et al. [47] conducted 14 interviews with software de-
velopers in the pharmaceutical industry to understand the reasons for
According to Knight [42] “Safety-critical systems are those systems the lack of adoption of agile software develoment in that context. In
whose failure could result in loss of life, significant property damage, or particular, the authors concluded that the perceived risk of agility mi-
damage to the environment.” Examples include nuclear systems, med- tigated against its adoption.
ical devices, air traffic control, avionics, railway control systems, and A common theme in the work on applying agile software develop-
automotive control systems. Due to the involvement of physical risks, ment in a safety-critical context has been the need for adaptation of
development of safety-critical system development is typically under- agile methods and practices to fit within the constraints of safety
taken within respect to particular generic or domain specific standards standards. For example, McHugh et al. [24] suggested that in-
or other regulatory constraints [43]. Such standards may impose con- corporating agile methods with existing plan-driven methods is the
siderable structure on the software development process including the most favourable choice in the software organisation they studied. To
selection and ordering of activities. Furthermore, standards may specify facilitate this, McHugh et al. propose a hybrid V model which in-
artifacts that must be produced during the development to show con- corporates aspects of agile methods and activities from plan-driven
formance. For example: DO-178C is a standard for development of methods.
airborne software. Similar standards exist for other domains, such as A more extensive investigation of the integration of agile software
IEC 62,304 for development of Medical devices, ISO 26,262 for auto- development with safety-critical systems has been developed in the
motive and IEC 61,513 for nuclear. SafeScrum method [48]. The original motivation for this work was the
Regulatory standards can be classified by their scope i.e. generic vs. integration of the Scrum method with the IEC 61508, a high level
domain specific [16,44]. Notander et al. [16] divide regulatory stan- standard for safety-critical systems. The key intuition in the approach is
dards into two categories (i) means-prescriptive: in which the methods by that safety requirements change far less frequently and are far more

3
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

certain than product requirements. To accommodate this, the Safe- more Central Research Questions (CRQ) that encompass the broader as-
Scrum method (a) focuses only on software development within the pects of the research purpose. In the current work, the RP is refined into
overall system engineering process; and (b) maintains separate Scrum two research questions stated in the introduction and included in the
backlogs for functional and safety requirements. figure for completeness. Each CRQ is divided into a number of Theory
Later work on SafeScrum extended the assessment of its compat- Questions (TQ), specific propositions to be investigated during the
ibility with a variety of other safety standards, such as in the petro- conduct of the study. For example, CRQ1 is refined into two TQ, in-
chemical industry [49]. Other authors have also considered extensions cluding “TQ1.1 What agile methods are employed in practice?”. To
to the original SafeScrum method, including the integration of change answer each TQ, a number of interview questions that will be presented
impact analysis into the agile change request lifecycle [50], safety to the participants are defined. The figure shows a sample of interview
analysis [51] and configuration management [52]. questions for TQ1, with the full interview instrument available for re-
A limitation of much of the work on SafeScrum is the lack of case view [54]. This approach provides a traceable hierarchy and rationale
studies or experience reports, evaluating the method through industrial behind every interview question.
experience. However, Hanssen et al. [53] undertook a two year case Once an initial version of the interview instrument was prepared, it
study of applying SafeScrum to the development of a fire detection was validated by an independent academic expert who did not have any
system. As a consequence of the case study, the authors discovered the involvement in the research. The validator was contacted by email to
need to augment SafeScrum with an embedded quality assurance role arrange a teleconference during which all questions in the interview
within the development team. The duration of Hanssen et al.’s case instrument were reviewed. The validator advised altering the order of
study demonstrates the difficulty of conducting real world evaluations questions to facilitate the interview process, but did not recommend
of methods for safety-critical systems. Equally, the work demonstrates changing the content of any questions. A series of mock interviews were
the importance of doing so in order to identify necessary adaptations to also conducted with non-participants in the study to familiarise the
theoretical process models. researchers with the structure of the interview instrument and to test
the timing and duration of the interviews.
3. Research method Four interviews were conducted during four sessions. Our intention
was to gather data from multiple perspectives within the company,
The company that is the focus of this study is a large multi-national creating a broader understanding of the research. Interviews were
that develops products in the avionics sector. The company is engaged conducted with five practitioners (Participants P1-P5) with different
in a number of projects concerning the design and development of experiences, expertise, and roles. These experiences included acting as a
safety-critical systems, comprising both hardware and software. As project manager, requirements engineer, software developer and a
discussed above, the company had begun to experiment with the use of member of an integration team. The fifth participant, P5, is a systems
elements of the Scrum process and other agile practices. During this team lead and participated in all the interviews. The first four inter-
period, the researchers were invited to conduct interviews with a viewees were working on three different projects within the company.
number of the company’s employees who had been involved in this The first team had some experience of employing agile software de-
transition process. The purpose of this study was to explore and un- velopment within their projects whereas the second software team was
derstand the application of agile software development to the devel- considering its use because they wanted to be able to deliver more
opment of software for safety-critical systems from the perspective of frequent releases. In both cases, the participants interviewed had used
practitioners. The study sought to identify both: the benefits recognised an agile method and associated practices in their previous projects
by practitioners in using agile methods and practices in this context and within the company. However, the third software team was reluctant to
the challenges and limitations experienced. We conducted a series of adopt agile software development and wanted to retain their existing
interviews with practitioners at the company. plan based process, which resembled Waterfall [31]. The third team felt
Since this was an exploratory study, and the researchers did not that they worked effectively within this process and although aware of
have prior experience of the company’s work, the first stage of the re- the use of agile software development elsewhere within the company,
search process was an unstructured interview (Interview 0) with two did not see the need to begin introducing an agile method or practices
senior employees of the company. One of these participants, who also to their own software process. All the participants, including the ones
participated in all the following interviews, was the team lead of a with experience of agile software development within the company,
systems team, which was responsible for elaborating requirements and worked on avionics related projects requiring D178-C certification. A
disseminating these to other teams within a larger project. The other summary of the interview participants is presented in Fig. 2.
participant was the Head of Software Engineering, who is responsible The approximate duration for each interview was 90 minutes.
for the overall software development function of the company. The Interviews were transcribed and sent to the participants for validation,
interview meeting continued for 90 minutes. This interview was con- permitting participants to make additions or clarifications. After getting
ducted in person, with one of the researchers taking extensive notes verbal permission from the participants, the transcripts were used for
during the interview. A memo was prepared summarising the answers analysis. The transcripts from the interviews were then analysed to
to questions asked. This memo was validated by one of the interviewees answer the theory questions. The analysis of the gathered data is also
during a follow-up discussion. The answers to this initial interview performed by using Wengraf [30]’s guidelines, using a bottom-up ap-
provided guidance to help scope the next stage of our research. proach to answer the questions at each level.
Following this stage, semi-structured interviews were used to gather For the analysis, answers to the questions were gradually ag-
data. This approach offers freedom of expression to the participants, gregated at each stage in the hierarchy. A table was created similar to
and open-ended questions prompt discussion aiding the interviewer to Fig. 1 for this purpose. Answers to every interview question from all
explore a particular theme. Following McHugh et al. [24], Wengraf’s participants were pasted in the Answer column next to the respective
guidelines were used to construct the interview instrument [30]. Fig. 1 interview question. Answers to every group of IQ relating to each
illustrates how Wengraf’s method was applied to the design of the semi- Theory Question were then merged to form a story. The group of In-
structured interviews. terview Questions relating to each Theory Question was deleted such
This is a top down approach beginning with a Research Purpose (RP), that each Theory Question had a descriptive answer. The same process
in this case: “Learn about application of agile software development to was repeated again to find answers to CRQs.
software development for safety-critical systems and to gain a deeper The descriptive answers to each CRQ were reviewed by the authors
insight into difficulties experienced when developing avionics systems independently, and the issues reported in them were highlighted. The
using agile methods and practices.” The RP is then refined as one or notes were compared afterwards in a meeting to discuss the discovered

4
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

Fig. 1. Research question construction process following Wengraf’s method [30] for the interview instrument used in the Avionics Company.

4. Overview of software development in the company

This section draws on the analysis of the answers to the interview


questions to develop a description of the structure and process for
software development used by the company. The description below
addresses Research Question 1, as well as providing context for the
discussion of challenges which were identified during the interviews
and discussed in Section 6. Each theme discussed below was identified
in the interviews as having an impact on the introduction of agile
practices to the software teams. The Section begins with an overview of
Fig. 2. Summary of Interview Participants. the a typical project team structure, organised to accommodate both
hardware and software development processes. The section then de-
scribes the overall software development process within the company
issues. Eleven challenges were identified during this data analysis.
and where agile software development has been adopted within in-
These results were presented to a group of people from the company for
dividual sub-teams. Next, the section describes the relationship be-
validation. The participants in the workshop validated all the chal-
tween a typical project in the company and a complex network of
lenges identified during the interviews, with the exception of one. In
project customers. The next section reviews the requirements man-
addition, the participants of the meeting raised three new challenges
agement process, showing how requirements derived for the overall
which were not discovered during semi-structured interviews. All
project are communicated to the software teams and sub-teams. Finally,
fourteen of these challenges are discussed in Section 6. As a result, we
the process of delivering and certification for products according to
also gained an understanding of the factors that directly or indirectly
safety standards is described.
affect and contribute to the actual and perceived benefits of agile
software development within the company. At the end, the findings
4.1. Project team structure
from the interviews were mapped to findings in the literature. Note that
where we use quotations below to illustrate a challenge it is sometimes
The size of project teams within the company varies considerably,
necessary to anonymise some of the topics to preserve confidentiality.
typically between 50 and 200 people. Within a project, a software de-
All the work described in this section took place between March 2017
velopment team (SDT) itself typically comprised of 20 to 35 people,
and March 2018.
with the rest of the project team working on different other components
or functions within the project, including the systems integration team,
hardware, firmware, software, safety, flight trials, configuration and the

5
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

management team. 4.3. Project customers


The SDT has its own organisational structure. The overall team has a
small management unit, comprising a lead software engineer, deputy From the perspective of a project software team, the relationship
lead software engineer, program manager and coordinator. The lead with the project customer was viewed as complex, with the project
software engineer and deputy lead software engineer share technical actually having several ‘layers’ of customer (Fig. 4). The systems team
and managerial responsibilities for the overall project. These include acts as the most immediate customer for the software team, providing
the overall software lifecycle, comprising requirements, definition, de- the requirements specification (recall Fig. 3). In turn, the systems team
sign, software implementation, quality assurance, certification and manages the relationship with the project’s immediate external cus-
delivery. The lead software engineer is also responsible for customer tomer. The systems team is therefore responsible for gathering re-
liaison and has sign-off authority for documentation and software quirements from the external customer. As the company may be part of
changes. The lead software engineer is also responsible for assigning a larger project consortium, the external customer may itself also have a
responsibilities to individual software sub-teams. The software program further external customer who will have a significant influence on the
manager has responsibility for project planning within the software direction of the project. Alternatively, the system under development
team and resource allocation. Finally, the software coordinator is re- may have several direct customers. In all these cases the software team
sponsible for maintaining documentation, for example, meeting min- may find themselves interacting less frequently with these stakeholders,
utes. or doing so through informal communication mechanisms, indicated by
A software team is typically divided into a number of sub-teams, the dashed arrows in Fig. 4.
which specialises in a particular functional aspect of the software pro- One of the interview participants (P5) described this as “a very
ject and consists of either four or five people. Each sub-team has a sub- complex stakeholder relationship in terms of lots of people with dif-
team leader, who is expected to be able to run a full lifecycle including ferent views and influences.” The customer has a certain delivery
high level design and requirements analysis within their area of ex- schedule which has the main influence over the overall schedule. The
pertise. The sub-team leads also act as functional champions because of interview participants reported that in the past, the overall project
their expertise in some area of functionality. The sub-team leaders ty- management team decided the project schedule, but now the software
pically have 15 to 30 years of experience. Other members of the team team also give their input on tasks and schedule. Although the wider
have different level of experience, from recent graduates to 20–30 years project management team sets the major milestones in agreement with
of experience. the external customer, the software teams set their own milestones
within these boundaries. This gives the team members a sense of
4.2. Development process ownership and responsibility. Agreed delivery dates are then passed
onto the external customers. Normally, the software team would in-
Most of the projects within the company, including the participants’ volve more people if there is a risk of missing the delivery date but if the
current projects, are planned to run for several years and are divided up schedule needs to be changed it is done after negotiation with the ex-
into a number of phases with each phase intended to deliver further new ternal customer. Final decision about changes to a schedule is made by
functionality on the product, as agreed with the customer(s). The the Software Function lead.
duration of a phase varies from project to project. In some projects, a For the software team, the “customer” is primarily the project’s
phase is between four (4) and six (6) months and in others, a phase is systems team, who partitions and allocates requirements to teams
between one (1) year and eighteen (18) months. Each phase is allocated within the project. Consequently, the systems team is usually one or
a number of requirements to be implemented, agreed with the project two delivery phases ahead of a software team. For example, the systems
customer. At the end of each successful phase, a delivery is made to the team will be preparing requirements for the second or third phase while
customer comprising (in the ideal case) the features of the requirements the software team is working on the first phase. The main involvement
that were originally agreed upon. of a systems team is in the beginning (elaborating requirements) and at
A typical phase is illustrated in Fig. 3. Requirements are created in the end (completing integration) of each phase. A systems team does
the IBM DOORS documentation tool by the systems team and later not participate in the feedback reviews regularly, but if there is a very
exported into the IBM Rhapsody modelling tool used by the require- complex task (a complex algorithm to be implemented, for example),
ments analysis sub-team within the SDT. The requirements analysis they would get involved. The systems team also provides inputs for
team translates the requirements into a high level software architecture. acceptance testing.
During this process, the software team and systems team are in constant The interview participants reported that in the past, their software
communication, due to the need to further negotiate and clarify the team has had ready access to the systems team, who can be approached
requirements. Once the requirements and architecture are agreed upon, on a needs basis. However, there is no pre-defined way of soliciting
they are allocated to different sub-teams by the requirements manager. feedback from the respective systems team. Rather, it is mostly in-
Within each sub-team, the company allows some flexibility with regard formal, whenever needed. Conversely, gate reviews and interim reviews
to the software process, for example, with some sub-teams using a are formally performed with the external customer (representatives).
Waterfall software process within a single phase and others applying Normally it takes more than six weeks to get feedback on a delivery, as
the Scrum method. Consequently, one participant (P2) called their the customer requires this time to test the new features on the in-
software process “water-scrum-fall”, as Scrum was inserted into the tegrated system. Certification also delays delivery sometimes.
middle of the company’s overall project lifecycle. Towards the end of a
phase, different functions of the software are packaged into an in- 4.4. Requirements management
tegrated software release. The software is delivered to the integration
team to develop an overall delivery release to the project customer. Requirements are analysed and refined at the start of each iteration.
There is a set practice of having a weekly technical and management At the end of requirements analysis phase of each iteration, the re-
meeting and a monthly software team meeting. Minutes and actions are quirements are reviewed by a panel which involves the software team
captured at the meetings and distributed only to the relevant people. lead and software engineers. Requirement specifications are delivered
Other than the formal meetings, spoken/face-to-face communication is to the software teams in textual form with some supporting UML dia-
the main type of interaction that takes place between the software team grams to help the engineers understand the requirements.
and other teams. Within each sub-team, members are co-located and Requirements are managed through the IBM requirements management
interviewees report that the culture within the company encourages application, DOORS. The interview participants reported that require-
workplace interaction. ments analysis and decomposition is a challenge and depends on an

6
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

Fig. 3. A typical phase of a project from the perspective of the Software Team.

Fig. 4. Layers of Customers. Solid arrows represent formal lines of communication. Dashed arrows represent informal or infrequent lines of communication.

engineer’s familiarity and experience with the nature of task to be into more formal structured text. However, one participant (P1) re-
performed well. There is no typical number of requirements for a phase. ported that this turned out to be a “disaster.” According to P1, the
The average number of requirements per iteration is unknown because customer reported their displeasure with the transformed requirements
it depends upon the amount of work required to meet a particular re- because they were less readable than the original.
quirement, due to the unequal size of requirements. The interview participants reported that requirements change was
One software team had experimented with converting requirements experienced in all projects. One participant estimated that 10% of the

7
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

requirements changed throughout the software lifecycle. Changes were experience of using agile software development, while expressing
reported due to a variety of sources, including requests from customers, his expectation from its adoption, emphasized the need to deliver
the discovery of conflicts between the architecture and requirements more frequently “... we would be able to provide the customer with
during implementation or the need for further requirements elaboration more frequent deliveries of the software”.
or additional scope. The need for a change in the requirements can be • Improving communication within the software team. One inter-
discovered at any stage from requirements analysis to delivery. viewee (P1) reported that “... we wanted more visibility in the
Participants also reported that the discovery of requirements changes project i.e. who is doing what?, how many tasks have been com-
often necessitated rework or coordination with other teams in the pleted?, estimates, performance and list of completed jobs etc.”
project to assess impact, particularly the project’s systems team. It was Tools like Jira Kanban boards were reported as helpful in this re-
also observed that requirements tended to stabilize towards the end of gard.
the project. • Improving team member engagement with the coordination of the
software project. Freedom to select one’s own tasks has prompted a
4.5. Product integration and certification sense of responsibility among team members. While expressing
benefits of using Scrum, a participant (P1) said “The level of en-
Integration and certification is performed iteratively, beginning gagement of some of my engineers is much better... That is the
within the software team, before an entire product release is provided massive difference, my teams are working much better.”
to the customer. Certification occurs when a formal release is due to be • Earlier discovery of problems. The interviewees reported that pro-
delivered to the customer. Also, an integral part of the integration blems were often discovered late during integration, requiring more
process is the preparation of supplementary documentation to support costly rework. One participant (P1) while talking about reasons of
certification processes. This documentation includes requirements adopting agile software development commented “... not letting
specifications, risk management plans, accomplishment summaries, things get too far before realising its gone wrong. It’s that visibility
release information and high level and subsystem design documents. thing. It’s about knowing about problems sooner”. Another partici-
Software teams manage all their documentation and design models pant (P3) who did not have any experience of using agile software
locally using the Serena Dimensions configuration management tool development, while discussing the reasons seen for using agile in
and generally only have visibility of other teams’ documentation during other projects, said “... so we get feedback earlier.”
the integration and certification process. Documentation is reviewed
whenever a significant change is made as well as during the certifica- The Scrum method itself had been selected by these teams for this
tion process. Documentation is formally reviewed during a lifecycle in part of the process because it was perceived as the de facto industry
the appropriate phase. For example, test reports will be reviewed in standard, and within the scope of a sub-team, did not require senior
testing. management support to allow the experiment. At the time when in-
More recently, projects have used a practice of delivering engineering terviews were being conducted, the organisation had not undertaken
releases as well as the end of phase formal releases. Although these are significant Scrum training for its personnel. Rather, individual teams
releases that are provided to the customer, they are done so in order to had chosen to adopt agile methods and practices within their own parts
generate feedback and do not undergo the whole certification process. of a wider project.
The participants reported that some visibility of progress is lost Each team has a scrum master responsible for coordination of ac-
during the integration process. This happens because during the in- tivity. Project planning is organised into a series of sprints with asso-
tegration process there are many other ways of tracking progress, and it ciated planned releases, with each sprint typically lasting one or two
is possible that software team members do not update internal issue weeks. The team creates a plan at the start of each sprint, using a Jira or
tracking (such as Jira) because this creates duplication of work. Kanban issue board to track progress. The scrum master begins by
Moreover, if a problem arises in integration, it is recorded via a project calculating the available effort in terms of story points in the sprint
wide defects recording tool, and the respective software team involves based on team size and availability. The teams do a “T-shirt size” es-
the people they need immediately in the task. Thus the benefits of in- timation of the tasks and record this on Jira boards. Numerical in-
ternal progress tracking within the team are lost during integration. formation is extracted with the help of a formula from T-shirt estima-
tion and entered into a Microsoft Project plan for long term planning.
5. Use of agile software development Items from the backlog are then selected for completion and allocated
to the sprint.
This section discusses the extent to which the company has so far The interviewees reported that the first and second teams follow the
used agile practices, building upon Section 4 to address Research daily stand-up ceremony to facilitate communication. In the second
Question 1. Each team has some flexibility in choice of software pro- software team, the lead software engineer acts as the product owner, so
cess, depending on the nature of the overall project, with the final se- the team also conducts customer demonstrations. However, the first
lection of lifecycle being made by a team’s lead software engineer. The software team does not have customer demonstrations because they do
company has developed a series of questions that guide for the selection not have a product owner within the team. Customer demonstrations
of a software process. Historically, teams have typically employed are also interpreted as something that induces a sense of failure or in-
Waterfall or an iterative process because of the duration of the projects. ability to finish the task on time, by the first software team we inter-
Two of the interviewees had previously worked in software teams viewed. According to the first software team lead (P1) “... at times the
that employed agile methods. In their current projects one participant teams don’t feel failure, and I know that meeting (customer demon-
had also begun employing elements of Scrum, several months prior to stration) helps with the feeling of failure, which would be nice some-
the interviews. Several motivations for this were given during the times... It helps with building reasonable pressure on the team
course of the interviews: member.” The interviewee suggested that the first software team lead
would rather have a ‘mock’ meeting with another internal team than
• The need to speed up delivery times and produce a series of phased the external customer because they have a very formal relationship
releases for the customer. The second team reported that this goal with the customer with whom the team feels unable to discuss delays.
had not been reached yet, although the first team found employing Neither of the two software teams currently conduct retrospectives. It
aspects of agile methods had resulted in significant benefits. One was stated that the first team does not see the value in it because they
participant (P5) commented that they wanted to be “... giving the are already monitoring progress through Jira boards. Therefore they do
customer many more releases”. Another participant (P3) with no not see the need of having a separate meeting for looking at previous

8
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

performance. Separately, the second team reported that they had ex- concern that doing something an agile way means doing it in a scrappy
perimented with retrospectives. They reported finding the number of way,. you know or doing it in a careless way.”
potential process improvements to consider to be overwhelming and so These concerns were also reflected in the experiences of the first two
had abandoned them until additional Scrum training could be com- teams in employing agile software development. The participants from
pleted. these two teams reported both internal and external obstacles, both in
The team members are encouraged to communicate and help each convincing team members of the benefits of change and in engaging
other, and use this as a means of learning. Pair programming is viewed with the project customer. They found that the application of an agile
only as a form of mentoring in the organisation and people have dif- method was constrained by the customer’s desire for a form of contract
ferent opinions about it. Pair programming is found to be ineffective that encouraged a plan-driven software process. For example, the re-
and a time wasting activity by one of the participants because it has quirements phase is associated with a milestone in the contract for
been observed that the weak member does not learn from it, and delivering a full requirements specification before design and im-
mostly, the stronger member takes the keyboard. According to the lead plementation work proceeds. Further, the participants believed that the
software engineer (P1) “... someone always takes a back seat while the regulatory framework also dictated a plan driven process. Both software
stronger member takes the keyboard.” Others take pair programming team leads argued that “... regulatory standards do not let us choose our
purely as a way to “help each other out.” own method (P1).” In addition, these regulatory standards require
Despite the perceived benefits, participants P1 and P2 also reported production of a lot of documentation.
drawbacks of employing agile software development. First, the team As a consequence, both participants that had experience of agile
has discovered that applying an agile philosophy to design is creating software development picked up the parts of Scrum and agile practices
rework, because short term design decisions are later discovered to be that they thought were beneficial and could be applied without con-
incompatible with the overall product design, “... this is because the flicting with regulatory standards of project contracts. These included
teams think, since they are working agile, they are concerned (only) the use of Kanban boards in Jira, sprints, daily stand-ups, sprint plan-
with the part they are working on.” The Lead Software Engineer (P1) ning and product backlogs. Further, both teams anticipated employing
for the first team further suggested that the team needs some “forward more agile practices, such as the specification of requirements as user
thinking”, for example, to anticipate the need for extension points in stories, in the future. Conversely, both software teams wanted to re-
design. The first software lead engineer felt that the Waterfall process instate the Gate Reviews they were conducting while using Waterfall
helps with this issue by encouraging a more holistic approach to design. but they had not reached an agreement yet on how to do this within
The third team was using a Waterfall process, rather than an agile their agile software development process. Both these teams expected
method. When we asked them if they would consider applying agile that employing agile software development would enable them to de-
software development in the future, several reasons were given for not liver smaller, incremental improvements of the overall system more
doing so. First, the third team believed that agile methods and practices frequently to the customer over the lifecycle of the project, compared
are not suitable for projects where requirements are uncertain or vo- with their existing plan-driven process.
latile. One of the Lead Software Engineers (P4) said “I think one of the
reasons we‘ve not gone agile is experience. You know we‘re experienced 6. Discussion of challenges
with the lifecycles that we follow.” This was a common reply from the
team members who were reluctant to use agile software development. This section discusses the challenges in implementing agile software
The project they worked on was for a new product, but they based their development within the Company, building upon Section 4 and 5 to
software process on that for a long standing (more than 20 years) address Research Question 2. Fig. 5 presents the key challenges elicited
project within the company, “... it used fairly similar processes all the during the interviews. We discuss these challenges under the distinct
way through. So for us on the new product it made sense to stick with themes of Pressure for Waterfall, Coordination amongst Stakeholders,
the non-risky strategy of going with what we‘d done previously. We Documentation Demands and Cultural Challenges, below. For each
know that process works, we know, what we‘re going to get out of it theme, we present and discuss extracts from our interview transcripts
(P4).” In particular, the team believed that the requirements for the where relevant observations of interest are made. For each theme, we
project were relatively well understood and stable, so the team was able also identify relevant literature and discuss the implications of the
to plan Waterfall phases of 9 - 12 months duration, “So I guess it was a findings.
sort of macro-agile process... but the sprints were just incredibly long...
But each of those was separate in a way (P4).” 6.1. Pressure for waterfall (challenges 1, 2, 3, 4, 5)
Second, the third team believed that applying an agile method only
within the software team would create difficulties for coordination with Challenges 1, 2 and 3 reflect the difficulties of implementing agile
the other teams in the project (hardware, firmware, integration etc.). A software development in a wider software development culture where
software team does not work in isolation as said by one of the parti- the Waterfall process has become embedded. All the participants except
cipants (P4) “... we do work very closely with the systems team to one said that regulatory standards are one of the main hurdles in use of
define our requirements, we work very closely with the hardware and agile software development. They anticipated that Waterfall imposed
firmware teams to integrate software, so those, you know would all by standards would prevent the use of an agile method (Challenge 2).
need to be working to the same schedule, and the same set of sprints.” For example, “Our standard says that we use waterfall... it doesn’t say
Consequently, there was concern that applying an agile method and that we can pick our method (P1)” Further, the participants stated that
practices within the software team would complicate this as different the company’s internal standard, which conforms with DO-178C pre-
teams work at their own pace and the schedules between different vents the use of agile methods, and that customers are also wary of such
teams often mismatch, “... they may not be working to the same sche- an approach. However, the other participant (P4) argued that “... No, I
dule as we are... that’s not something we’re very good at (P4).” don’t think there are any conflicts... I can’t see really why it would be a
More widely, the third team believed that the company as a whole problem.”
lacks guidance on how to adopt agile software development when de- Reflecting on the emphasis on Waterfall in the standards, the par-
veloping software for safety-critical systems and are uncertain about the ticipants also reported that the use of Waterfall is often mandated by
suitability, “... there’s always been a fear of certification... and how an the (external) customer which restricts them from using agile software
agile development would affect that?.” The Lead Software Engineer development (Challenge 3). Within the company, contractual agree-
(P4) for the third team also pointed towards the need to change the ments are the primary driving force of a project. Plans, milestones,
mindset of the people saying “... within the business there is a fear or a term, and conditions of a project greatly impact the development

9
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

Fig. 5. Summary of challenges identified during the research. Unmarked challenges were discovered during the semi-structured interviews and confirmed in the
validation workshop. Challenges marked †were discovered within the validation workshop. The challenge marked ‡was discovered during the semi-structured
interviews, but rejected during the validation workshop. All challenges (including 14) are reported for completeness.

lifecycle of a project, “the customer is saying, we want you to use freedom to the development team and the remaining “flexibility” is
waterfall... because of the way we get a set of contractual requirements constrained by regulatory standards.
and we must complete all those contractual requirements, rather than There are mixed opinions about use of agile software development
create a set of requirements then cut dead at a certain point (P1).” This for software development for safety-critical systems in the literature.
perspective reflects the culture within safety-critical systems develop- For example, VanderLeest and Buter [55], Cawley et al. [57] and Wils
ment of defining the full requirements at the beginning of the project et al. [5] all argue that DO-178C does not favour a particular software
because of the need to understand the full features of the software, and development lifecycle, but rather provides process guidelines and (in
how it will integrate with the hardware. As a consequence, most par- total 71) objectives for development of airborne software [58]. Wils
ticipants believed that use of agile software development in full was not et al. [5] argued that a reasonable re-interpretation of agile principles
practical because this would require a different relationship with the would mean they are compatible with certification. In particular,
customer in which requirements were continually refined and re- Wils et al. contend that working software in this context comprises both
negotiated at the beginning of each sprint or release. the implementation and the documentation, because the documenta-
In the literature, VanderLeest and Buter [55] argue that “Con- tion is necessary for the software to be certified as safe to enable use.
tractual models in aerospace expect firm-fixed estimates of large com- Conversely, Winningham et al. [59] argue that agile methods and
plex projects with little room for change. The agile approach of using practices are not developed for safety-critical systems. In order to be
client-driven adaptive planning at the start of each iteration faces the used for safety-critical systems such as avionics, the software process
hurdle of dealing with the potential contractual changes that result has to conform to process standards i.e. DO-178C in the context of the
from such frequent planning.” Limited support for subcontracting is a current study [60]. Several authors have identified and discussed spe-
connected limitation of agile software development reported by Turk cific conflicts. Relevant to our work, agile principles discourage the
et al. [56]. Sub-contracted tasks are usually well defined, and the development of detailed designs that anticipate future requirements
milestones are clearly laid out [56] which already gives a limited prior to implementation work. Beck and Andres [7], for example, allude

10
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

to the ‘you ain’t gonna need it principle’ and argue that the expectation for the software team to allocate packages of functionality to the dif-
of requirements change means that any effort dedicated to design for ferent sub-teams. Later design and implementation work reveals in-
future implementation could well be wasted. However, Chapman [1], terdependencies between functions that were not anticipated during the
Chapman et al. [2], Cawley et al. [57], Wils et al. [5], Chenu [61], Glas requirements analysis phase. This requirements complexity would ap-
and Ziemer [3], Boehm and Turner [14] and Coe and Kulick [58] all pear to be a significant challenge for the implementation of agile soft-
contend that this principle conflicts with most safety-critical standards ware development, since requirements cannot readily be divided into
that mandate the development of a sufficiently detailed design to act as modular, manageable features.
input to certification processes. Changes to the design may invalidate As a result of these constraints, the participants reported that they
the certification status of the product and require an extensive rework feel the time and amount of work needed is nearly always under-
of assurance related artifacts. estimated, and that delays occurred due to the additional effort needed
One particular impact of this emphasis on Waterfall reported by to better understand or implement altered requirements (Challenge 4).
participants is the extent of detailed requirements analysis, specifica- One participant (P3) commented, “there is a high level of, what we call
tion and design that takes place, before implementation work proceeds punt... in our system level requirements which then obviously impacts
(Challenge 1). These processes are accompanied by gate reviews to us downstream.” The fixed price approach to contracts and the esti-
evaluate the quality of work before permitting a project to proceed to mation process does not anticipate this cost of change. In particular,
the next phase. Our participants said, for example “The design itself, we one participant noted that even though change occurs in project re-
tend to come up with fairly stable architectural designs quite early on... quirements or plans, due to requests by the customer, this does not
Specifically because we don’t want to be changing them all the time always get integrated into the estimates for the overall plan “... but a lot
(P4).” of this time, changes come in that are not considered (P3).” However, in
This issue was explored further with the participants. During dis- some cases, the participants did report being able to rely on historical
cussion, it emerged that several of the participants preferred to engage data from previous projects to produce reliable work estimates, “it was
in substantial upfront design, regardless of the constraints imposed by a fairly mature, although [it]’s a new [product], our ... product line is
the standard. This preference was justified by the scale of the system very mature, you know. So the requirements, eighty percent of them
development and the need to accommodate future planned features probably were very well understood at the beginning of the project
within the existing design, “I think you need to be forward thinking as (P4).”
to what your design needs to be (P1).” One of the participants also Similar challenges have been identified in the literature. For ex-
stated that adopting an agile approach to design increased costs of this ample, Wils et al. [5] reported the finding of their study of im-
aspect of the work overall because the team did not design with future plementing XP, conducted at Barco (a major Belgian avionics equip-
requirements in mind and so created substantial additional rework, ment supplier). The company employed XP in order to reduce time-to-
“What I guess was not anticipated was the amount of rework that agile market and respond quickly to change in requirements. However,
is creating for me... I think you need to be forward thinking as to what during the study, it was found that the software project was dependent
your design needs to be (P1).” The participant goes on to explain that upon external factors that were hard to control, such as delays in au-
this anticipatory design is necessary because of the interdependence tomated testing and mismatched hardware development schedules.
between the different teams in the overall project. The team needs to be Large systems engineering projects often depend on significant up-
aware of the expectations of other teams on the software they are front design as a means of coordinating effort between different sub-
working on and anticipate this in the design. teams working on software, firmware and hardware elements [1,2]. In
Despite the preference for upfront design, all of the participants addition, requirements and design documentation serve as inputs for
noted the tendency for the software projects to undergo substantial hazard analysis and other safety certification processes which begin
requirements and consequent design changes once implementation while software implementation is still underway. For example, DO-
begins, with estimates ranging from between 10% and 20% although 178B/C requires early completion and approval of Plan for Software
one participant estimated that deviations from the original plan could Aspects of Certifications (PSAC). Later changes are difficult because the
reach 80%. Our participants also reported that these changes could PSAC has to be updated and re-approved [55]. Therefore, some level of
come from the customer or from the software process itself (such as the detailed design documentation is required for this purpose.
need for further elaboration) and occur throughout the software pro- However, many regulatory standards, such as DO-178C [60] do not
cess. prevent changes to software design because having a rigid upfront
VanderLeest and Buter [55] quote findings from different studies system design that cannot be revisited and changed is unrealistic. The
suggesting that a typical project may experience 25% change in re- concern here then is how much upfront design do is needed and how
quirements, increasing to 35% for a large project. These estimates much change to a design can be accommodated by safety analysis
suggest that there is considerable variability within ‘safety-critical’ processes. Ge et al. [62] demonstrate that design can be simple but
projects as to the degree of certainty in the project requirements and detailed enough to allow preliminary hazard analysis. Ge et al. have
plan, and thus the feasibilty of applying a plan-driven process. On the used the term “sufficient design” to refer to the level of detail in the
one hand, the extent of volatility in requirements for safety-critical initial design without explaining the minimum level of detail needed to
systems suggests that adopting an agile method or practices would be conduct preliminary hazard analysis. Critically, there is a need to de-
appropriate for requirements engineering in this context. However, velop a design process that copes with both evolution and satisfies the
there is a need to understand how agile methods and practices can be needs of existing hazard analysis techniques, or develop a hazard
adapted to accommodate the need for continual certification against analysis technique that copes with evolutionary design.
standards. As discussed above, SafeScrum [48] is an indication of the Advocates of agile software development, such as Beck and Andres
interest in this area. There is also a need to extend agile methods and [7], advise against undertaking detailed software design work prior to
practices to mitigate changing requirements across software, hardware implementation, arguing that without sufficient information about the
and other developments, as discussed concerning Challenge 6 below. problem domain and associated constraints, any proposed designs will
Related to this, one participant in the validation phase workshop be subject to change once implementation begins. One potential di-
identified a further challenge with the modularisation of requirements rection to address this problem may be to extend the practice of system
(Challenge 5), stating “We get over 8000 pages of requirements and it metaphor definition in the XP agile method to encompass the need for
becomes really difficult for us to isolate a sub-set of requirements from a some anticipatory design desired by the participants.
big pool of requirements (Validation Workshop).” The sheer amount of Despite these challenges, the participants reported considerable
detail in the fully elaborated requirements document makes it difficult experience experimenting with agile software development, making

11
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

adaptations to fit their needs. Winningham et al. [59] note that agile from a mixture of demonstration and peer review. As one participant
methods were not developed for safety-critical systems and that con- (P1) described it, “I think it wastes budget. I don’t think we get the
sequently, many practices within agile methods need to be compliant value from that task.”
with standards, such as DO-178C [60]. Boehm [13], Boehm and Turner A final challenge within this theme was identified during the semi-
[14], Coe and Kulick [58] suggest that methods such as Agile-Planned structured interviews concerning quality assurance practices within the
that combine elements of both philosophies show promise in this con- company (Challenge 14). Safety-critical standards, such as DO-178C
text. This selection and adaptation of elements was reported by the advocate or even require the use of independent teams to develop test
participants. As one of the participants (P1) described it “We follow procedures. However, agile methods, such as XP advocate the devel-
some bits of agile that are of interest to us.” The participants reported opment of tests by the development team themselves, partly as a form
that their teams participated in a variety of Scrum ‘ceremonies’ in- of documentation of the application software [7]. When we in-
cluding sprint planning, daily standups, customer demonstrations and vestigated this conflict with the participants, a complex picture
retrospectives, although all participants reported adaptations, or the emerged, with some participants contending that this conflict was “an
non-use of a ceremony, which we examined further. ongoing problem. No, I don’t think we have eliminated it. (P1)” How-
In particular, two of the participants reported conducting frequent ever, different perspectives amongst the team and within the validation
retrospectives, reflecting the use of Scrum within their teams, whereas, workshop ultimately led to this Challenge being rejected by the parti-
the other two participants reported undertaking less frequent “lessons cipants, because the established compromise described below was
learned” within their projects, typically following the delivery of a re- considered to be sufficient. However, we report the discussion from the
lease to the customer. When discussing the practicality of employing interviews for completeness.
retrospectives, one participant (P2) noted the difficulty of making fre- The issue emerged when one of the participant stated that the DO-
quent change to their software process, due to the risk that a change to 178C standard they were working towards did not require complete
the process might be disruptive, “we’ve got pretty fluent software de- independence, instead, the testing procedures are independently wit-
velopment delivery system... we’re being encouraged to stick to sche- nessed, “We satisfy that by having all of our v & v witnessed or signed
dule... it would be unwise to inject too many silly ideas into how to off by our QA people. So, all of our document reviews and things like
change that at this point in time. So we also encourage people to, like, that would have input from the QA department. All of testing is actually
to sort of like story-board their ideas and just to put them to the side.” witnessed, you know we have someone sitting there writing things
Instead, the participants reported collecting ideas for changes to the down, so that that gives us our independence. (P1)” However, the
software process (on a Trello board, for example) that could be re- participants also recognised that this situation is the result of a tension
viewed at less frequent meetings. This practice shows the company between the desire for independence of testing and the need to have
adapting agile practices to match the tempo of a safety-critical project, domain expertise concerning the software under development in order
and avoiding the risks of frequent small changes. to test it effectively, “it’s an interesting tension there, between needing
Several of the participants reported extensive use of quality assur- to know exactly the details of the component you’re testing. (P2)”.
ance associated with agile software development, including automated What emerged from the following discussion was that the deliberate
static analysis, refactoring, automated unit testing, test driven devel- physical distance of the QA team to ensure independence had made it
opment, code review and pair programming. Automated static analysis very difficult for them to gain a sufficient understanding of the system
in particular was used extensively within the company. One participant to develop effective tests “There was too much inherent knowledge that
(P2) confirmed that a key goal of employing static analysis was to the guys in these teams have about the internals of the software. (P2)”.
achieve conformance with MISRA C standards “it’s for MISRA, I think One possible avenue here, proposed by the participants was a com-
level coding standards.” In a follow up discussion, it was revealed that promise in which the QA team remained independent, but engaged in
the company had found that the application of static analysis within a closer cooperative work with the development team, “[if] we had got a
continuous integration pipeline had transferred well to an agile soft- v & v team in much earlier it would have worked a lot better. ”
ware development approach without the need for adaptation. In fact,
the transition had led to enhanced benefit from the use of static ana- 6.2. Coordination amongst stakeholders (challenges 6, 7, 9)
lysis. The teams found that applying the tooling more frequently led to
the production of reports with fewer but more meaningful warnings, The participants reported several aspects of the software team’s
“As the delivery frequency increased... As the maturity of the product work specific to safety-critical software development connected with
became higher, the easier it was to run static analysis as large swathes coordination with external (to the software team) stakeholders that
of code were unchanged from delivery to delivery. (P5)” presented challenges to the use of agile software development
In other cases, these practices were adapted to fit within the con- (Challenges 6, 7 and 9). Agile principles emphasise the close involve-
straints of safety-critical system development when appropriate. In the ment of an identifiable customer as critical to a project success [1,2].
case of pair programming, two of the participants were very emphatic Providing the team with ready access to the customer enables better
that they did not practice pair programming despite all the participants communication, allowing uncertainties with regards to requirements
reporting that informal mentoring of newer members of the company and design to be resolved more quickly [9]. However, the projects re-
was strongly encouraged. One of the participants (P1) made the dis- ported by the interview participants experience a far more complex
tinction between pair programming and mentoring, “... I think that it’s relationship with the project customers (Challenge 7). The participants
much better giving people a little bit of help and then dropping back described various customer structures, for example, “joint systems team
and then reviewing their changes and giving them some feedback but meeting ... happens on a sort of two monthly basis .... And that involves
making them do the task. Really to use the adage teach someone to fish our direct customers and members of. their direct customers (P3)” and
so that the next time they can fish. There is always a ... when you do “... there’s certain customers could be viewed as being the END USER
pair programming, there is always a stronger member and they will they are the end users. They are type of customers. But then there are
always take the keyboard... and that’s not what you want.” One parti- people who are little bit closer like COMPANY, then we get little bit
cipant (P2) suggested that the “demographics” of the company was closer again. which are the people who are involved as product owners
partly a cause of this approach. Many employees have worked for the (P1).” From the perspective of a software team, the immediate customer
company for considerable periods of time and have become experts in is the project’s systems team who allocates the requirements. The whole
particular domains of the development work. Therefore, the partici- project may have several different customers, each with slightly dif-
pants felt that these engineers would not benefit from pair program- ferent needs. These customers may, in turn, be procuring the product as
ming with a younger graduate, but that the graduate would benefit a component to be integrated into one or more larger systems for their

12
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

own customers. This network of stakeholders is characteristic of safety- argues is characteristic of safety-critical system developments [17].
critical systems projects, and so “Agile use in these environments is Integration between hardware and software is often done towards the
restricted by the elements that define these environments” [63]. end of a project release, due to the components only being available at
However, from the participant’s perspective, the influence of external this stage. All participants agreed that this arrangement caused pro-
customers is difficult to manage, because they only have direct access to blems, “typically when we get to integration. We’ll find that something
the systems team in order to demonstrate their work and receive that the hardware is doing either isn’t as we understood it to be, or it’s
feedback “For me, I would say that customer demonstration ... would be not working (P2).” Although the allocation of tasks and designs is well
the demonstration of how things work when it gets to the TEST ENV- understood by the different teams at the start of the release, it was
IRONMENT (P2).” difficult for the team members to stay up to date with “what is hap-
Chapman [1] and Chapman et al. [2] notes that requirements en- pening in other teams.” One participant (P1) said “Once we get into the
gineering in agile software development is dependent on close customer integration phase, we found that the boards don’t always stay up to
involvement in the project to the extent that the customer may be date.” Several interview participants suggested this was because dif-
viewed as an additional member of the project team. However, as ferent teams run their own development lifecycles, for example “We’ve
Chapman et al. [2] notes, this may not be practical in the scenario got software people working in the software plan and hardware people
described above, where there are many different types of customers and firmware people working in the firmware plan. So it often becomes
with different perspectives on and commitments to the project, such as dissected. (P2).” Due to the late-stage integration, it was suggested that
procurers, end users, industry regulators and independent auditors. a software team tends to focus predominantly on their own tasks, and so
Ensuring close involvement of a larger number of customers on an on- lose visibility of changes that are occurring elsewhere in the project.
going basis is difficult due to practical considerations such as time This phenomenon affected both the team that followed Waterfall and
availability. In addition, these customers may have very different views the team that had recently employed aspects of agile software devel-
on the requirements for the project, but there is very little guidance opment. One participant (P1) also reported that the benefits of em-
available on decision making, where the customer relationship is in- ploying a Kanban board in Jira had been lost once the project moved to
evitably more complex [1]. One possibility is the suggestion by Paige an integration phase, as other tools were used for tracking progress on
et al. [4] to use a “Stakeholder consortium” to mitigate this problem. integration “Once we get into the integration phase, we found that the
However, Chapman [1] and Chapman et al. [2] suggest that achieving boards don’t always stay up to date... I believe, that the reason for that
consensus within the consortium may not be practical and that estab- is we have got other methods of tracking our problems and the guys see
lishing “rules of engagement” and use of tools to automate commu- it as duplication.”
nication and documentation can counter this problem. To partly address this challenge, one of the participants (P4) de-
The other teams within the overall project are all also effectively scribed how they had adapted their software process to incorporate a
external stakeholders for the software team and coordination here also weekly integration meeting during the integration phase of the project,
presents challenges. The different teams within the overall project have “during our integration process, you know a lot of people had to work
their own pace of completing tasks (Challenge 9). Deadlines and quite closely together so we were having weekly meetings. Once we got
milestones are defined in the contracts for the whole project, but in- through that process they stopped becoming useful.” As described
dividual teams choose their own development lifecycles within this above, this demonstrates how the company is employing the principles
framework, creating a “silo effect” [55]. Members of the software teams of agile, such as frequent informal communication, but adapting the
interviewed report being unaware of the details of activities and current specific practices to fit with the needs of safety-critical system devel-
status of tasks in other teams. Participants also reported that schedules opment. The weekly integration meeting allowed issues to be aired and
across teams often do not match. For example, “they’re working on resolved frequently between the different sub-teams, in a similar way to
their own bunch of things at their own priorities, with their own pace a product planning meeting within a single team.
dictated by the number of resources that those have, and it’s often when The difficulties in employing continuous integration are also re-
it gets to the point where the crunch is coming that we start to un- ported in the literature. Jamissen [66] argues that DO-178C does not
derstand that we’ve, we’re misaligned in terms of priority (P2).” The conflict with the concept of continuous integration in agile software
teams also have their own interpretation of when tasks are considered development, however, Ge et al. [62] and Kaisti et al. [67] note that
complete, as one participant (P2) observed, “when I say hardware guys continuous integration of embedded systems is challenging. Kaisti et al.
I mean the guys who produce the actual circuits, and then the firmware [67] report a scarcity of evidence on the use of continuous integration
guys who bring that to life so we can use it for software development. in embedded systems. According to Douglass [68], most of the litera-
Their definition of what finished is, so that we can put the capability of ture concerning agile software development is focused on software
software on it, tends to be separate from what we think the done thing application development, not embedded systems. This lack of guidance
is.” on Hardware and Software co-development and integration is re-
In early work in the field of Global Software Engineering, Herbsleb cognized by many researchers [1,2,67,68]. For example, in their study,
and Mockus [64] recognised the challenges of coordinating work across Wils et al. [5] found that the software-hardware integration phase in-
loosely coupled or distributed sub-teams. These challenges remain an evitably slows down development efforts. This stage is also where the
active area for Software Engineering research, as illustrated by the re- discovery of required changes can frequently arise and be the most
cent study by Ebert et al. [65]. Turk et al. [56] suggests frequent and problematic.
informal communication to overcome the lack of visibility but informal One proposal in the literature is to use simulators and emulators to
and face to face communication poses a risk of important project re- help reduce problems at integration [55,69,70]. A key challenge in this
lated information getting lost. VanderLeest and Buter [55] also em- approach is to ensure that emulators, simulators or test equipment have
phasize the importance of tools to improve communication and co- the exact specification of the target equipment [69]. While testing a
ordination among teams. In our case study, one participant described a system using emulators, changes made to software and hardware
project where all the teams were compelled to strictly follow the same should also be kept in mind [69]. All the interview participants told us
schedule using a single Microsoft Project plan. According to the lead that the equipment for testing is not updated and often its specification
software engineer interviewed, this approach worked well. However, it does not match the target hardware. This suggests that there is a
is unclear whether this approach can be imposed on all projects in the challenge in maintaining up to date test harness implementations.
company.
The lack of visibility also causes problems at integration between
software and hardware (Challenge 6), a challenge that Stelzmann

13
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

6.3. Documentation and communication (challenge 8, 10) communication in agile software development is reliant on the reten-
tion of tacit knowledge, which can be difficult to recover in large-scale
Two related challenges were reported by participants concerning projects [3,13,71]. We discussed the challenge of managing commu-
the use of agile documentation and communication practices. The Agile nication in large scale projects with the participants and a number of
Manifesto [8] advocates the delivery of “working software over com- different perspectives were identified. The participants reported that a
prehensive documentation.” Several authors have argued that this mixture of approaches to documenting information were taken, with
principle makes agile software development incompatible with the some teams relying predominantly on an informal approach, “I would
development of software with certification requirements [11,71–73]. say that large majority of them are not recorded. There is very few...
This conflict was reflected in the interviews, with one participant (P3) where in the meeting someone minutes the meeting. (P3)”, whereas,
commenting that “.the process documentation that we have at the others stated that formal documentation was used extensively for
moment doesn’t adhere to agile sort of development process” (Chal- communiciation, either through email or design documents, “know
lenge 10). Critically, certification standards for safety-critical systems have a face to face chat and then email out the outcome of that dis-
(DO-178C, for example) mandate the generation of documentation to cussion and any action points, what was agreed, and distribute that to
demonstrate that both the delivered product and development process the rest of the team (P4).”
conform with standards and is safe to use. Certification is a very ex- Several of the participants stated that an informal approach had led
pensive and time consuming activity since it is performed on the to mis-communications, with one participant (P2) suggesting for ex-
complete system for delivery, as one participant (P1) described “the ample, that the informal communications needed to be ‘snooped’ on to
standards require us sometimes on producing a hell of a lot of doc- ensure the information wasn’t lost “we could get someone to snoop the
umentation... a lot of overhead in that respect.” Certifying the system conversations, and figure out how much we lost.” However, another
each time a change had been made would be prohibitively expensive, so participant (P4) reported that the project teams could often rely on the
the company normally only certifies the system for each “formal de- tacit knowledge of individual members because of the demographics of
livery” to the customer. Participants also identified the need for the company. “I don’t think we really suffered as a result of that.
maintenance of documentation as a cause of delays in the project Because we had a good group of people and a lot of very experienced
schedule, having an additional impact on Challenges 4 and 5 discussed people. If it was a less mature project with you know, less experienced
above. engineers then I think it would have been a problem.” These two dif-
Despite this apparent conflict, there are a number of studies which ferent perspectives illustrate the need to not just adapt agile practices to
demonstrate the use of agile software development in the development safety-critical systems, but to adapt them to the specific context of the
of formal specifications, for example, Black et al. [10], Rayside et al. project.
[11]. Several of these authors emphasise on the need to adapt agile There was some discussion about the impact that adopting agile
methods and practices according to the need of safety-critical system software development had on this problem. One participant (P2)
development. For example, Rayside et al. [11] argue that traditional commented that “I’m not, at the moment I should be at the ten o’ clock
and agile methods are separated by limitations of current technology stand-up in the roof lab. If someone doesn’t come and tell me what
rather than by fundamental intellectual differences. They believe that happened or what I’m meant to do or any of the other information then
the use of a “mixed interpreter that executes mixed programs, com- that could be lost.” However another participant (P1) described how
prising both declarative specification statements and regular imperative agile software development had assisted in retaining some aspects of
statements” [11] can mitigate many of the problems. Black et al. [10] information that might otherwise be lost because the team became more
suggest that if requirements can be expressed in a formal notation they disciplined about recording information in the project team’s tracking
can then be machine checked for inconsistencies, effectively extending tool “Since we have employed the boards and they understand more
the automation of quality assurance processes to requirements doc- about what’s going on.” Again, this suggests that there is potential for
umentation, in a similar manner to the Behaviour Driven Development agile software development to be adapted to allow teams working on
practice [74]. large scale, safety-critical systems projects to identify and maintain the
The company in the current study has also adapted its practice with documentation that is valuable to them.
respect to certification to achieve more frequent deliveries. The parti-
cipants reported having employed a practice of making non-certified 6.4. Cultural challenges (11, 12, 13)
intermediate deliveries available to the customer, called “engineering
deliveries or releases.” One participant (P3) stated “we have moved to The final theme which emerged from the interviews was the need to
the philosophy of ... there would be all engineering releases and at change the culture within the company. Three particular challenges
certain points in development we would take an engineering release emerged in this context. First, the software teams in the company had
and do the formalities on it.” An advantage of this approach is that the no prior experience of using agile software development on a large scale
customer is able to begin integrating the product into their own system and lacked guidance from elsewhere in the literature (Challenges 11
development efforts earlier. A subsidiary benefit is that the engineering and 12). At the moment, software teams are using the Scrum method
releases do not require the demonstration of quality assurance pro- and other agile practices within individual software sub-teams, but
cesses demanded by many safety-critical standards [1,2,14,57,75]. As expressed a strong desire for guidance on how to scale these for use in
one participant (P3) stated, “certainly when we come to formal release large multi-team context, “if we can get... the other functions who work
if you like... that’s where our testing level moves up.” Another potential in those projects like firmware and hardware, if we can get them simply
option to mitigate the costs of document production is the use of au- to follow the water-scrum-fall, that might be as good as what we can
tomated techniques, which can reduce delay [1,2]. In addition, the achieve (P2).” However, there is relatively little guidance in the aca-
approach implies that there is an expectation that an engineering release demic or practitioner literature on this, an issue also reported by
may eventually become a formal release, which as a consequence im- Fitzgerald et al. [76]and Cawley et al. [57]. However, there are studies
poses the quality assurance standards for developing a formal release, which report the successful use of agile software development in safety
but without the accompanying documentation to demonstrate it. critical systems [22,55,57,76]. A commonly reported point in the lit-
Similarly, agile software development advocates frequent face-to- erature is that agile methods and practices have to be adapted ac-
face communication in small groups to ensure that critical information cording to the requirements of a project [22,55,57,76].
is circulated effectively. However, it is well understood that this ap- The participants reported feeling confident about using Waterfall
proach does not necessarily scale effectively to larger multi-team pro- because they have plenty of practical examples from the past. The
jects with different lifecycles and cultures (Challenge 8). In particular, company finds it difficult to experiment with something new, given the

14
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

safety-critical nature of their projects and with very little or no prior accordance with the regulatory standard, DO-178C [60] was very dif-
example to follow. Also, there is relatively less guidance available in the ficult due to the need for significant specialist knowledge about the test
literature about the use of agile software development in safety-critical subject. It was anticipated that this challenge would also be identified
systems, particularly in the avionics industry [15,27,62,77–80]. by the participants, particularly given that agile software development
As a consequence, the company has a well documented and un- advocates that testing should be conducted by the software team as part
derstood software development process, which is reflected in the or- of the design and implementation process.
ganisational culture. The participants, therefore, identified the need to However, the issue was rejected during the validation workshop.
change the mindset of their colleagues (Challenge 13), as the Waterfall According to the interview participants, they had great difficulty get-
process has been in practice for years in the company. As one partici- ting their system tested by an independent quality assurance team. The
pant (P4) said “it would be quite difficult to have an Agile process that independent quality assurance team did not have the inherent knowl-
spanned this whole organisation, without a fairly fundamental para- edge of the system needed to develop effective tests. To mitigate this,
digm shift.” Fitzgerald et al. [76] also report this issue in their study. the software team conducted trainings and workshops with the in-
Fitzgerald et al. found that agile methods and practices are “developer- dependent test teams but found these insufficient. So the software team
centric”, therefore, they are typically easily accepted by the develop- performed the testing themselves while the independent quality as-
ment team, whereas, management requires some convincing about the surance team acted as witnesses to the testing and signed off the doc-
benefits of agile software development. One of the reasons behind the umentation at the end. This approach worked well for the software
resistance by the management is the perception of “short termism” team and was perceived to satisfy the demands of the standard for in-
about agile software development [76]. Management usually prefers an dependent testing whilst also enabling effective tests to be developed.
upfront complete plan, whereas, the agile philosophy advocates short The rejection of this challenge was surprising to us because the
term sprints and a “plan as you go” approach. standard DO-178C mandates an independent testing body. Later re-
viewing the interview material, we noted that during one of the inter-
7. Conclusion views a lead software engineer agreed that the risk of bias in this ap-
proach was “... a problem, it’s an ongoing problem.” In reviewing this, it
This study reports the results of a series of interviews and workshops is possible that the participants do not view the approach to testing as
in a large avionics company who are experimenting with the in- problematic with respect to the standard, but are still concerned about
corporation of agile software development into their software devel- the risk of bias, regardless. The issue highlights the risk in our research
opment process. The research yielded 13 challenges faced by the dif- method of misinterpretation of findings. However, the validation step is
ferent software teams interviewed during the study concerning the applied to mitigate this.
application of agile software development for safety-critical systems.
The challenges can be grouped into three categories: the influence of 7.2. Future research questions
wider Waterfall like systems engineering processes on the practice of
agile software development within a single team, the necessarily com- Despite the limitations described above, the research has identified
plex interactions with external stakeholders, including multiple cus- several key themes in the challenges of applying agile software devel-
tomer roles, and the demand for documentation to meet required reg- opment to safety-critical systems engineering and provides a roadmap
ulatory standards. We also found that cultural resistance within the for addressing the challenges. Beyond these broad challenges, we have
company was a cross-cutting concern, limiting the use of elements of identified a set of immediate research questions to guide future efforts
agile software development. in this area, summarised in Fig. 6. These questions are indicative of
immediate research directions that can be undertaken in the short term
7.1. Limitations within these broad themes.
Questions 1 and 2 address the theme of mitigating the pressure for
There are several limiting aspects to our study, which we discuss as Waterfall development processes for software engineering processes.
potential avenues for future work. First, the sensitive nature of much of Question 1 concerns the development of lightweight design review
the work in the company necessarily limited our access to the details of methods that accommodate more rapid changes in software design
projects. Our findings are primarily based on the perspectives given to without compromising on design quality. We envisage leveraging ex-
us by our interview participants, and we were consequently unable to isting agile methods and practices to facilitate this, such as continuous
verify them through independent inspection of other sources of evi- inspection techniques. Question 2 concerns the need for alternative
dence, such as project software repositories and software process doc- approaches to the structuring of requirements specifications to better
umentation. The interview participants were selected by the company, support decomposition of requirements in complex systems. In parti-
based on their availability and different perspectives and experiences of cular, we are investigating whether a feature driven approach to re-
agile software development. Considerable effort was made by the re- quirements engineering, embodying detailed specifications as user
searchers to establish the relationship with the company to allow the stories and scenarios provides for better decomposability. We also en-
interviews to be conducted in the described form. We believe the ar- visage enhancing traceability of requirements in complex systems
rangements reflect the constraints imposed on much of the research through the adaptation of behaviour driven development techniques.
conducted in safety-critical contexts, given the often sensitive nature of Question 3 and 4 address the theme of coordinating the stakeholder
such work. However, this does create threats to the validity of the work, relationships (both internal and external) within complex systems en-
which we have sought to mitigate by relating the findings to those gineering projects. In particular, software engineering has developed
available in the literature. We are also seeking to further generalise our sophisticated techniques for achieving continuous integration of soft-
findings by conducting interviews in other organisations engaged in ware products. We envisage that these techniques can be extended
similar work. further across the technology stack of firmware and hardware through
Second, we note that one of our findings during the interview stage networked deployments of software on hardware under development,
of the research was not validated during the review workshop, con- or the development of realistic hardware simulators concurrently with
cerning the conflict between agile software development to software hardware development efforts. Similarly, recent advances in software
quality assurance and that demanded by regulatory standards. This process development that enable abstraction of hardware, such as vir-
topic was included in the interview instrument because of the pre- tualisation, DevOps and Infrastructure as Code may be adapted to
valence of the challenge in the literature. Specifically, Notander et al. provide solutions to this integration challenge.
[16] reported that independent testing of complex systems, in Separately, Question 4 concerns the adaptation of agile customer

15
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

Fig. 6. Future work research questions.

management techniques, through the product owner to complex sys- occur the impact can be more efficiently assessed.
tems projects. By convention, agile software development assume that Crucially, this study has demonstrated that there is a need to adapt
all the interests of ‘the customer’ can be represented to the software agile software development to fit within the constraints of software
team via the product owner, shielding the development team from the development for safety-critical systems and investigated the specific
conflicts, tensions, and negotiations that may occur between different challenges in detail. In particular, there is a need to understand how
stakeholders. However, the size and complexity or large-scale systems agile software development can be scaled to fit large-scale, complex
engineering projects, together with the typically complex interplay systems engineering efforts comprising multiple development efforts
between stakeholders (recall Fig. 4) makes the allocation of this role to that include both software and hardware components on projects that
a single person impractical. Several authors have described proposals or may last many decades. Ultimately, these questions reflect the need to
experiences of scaling agile methods and practices particularly for better align the tempo of safety-critical system developments and that
scaling the role of the product owner. For example, Lowery and Evans assumed by agile software development. The agile philosophy is to
[81] reports on experiences of implementing a hierarchy of product accommodate the constant, rapid, concurrent change of software de-
owners in the BBC’s iPlayer app. They found that a critical aspect of velopment projects, due to inevitable external pressures. The com-
their approach was ensuring coordination between product owners and plexity created by this change is then mitigated through the disciplined
scrum masters in the different teams and placed significant emphasis on application of a combination of tools and methods. Conversely, the
time in the product owners’ schedules to accomplish this. The popular philosophy in software development for safety-critical systems is to
Scaled Agile Framework [82] also advocates the use of a hierarchy deliberately constrain options for (and pace of) change in order to
within product ownership, between product managers who are re- maintain traceability of artifacts. Applying agile software development
sponsible for the high level direction and product owners who are to safety-critical systems will, therefore, require the development of
embedded in particular teams focused on specific aspects of function- tools and methods that provide for the same standard of continuous
ality. There is a need to explore how these hierarchical approaches to traceability.
managing the relationship with customers through the product owner
can be adapted to both the heterogeneous nature of systems en- CRediT authorship contribution statement
gineering projects which combine a variety of software and hardware
elements; and the consortium arrangement of customers in systems Gibrail Islam: Conceptualization, Data curation, Formal analysis,
engineering projects. Funding acquisition, Validation, Writing - original draft, Writing - re-
Question 5 concerns the automated generation of supplemental view & editing. Tim Storer: Data curation, Funding acquisition,
documentation, addressing the need to reduce friction in Software Validation, Writing - original draft, Writing - review & editing.
Engineering projects. Traceability remains a critical component of
standards and regulations for safety critical environments. There will be Declaration of Competing Interest
an on-going need to produce evidence that system artifacts remain
consistent with their requirements and design, such that any associated
The authors declare that they do not have any financial or non-
safety evaluations are reliable. To adapt agile software development to
financial conflict of interests
fit with this context, there is a need to develop mechanisms for auto-
matically regenerating artifacts as changes occur, or better support
Acknowledgements
their continuous maintenance alongside mainstream development ef-
forts. A factor here will be to integrate documentation maintenance
We are grateful to "The Company" for providing us the opportunity
efforts into on-going software development task cost estimates, such
to do research with them. We thank the editor and reviewers for their
that all necessary changes are continuously tracked. Similarly, there is a
constructive criticism which greatly helped us in improving the
need to develop better methods for modelling and representing de-
manuscript.
pendencies amongst software project artifacts, such that when changes
We would like to thank Dr. Robbie Simpson (Late) for his support

16
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

during the course of this study. We remember and acknowledge his [24] McHugh M, Cawley O, McCaffery F, Richardson I, Wang X. An agile v-model for
never ending willingness to help the fellow researchers. We wish to medical device software development to overcome the challenges with plan-driven
software development lifecycles. In: Knight J, Kuziemsky CE, editors. Proceedings
extend our special thanks to Dr. Xiaofeng Wang, Associate Professor, of the 5th international workshop on software engineering in health care, SEHC
Free University of Bozen-Bolzano for providing feedback on the inter- 2013, San Francisco, California, USA, May 20–21, 2013. IEEE Computer Society;
view material. Her assistance greatly helped us in formatting the in- 2013. p. 12–9.
[25] Chenu E. Agile & lean software development for avionic software. 6th european
terview questions. congress on real time software and systems. Toulouse, France: Association
Aéronautique Astronautique de France; 2012. p. 1–3.
Supplementary material [26] Fitzgerald B, Hartnett G, Conboy K. Customising agile methods to software practices
at intel shannon. EJIS 2006;15(2):200–13.
[27] Wang Y, Wagner S. Towards applying a safety analysis and verification method
Supplementary material associated with this article can be found, in based on STPA to agile software development. Proceedings of the International
the online version, at 10.1016/j.ress.2020.106954 workshop on continuous software evolution and delivery, CSED@ICSE 2016,
Austin, Texas, USA, May 14–22, 2016. ACM; 2016. p. 5–11.
[28] Conboy K. Agility from first principles: reconstructing the concept of agility in in-
References formation systems development. Inf Syst Res 2009;20(3):329–54.
[29] Runeson P, Höst M. Guidelines for conducting and reporting case study research in
[1] Chapman R. Industrial experience with agile in high-integrity software develop- software engineering. Empir Softw Eng 2009;14(2):131–64.
ment. Safety critical systems club. 2016. [30] Wengraf T. Qualitative research interviewing: biographic narrative and semi-
[2] Chapman R, White N, Woodcock J. What can agile methods bring to high-integrity Structured methods. SAGE Publications; 2001.
software development? Commun ACM 2017;60(10):38–41. https://doi.org/10. [31] Benington HD. Production of large computer programs. Ann Hist Comput
1145/3133233. 1983;5(4):350–61.
[3] Glas M, Ziemer S. Challenges for agile development of large systems in the aviation [32] Vijayasarathy LR, Butler CW. Choice of software development methodologies: do
industry. In: Arora S, Leavens GT, editors. Companion to the 24th annual ACM organizational, project, and team characteristics matter? IEEE Softw
SIGPLAN conference on object-oriented programming, systems, languages, and 2016;33(5):86–94.
applications, OOPSLA 2009, October 25–29, 2009, Orlando, Florida, USA. ACM; [33] Wang X, Conboy K, Pikkarainen M. Assimilation of agile practices in use. Inf Syst J
2009. p. 901–8. 2012;22(6):435–55.
[4] Paige RF, Galloway A, Charalambous R, Ge X, Brooke PJ. High-integrity agile [34] Rational. The rational unified process. best practices for software development
processes for the development of safety critical software. IJCCBS teams. white paper TP026B. The Rational Corporation; 2003.
2011;2(2):181–216. [35] Tanveer M. Agile for large scale project? A hybrid approach. 2015 National
[5] Wils A, Baelen SV, Holvoet T, Vlaminck KD. Agility in the avionics software world. Software Engineering Conference (NSEC). 2015. p. 14–8. https://doi.org/10.1109/
In: Abrahamsson P, Marchesi M, Succi G, editors. Extreme programming and agile NSEC.2015.7396338.
processes in software engineering, 7th International conference, XP 2006, Oulu, [36] Koronios A, Lane M, Van Der Vyver G. Facilitators and inhibitors for the adoption of
Finland, June 17–22, 2006, Proceedings. Lecture Notes in Computer Science, 4044. agile methods. Systems analysis and design: people, processes, and projects.
Springer; 2006. p. 123–32. Routledge; 2015. p. 43–62.
[6] CollabNet VersionOne. 13th annual state of agile report. 2019. https://www. [37] Abrahamsson P, Salo O, Ronkainen J, Warsta J. Agile software development
stateofagile.com methods: review and analysis. arXiv preprint arXiv:170908439 2017.
[7] Beck K, Andres C. Extreme programming explained. second Addison Wesley/ [38] Poppendieck M, Poppendieck T. Lean software development: an agile toolkit.
Pearson Education; 2005. XP Series Addison-Wesley Professional; 2003.
[8] Beck K, Beedle M, van Bennekum andw Alistair Cockburn A, Cunningham W, [39] Dingsøyr T, Lassenius C. Emerging themes in agile software development: in-
Fowler M, Grenning J, et al. The agile manifesto. 2001. Available at http:// troduction to the special section on continuous value delivery. Inf Softw Technol
agilemanifesto.org 2016;77:56–60.
[9] Schwaber K, Beedle M. Agile software development with SCRUM. Prentice Hall; [40] Cockburn A. Crystal clear: A Human-Powered methodology for small teams.
2001. Addison-Wesley Professional; 2004.
[10] Black S, Boca PP, Bowen JP, Gorman J, Hinchey M. Formal versus agile: survival of [41] Lei H, Ganjeizadeh F, Jayachandran PK, Ozcan P. A statistical analysis of the effects
the fittest. Computer (Long Beach Calif) 2009;42(9). of scrum and kanban on software development projects. Robot Comput Integr
[11] Rayside D, Milicevic A, Yessenov K, Dennis G, Jackson D. Agile specifications. In: Manuf 2017;43:59–67.
Arora S, Leavens GT, editors. Companion to the 24th annual ACM SIGPLAN con- [42] Knight JC. Safety critical systems: challenges and directions. Proceedings of the
ference on object-oriented programming, systems, languages, and applications, 24th international conference on software engineering. ACM; 2002. p. 547–50.
OOPSLA 2009, October 25–29, 2009, Orlando, Florida, USA. ACM; 2009. p. [43] Heeager LT, Nielsen PA. A conceptual model of agile software development in a
999–1006. safety-critical context: a systematic literature review. Inf Softw Technol 2018.
[12] Palmer SR. A practical guide to feature-Driven development. Prentice Hall; 2002. [44] Gruber T, Althammer E, Schoitsch E. Field test methods for a co-operative in-
[13] Boehm B. Get ready for agile methods, with care. IEEE Comput 2002;35(1):64—69. tegrated traffic management system. In: Schoitsch E, editor. Computer Safety,
[14] Boehm B, Turner R. Balancing agility and discipline: a Guide for the perplexed. Reliability, and Security. Berlin, Heidelberg: Springer Berlin Heidelberg; 2010. p.
Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc.; 2003. 183–95.
[15] Paetsch F, Eberlein A, Maurer F. Requirements engineering and agile software de- [45] Wong WE, Demel A, Debroy V, Siok MF. Safe software: does it cost more to de-
velopment. 12th IEEE international workshops on enabling technologies (WETICE velop? 2011 Fifth International Conference on Secure Software Integration and
2003), infrastructure for collaborative enterprises, 9–11 June 2003, Linz, Austria. Reliability Improvement. 2011. p. 198–207.
IEEE Computer Society; 2003. p. 308–13. [46] Gary K, Enquobahrie A, Ibáñez L, Cheng P, Yaniv Z, Cleary K, et al. Agile methods
[16] Notander JP, Höst M, Runeson P. Challenges in flexible safety-critical software for open source safety-critical software. Softw Pract Exper 2011;41(9):945–62.
development - an industrial qualitative survey. In: Heidrich J, Oivo M, Jedlitschka [47] Hajou A, Batenburg RS, Jansen S. An insight into the difficulties of software de-
A, Baldassarre MT, editors. Product-Focused software process improvement - 14th velopment projects in the pharmaceutical industry. Lect Note Softw Eng
international conference, PROFES 2013, Paphos, Cyprus, June 12–14, 2013. 2015;3(4):267–75.
Proceedings. Lecture Notes in Computer Science, 7983. Springer; 2013. p. 283–97. [48] Stålhane T, Myklebust T, Hanssen G. The application of safe scrum to iec 61508
[17] Stelzmann E. Contextualizing agile systems engineering. 2011 IEEE international certifiable software. 11th international probabilistic safety assessment and man-
systems conference. 2011. p. 163–7. agement conference and the annual european safety and reliability conference
[18] Cohen D, Lindvall M, Costa P. An introduction to agile methods. Adv Comput 2012, 25–29 June 2012, Helsinki, Finland. Curran Associates Inc.; 2012.
2004;62(03):1–66. [49] Myklebust T, Stålhane T, Lyngby N. An agile development process for petrochem-
[19] Lindvall M, Basili VR, Boehm BW, Costa P, Dangle KC, Shull F, et al. Empirical ical safety conformant software. 2016 Annual Reliability and Maintainability
findings in agile methods. In: Wells D, Williams LA, editors. Extreme programming Symposium (RAMS). 2016.
and agile methods - XP/Agile Universe 2002, Second xp universe and first agile [50] Stålhane T, Hanssen GK, Myklebust T, Haugset B. Agile change impact analysis of
universe conference Chicago, IL, USA, August 4–7, 2002, Proceedings. Lecture safety critical software. In: Bondavalli A, Ceccarelli A, Ortmeier F, editors.
Notes in Computer Science, 2418. Springer; 2002. p. 197–207. Computer safety, reliability, and security - SAFECOMP 2014 Workshops: ASCoMS,
[20] Misra SC, Kumar V, Kumar U. Identifying some important success factors in DECSoS, DEVVARTS, ISSE, ReSA4CI, SASSUR. Florence, Italy, September 8–9,
adopting agile software development practices. J Syst Softw 2009;82(11):1869–90. 2014. Proceedings. Lecture Notes in Computer Science, 8696. Springer; 2014. p.
[21] Siddique L, Hussein BA. Practical insight about choice of methodology in large 444–54.
complex software projects in norway. 2014 IEEE international technology man- [51] Wang Y, Wagner S. Towards applying a safety analysis and verification method
agement conference. 2014. based on STPA to agile software development. Proceedings of the International
[22] Gary K, Enquobahrie A, Ibanez L, Cheng P, Yaniv Z, Cleary K, et al. Agile methods Workshop on Continuous Software Evolution and Delivery, CSED@ICSE 2016,
for open source safety-critical software. Softw - Pract Exper 2011;41(9):945–62. Austin, Texas, USA, May 14–22, 2016. ACM; 2016. p. 5–11.
[23] Jonsson H, Larsson S, Punnekkat S. Agile practices in regulated railway software [52] Stålhane T, Myklebust T. The role of CM in agile development of safety-critical
development. 23rd IEEE international symposium on software reliability en- software. In: Koornneef F, van Gulijk C, editors. Computer safety, reliability, and
gineering workshops, ISSRE workshops, Dallas, TX, USA, November 27–30, 2012. security - SAFECOMP 2015 workshops, ASSURE, DECSoS, ISSE, ReSA4CI, and
IEEE; 2012. p. 355–60. SASSUR, Delft, The Netherlands, September 22, 2015, proceedings. Lecture Notes in
Computer Science, 9338. Springer; 2015. p. 386–96.

17
G. Islam and T. Storer Reliability Engineering and System Safety 200 (2020) 106954

[53] Hanssen GK, Haugset B, Stålhane T, Myklebust T, Kulbrandstad I. Quality assurance [66] Jamissen H-G. The challenges to the safety process when using agile development
in scrum applied to safety critical software. In: Sharp H, Hall T, editors. Agile models. Østfeld University College; 2012. Master’s thesis
processes, in software engineering, and extreme programming - 17th international [67] Kaisti M, Rantala V, Mujunen T, Hyrynsalmi S, Könnölä K, Mäkilä T, et al. Agile
conference, XP 2016, edinburgh, UK, May 24–27, 2016, proceedings. Lecture Notes methods for embedded systems development - a literature review and a mapping
in Business Information Processing, 251. Springer; 2016. p. 92–103. study. EURASIP J Emb Sys 2013;2013:15.
[54] AUTHORS P. Interview questions material repository. 2018. [68] Douglass BP. Agile systems engineering. San Francisco, CA, USA: Morgan Kaufmann
[55] VanderLeest SH, Buter A. Escape the waterfall: Agile for aerospace. 2009 IEEE/ Publishers Inc.; 2016.
AIAA 28th digital avionics systems conference. 2009. p. 6.D.3–1–6.D.3–16 [69] Ard J, Davidsen K, Hurst T. Simulation-based embedded agile development. IEEE
[56] Turk D, France RB, Rumpe B. Limitations of agile software processes. CoRR Softw 2014;31(2):97–101.
2014;abs/1409.6600. [70] Schooenderwoert NV, Morsicato R. Taming the embedded tiger - agile test techni-
[57] Cawley O, Wang X, Richardson I. Lean/agile software development methodologies ques for embedded software. 2004 Agile development conference (ADC 2004),
in regulated environments - state of the art. In: Abrahamsson P, Oza NV, editors. 22–26 June 2004, Salt Lake City, UT, USA. IEEE Computer Society; 2004. p. 120–6.
Lean enterprise software and systems - First international conference, LESS 2010, [71] Ramesh B, Cao L, Baskerville R. Agile requirements engineering practices and
Helsinki, Finland, October 17–20, 2010. Proceedings. Lecture Notes in Business challenges: an empirical study. Inf Syst J 2010;20(5):449–80.
Information Processing, 65. Springer; 2010. p. 31–6. [72] Turk DE, France RB, Rumpe B. Assumptions underlying agile software-development
[58] Coe DJ, Kulick JH. A model-based agile process for do-178c certification. processes. J Database Manag 2005;16(4):62–87.
Proceedings of the international conference on software engineering research and [73] Martins LEG, Gorschek T. Requirements engineering for safety-critical systems: a
practice (SERP). 2013. p. 1. systematic literature review. Inf Softw Technol 2016;75:71–89.
[59] Winningham JD, Coe DJ, Kulick JH. Agile systems integration process. Proceedings [74] North D. Introducing behaviour driven development. Better Softw Mag 2006.
of the international conference on frontiers in education: Computer Science and [75] Vuori M. Agile development of safety-critical software. Tampere university of
Computer Engineering (FECS). The steering committee of the world congress in technology department of software systems; 14 2011.
computer science, computer engineering and applied computing (WorldComp); [76] Fitzgerald B, Stol K, O’Sullivan R, O’Brien D. Scaling agile methods to regulated
2015. p. 149. environments: an industry case study. In: Notkin D, Cheng BHC, Pohl K, editors.
[60] RTCA. DO-178C, software considerations in airborne systems and equipment cer- 35th International conference on software engineering, ICSE ’13, San Francisco, CA,
tification. RTCA; 1150 18th St, NW, Suite 910. Washington DC 20036-3816 USA.; USA, May 18–26, 2013. IEEE Computer Society; 2013. p. 863–72.
2011. [77] Carpenter SE, Dagnino A. Is agile too fragile for space-based systems engineering?
[61] Chenu E. Agility and lean for avionics. 2009. Paper presented at Lean, Agile ap- 2014 IEEE international conference on space mission challenges for information
proach to high integrity software, Paris, 2009. http://manu40k.free.fr/ technology. 2014. p. 38–45.
AgilityAndLeanForAvionics1.pdf [78] Heeager LT. How can agile and documentation-driven methods be meshed in
[62] Ge X, Paige RF, McDermid JA. An iterative approach for development of safety- practice? In: Cantone G, Marchesi M, editors. Agile processes in software en-
critical software and safety arguments. In: Freudenberg S, Chao J, editors. 2010 gineering and extreme programming - 15th International conference, XP 2014,
Agile Conference, AGILE 2010, Orlando, Florida, USA, August 9–13, 2010. IEEE Rome, Italy, May 26–30, 2014. Proceedings. Lecture Notes in Business Information
Computer Society; 2010. p. 35–43. Processing, 179. Springer; 2014. p. 62–77.
[63] Hajou A, Batenburg R, Jansen S. How the pharmaceutical industry and agile soft- [79] Huang PM, Darrin AG, Knuth AA. Agile hardware and software system engineering
ware development methods conflict: a systematic literature review. In: Apduhan for innovation. 2012 IEEE Aerospace conference. 2012. p. 1–10.
BO, Rocha AMAC, Misra S, Taniar D, Gervasi O, Murgante B, editors. 2014 14th [80] Axelsson J, Papatheocharous E, Nyfjord J, Törngren M. Notes on agile and safety-
international conference on computational science and Its Applications, Guimaraes, critical development. ACM SIGSOFT Softw Eng Note 2016;41(2):23–6.
Portugal, June 30, - July 3, 2014. IEEE Computer Society; 2014. p. 40–8. [81] Lowery M, Evans M. Scaling product ownership. In: Eckstein J, Maurer F, Davies R,
[64] Herbsleb JD, Mockus A. An empirical study of speed and communication in globally Melnik G, Pollice G, editors. AGILE 2007 conference (AGILE 2007), 13–17 August
distributed software development. IEEE Trans Softw Eng 2003;29(6):481–94. 2007, Washington, DC, USA. IEEE Computer Society; 2007. p. 328–33.
[65] Ebert C, Kuhrmann M, Prikladnicki R. Global software engineering: evolution and [82] Leffingwell D. SAFe 4.0 Reference guide: scaled agile framework for lean software
trends. 11th IEEE international conference on global software engineering, ICGSE and systems engineering: scaled agile framework for lean software and systems
2016, Orange County, CA, USA, August 2–5, 2016. IEEE Computer Society; 2016. p. engineering. 1st Addison-Wesley Professional; 2016.
144–53.

18

You might also like