Method of Selecting Programming Practices For The Safety Critical Software Development Projects - 36944
Method of Selecting Programming Practices For The Safety Critical Software Development Projects - 36944
Method of Selecting Programming Practices For The Safety Critical Software Development Projects - 36944
DOCTORAL DISSERTATION
Title of PhD dissertation: Method of selecting programming practices for the safety-
critical software development projects.
signature signature
prof. dr hab. inż. Janusz Górski
Auxiliary supervisor Cosupervisor
signature signature
First and foremost, I would like to thank my supervisor prof. Janusz Górski, who has
not only guided me through researching and writing this doctoral thesis but has also
been an inspiration and a mentor in my scientific development.
I would like to thank the Argevide NOR-STA team for the support and for the chance
to work with their product.
I would like to thank the Protégé team for sharing their product. This work was
conducted using the Protégé resource, which is supported by grant GM10331601
from the National Institute of General Medical Sciences of the United States National
Institutes of Health.
I would like to thank the students I had pleasure to work with during the experiments,
for their commitment and enthusiasm.
I would like to thank Thor Myklebust, Geir Kjetil Hanssen, Tor Stålhane and Stig Ole
Johnsen very much for their support and the time they dedicated during my visits in
Trondheim and beyond
I would like to thank Frank Aakvik and Ingar Kulbrandstad for their time and honesty.
I would like to thank Jakub Miler for his advice and remarks he gave me during the
Downloaded from mostwiedzy.pl
I would like thank Teresa Zawadzka and Wojciech Waloszek for their help and
support with the subject of knowledge bases
2
Downloaded from mostwiedzy.pl
3
Dla Jasia i Adasia
Abstract
In recent years a plan-driven approach traditionally used in safety-critical
software development has been put to a test by rapidly changing technologies, more
diverse group of clients and volatile market requirements. The need to deliver good
quality systems, faster and at lower cost in comparison to competitors encouraged
companies to look for more efficient solutions. Agile methodologies are known to
successfully address these issues for small, non-critical projects. Presumably agile
practices can reduce both cost and time to market when applied to safety-critical projects
as well. While benefits can be significant, the main concern are quality and safety
assurance. Plan-driven methodologies provide tools for such purpose, which agile
methodologies in their pure form lack. The challenge that arises is to elaborate a more
easily available and ready-to-use solution that would help safety-critical organizations to
streamline their processes with agile practices and to maintain accordance with safety
standards and certifications.
The goal of the research described in this work was to develop an approach
aimed at facilitating the introduction of a more agile approach to the software
development process, depending on the characteristics of the project, while maintaining
compliance with the required safety standards and regulations, and the AgileSafe
method presented in this thesis is the main result of this research.
The information about project and about the regulatory context constraining the
project and its product are the inputs to the method. User is guided through two main
processes of AgileSafe: process which selects the specifications of software
development practices to be applied in the Project and a process which results in the set
of assurance arguments corresponding to the regulations included in the regulatory
Downloaded from mostwiedzy.pl
context.
The two main processes of AgileSafe reflect the main objectives of AgileSafe: to
support a hybrid approach to software development based on the tailored practices and
to support continuous monitoring of conformance to the mandatory regulatory
requirements.
In order to further improve the method and tailor its advice to the User’s needs
more accurately, the knowledge stored in the method should be reviewed and updated
regularly.
To validate the proposed AgileSafe method, in the course of the research, three
case studies have been conducted in addition to interviews and questionnaires with
participation of experts.
4
TABLE OF CONTENTS
1. INTRODUCTION ......................................................................................... 12
1.1. Context ............................................................................................................ 12
1.2. Problem statement and thesis proposition ....................................................... 14
1.3. Research approach ......................................................................................... 14
1.4. Thesis outline .................................................................................................. 15
2. SOFTWARE DEVELOPMENT OF SAFETY-CRITICAL SYSTEMS ............ 16
2.1. Safety-critical systems domain ........................................................................ 16
2.2. Safety requirements of safety-critical systems ................................................. 17
3. RELATED WORK ........................................................................................ 20
3.1. Motivations for new approaches in development of safety-critical software...... 20
3.2. Models for adopting agile approach to safety-critical devlopment .................... 23
3.3. Reconciling safety requirements and the streamlining of processes ................ 25
4. AGILESAFE OVERVIEW ............................................................................ 27
4.1. AgileSafe main concepts ................................................................................. 27
4.2. AgileSafe process model ................................................................................. 40
4.3. Agilesafe in software development process context......................................... 42
4.4. Tool support .................................................................................................... 43
5. PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN
AGILESAFE................................................................................................. 45
5.1. Project characteristics...................................................................................... 45
5.2. Disciplines ....................................................................................................... 47
5.3. Guidance based on Project Characteristics ..................................................... 48
5.4. Guidance based on Regulatory Compliance .................................................... 50
5.5. Project Practices Set ....................................................................................... 51
6. AGILESAFE PRACTICES KNOWLEDGE BASE ........................................ 53
Downloaded from mostwiedzy.pl
5
8.4. Case Study C: GlucoMet ............................................................................... 112
8.5. Evaluation: Interviews with domain experts.................................................... 121
8.6. Evaluation conclusions .................................................................................. 132
9. CONCLUSIONS ......................................................................................... 135
9.1. Contribution of the research........................................................................... 135
9.2. Thesis evaluation ........................................................................................... 136
9.3. Validity ........................................................................................................... 137
9.4. Future work.................................................................................................... 138
APPENDIX A: METODA DOBORU PRAKTYK PROGRAMISTYCZNYCH W
WYTWARZANIU OPROGRAMOWANIA ZWIĄZANEGO Z
BEZPIECZEŃSTWEM – ROZSZERZONE STRESZCZENIE .................... 153
Downloaded from mostwiedzy.pl
6
LIST OF FIGURES
7
Figure 41 DocBeacon Project Compliance Argument for an excerpt of ISO 14971
standard ......................................................................................................111
Figure 42 An excerpt of Practices Compliance Argument for ISO 14971 in NOR-STA
tool ..............................................................................................................115
Figure 43 A screen from Protege tool with the Suggested Practices Set ...................117
Figure 44 A screen from Protege tool with the Project Practices Set .........................118
Figure 45 An excerpt of Project Practices Compliance Argument for ISO 14971 in
NOR-STA tool..............................................................................................119
Figure 46 An excerpt of Project Compliance Argument for ISO 14971 in NOR-STA tool
....................................................................................................................119
Figure 47: The Asssessment feature in NOR-STA tool for Project Compliance
Argument .....................................................................................................120
Figure 48 Scrum's role in safety critical software development (Mycklebust, Stålhane
and Hanssen, 2016). ...................................................................................122
Figure 49 Introduction of SafeScrum practices to AgileSafe Knowledge Base...........123
Figure 50 Metrics with their data sources ..................................................................134
Downloaded from mostwiedzy.pl
8
LIST OF TABLES
9
Table 53. AS.KB.S.1 hasTeamSizeSuggestion ...........................................................63
Table 54. AS.KB.S.2 hasGeographicalDistributionSuggestion.....................................63
Table 55. AS.KB.S.3 hasDomainComplexitySuggestion..............................................63
Table 56. AS.KB.S.4 hasOrganisationalDistributionSuggestion ...................................64
Table 57. AS.KB.S.4 hasTechnicalComplexitySuggestion...........................................64
Table 58. AS.KB.S.4 hasOrganisationalComplexitySuggestion ...................................65
Table 59. AS.KB.S.4 hasEnterpriseDisciplineSuggestion ............................................65
Table 60. AS.KB.S.4 hasPracticeFactorSuggestion ....................................................65
Table 61. AS.KB.S.4 hasPracticeRegulationSuggestion..............................................66
Table 62. AS.KB.S.4 hasPracticeSuggestion ..............................................................66
Table 63. AS.A.14 Practice Description template..............................................................67
Table 64.Hazard Stories description ............................................................................69
Table 65: An example of a simple hazard analysis (based on Designsafe layout) .....100
Table 66: A template for the additional practices description .....................................101
Table 67 DocBeacon Project Analysis .......................................................................107
Table 68.Project Characteristics Analysis – GlucoMet ...............................................114
Table 69: SafeScrum Backlog Splitting Practice description ......................................123
Table 70.Autronica Autrosafe Project Analysis ..........................................................128
Table 71.Autronica AutroMaster Project Analysis ......................................................128
Downloaded from mostwiedzy.pl
10
Downloaded from mostwiedzy.pl
11
INTRODUCTION
1. INTRODUCTION
1.1. CONTEXT
The ultimate goal of the software development process is to produce high quality
software that would please the customers and bring a satisfactory income. The success
of the project, however, is a combination of multiple factors and the right choice of a
software development method is a crucial one.
The software development methods “provide the technical how-to’s for building
software” (Pressman, 2009). They offer guidelines on applying specific activities and
tasks and organising them into a software development process. Presently there are
numerous methods available, ranging from rigid, plan-driven, process-oriented ones to
more flexible, people-oriented agile approaches.
Plan-driven methodologies, as the name itself suggests, are concentrated on the
planning aspects of the software development. These “methods approach development
in a requirements/design/build paradigm with standard, well-defined processes that
organizations improve continuously” (Boehm & Turner, 2003). Examples of such
methodologies include waterfall process methodologies and SW-CMM (Software
Engineering Institute, 1993). On the other end of the spectrum lie agile methodologies.
As stated in the Agile Manifesto (Agile Manifesto, 2001), which outlines the principles
behind this group of methodologies, in the agile approach working software, collaboration
and flexible responding to change are valued more than the documentation, processes
and following plans. Scrum (Schwaber, Beedle, 2001) and eXtreme Programming
(eXtreme Programming, 1999) are examples of such methodologies. In between the two
extremes, hybrid methodologies can be identified. Looking at methodologies as a
Downloaded from mostwiedzy.pl
collection of practices, activities and guidelines, they identify the potentially beneficial
elements in both plan-driven and agile approaches and combine then in a new way.
In this thesis, a term practice is used to describe “a collection of concepts,
principles, methods, and tools” (Pressman, 2009), which may origin from a software
development method, combining its suggested activities into a practical purpose. More
precisely, following Päivärinta’s and Smolander’s conclusions (Päivärinta and
Smolander, 2015), “in the software development context, practices may include both
thoroughly organized use of predefined development methodologies and loosely
organized and even emergent activities that may use individual tools or techniques at
hand”. What is important, a practice “populates a software process model with the
necessary technical and management how-to’s to get the job done” (Pressman, 2009).
12
INTRODUCTION
development methods to use. Safety-critical systems are systems “whose failure might
endanger human life, lead to substantial economic loss, or cause extensive
environmental damage“ (Knight, 2002). Such systems can be found in transportation,
health care, energy industry and many other fields where certain critical responsibilities
are transferred to technological solutions. Potential harm in case of the system
malfunction can have a profound impact on its environment and context of use. For this
reason, safety-critical systems are subject to numerous regulations and standards, which
advise what to do to ensure that the final software is acceptably safe. Some standards
also regulate the development process and define its necessary actions and artefacts.
In recent years a growing competition in the IT market has also influenced the
safety-critical domain. With widespread use of software, for example in cars or planes,
everyone is a potential user of safety-critical software, which naturally changed the
perspective for companies providing such software. For example, when it comes to
13
INTRODUCTION
medical software companies, they have evolved from supporting only hospitals and
doctors to providing personalized e-health software solutions and equipment for
individual patients. It has become crucial to offer better software, more appealing to a
user while keeping cost as low as possible in order to compete in this fast changing and
growing market. Consequently, there is a strong demand for increasing efficiency of
software development processes (in terms of effort and time) while still respecting the
safety requirements imposed by relevant standards and regulations.
The goal of the research described in this work was to develop an approach
aimed at facilitating the introduction of a more agile approach to the software
development process, depending on the characteristics of the project, while maintaining
compliance with the required safety standards and regulations, and the AgileSafe
method presented in this thesis is the main result of this research.
The thesis proposition is formulated as follows:
The proposed method makes it possible to reduce the effort devoted to
software development processes in safety related projects, without compromising
the requirements of applicable norms and standards.
14
INTRODUCTION
Step VIII. Evaluation of AgileSafe – by case studies and assessments with active
expert involvement.
In Section 2 the domain of safety-critical software has been analysed. The context
has been presented as well as the problems this domain is facing and some attempts to
answer these problems have been investigated.
In Section 3 the works related to this research have been analysed, outlining the
motivations and proposed solutions.
In Section 8 the process of Evaluation of the method and its results have been
described.
15
SOFTWARE DEVELOPMENT OF SAFETY-CRITICAL SYSTEMS
With an intensive progress and expansion of technology in the 20th and 21st
centuries, devices and solutions in many domains have become increasingly software
reliant. Computers have been able to execute tasks that used to rely on humans or were
not possible before due to the human limitations. However, the responsibility for the
outcome of these computerised actions have been transferred to another human beings
– the creators of such systems.
In order to ensure that the system is safe to use in its destined environment, the
concern about its safety begins at its conception and lasts throughout its lifecycle. The
system should be analysed in terms of potential risks, with risk being understood as “a
possibility of loss, damage or disadvantage” in terms of the software development and
final operating in its environment (Miler and Górski, 2001). There are activities and
techniques, presented through the years that can be performed in order to analyse the
potential failures thus increasing chances of avoiding them. For example, an assessment
of hazards can be implemented, traditionally using methods such as Fault Tree Analysis
(FTA), Failure Mode Effect Analysis (FMEA) etc. (Smith and Simpson, 2016).
Downloaded from mostwiedzy.pl
Nevertheless, the sole fact of using such methods does not ensure that the required level
of safety will be met.
As with many engineering domains (Kelly, 1998), it has been the failures that
provided the incentive for more thorough software safety policies. Procedures for
airborne software are still subject to updates, especially after dangerous malfunctions
such as Airbus A340-642 accident with fuel control and monitoring computer and its
warning system (AAIB, 2005) or Boeing 777-200 software component analysing data
from a known faulty accelometer (ATSB, 2005). A very explicit example of a disaster
caused by a software error is the case of Therac-25, a radiation therapy machine
(Leveson, 1995). Due to the malfunction of its software several people have died or been
disabled. Policies concerning medical software in the United States have been updated
based on this incident (Leveson, 1995). Nevertheless, software accounts for
16
SOFTWARE DEVELOPMENT OF SAFETY-CRITICAL SYSTEMS
With the technological progress some new domains have been born, such as
nuclear or automotive industries and the new areas became a catalyst for researching
advanced computer-based solutions. Such solutions needed to increase the safety of
Downloaded from mostwiedzy.pl
the products rather than pose another potential threat. For this reason, nuclear industry
was one of the first advocates for safety assurance solutions (Bloomfield, Bishop, 2010).
In 1970’s the European Working Group on Industrial Computer Systems (EWICS)
started to work on a series of guidelines and a collection of best practices for
development of safety related systems (Bloomfield, Bishop, 2010). This work contributed
to the IEC 880 standard on software for nuclear systems (IEC, 1986). Since then, an
increasing number of domains adapted the idea of a common safety regulation and many
standards have been issued.
The International Organization for Standardization (ISO) defines standard as
“a document that provides requirements, specifications, guidelines or characteristics that
can be used consistently to ensure that materials, products, processes and services are
fit for their purpose” (International Organization for Standardization, 2017).
17
SOFTWARE DEVELOPMENT OF SAFETY-CRITICAL SYSTEMS
the CENELEC. In the United States the Food and Drug Administration (FDA) provides a
list of guidance and regulatory requirements for specific products (Fda.gov, 2017).
18
SOFTWARE DEVELOPMENT OF SAFETY-CRITICAL SYSTEMS
Standardization, 2006), and others. For this reason, the medical safety-critical software
domain was chosen for demonstration and calibration of the AgileSafe method proposed
in this thesis.
Medical certificates and standards concern both hardware and software parts of
the product. This thesis concentrates on the standards that apply to the software
components of medical devices, specifically ISO 14971:2007 Medical devices --
Application of risk management to medical devices (International Organization for
Standardization, 2007) and IEC 62304:2006 Medical device software -- Software life
cycle processes (International Organization for Standardization, 2006). All of the further
mentions of ISO 14971 and IEC 62304 will refer to these versions. While the latest
version of ISO 14971 is EN ISO 14971:2012, it applies only to European market and
what is more, the core text of the standard stayed unchanged with only three added
annexes. For this reason, the version of reference in this thesis is the ISO 14971:2007.
When it comes to IEC 62304, in 2015 an amendment to the standard was issued, with
details concerning legacy systems (International Organization for Standardization,
2015b). Due to its limited impact on the core text of the standard, in this thesis the IEC
62304 version of reference is IEC 62304:2006.
Along with the evolution of safety guidelines and standards in 1970’s and 1980’s
a need for a method to demonstrate conformance with these requirements emerged. The
idea of presenting logically organised declarations of compliance with a supporting
evidence material has been developed and eventually a concept of safety case has been
introduced (Bishop, Bloomfield, 1995). Among various methods of representation of such
Downloaded from mostwiedzy.pl
safety cases the argument representation is the one, which has gained most popularity,
hence the use of the term safety arguments in some of the later works (Ge, Paige,
McDermid, 2010; Greenwell, Knight, Holloway, Pease, 2006) and more general
assurance arguments (Ankrum and Kromholz, 2005; Stephenson, McDermid, Ward,
2006; Weinstock and Goodenough, 2009), used as a wider term.
Such arguments are built using a specific notation. Some of the most
acknowledged approaches to argument structure are based on the ideas proposed by
Stephen Toulmin in 1958 (Toulmin, 2003). Toulmin’s model of argument organises
reasoning supporting a good argument using a set of claims, warrants and data.
Examples of structures based on this model are Trust-IT (Górski, 2005; Górski et al.,
2005; Górski, 2007), Goal Structuring Notation (GSN) (Kelly, 1998) and Claims-
Arguments-Evidence (Bishop, Bloomfield, 1998).
19
RELATED WORK
3. RELATED WORK
SAFETY-CRITICAL SOFTWARE
Medical devices are nowadays highly software intensive and the suppliers of such
devices may need to be compliant with various standards and certification programs. At
the same time medical software is used in diverse environments extending the range of
potential stakeholders from hospitals and medical experts to regular patients and e-
health services users. With growing competition in the domain, fast paced changes in
technology, and customers demanding innovations as well as highest safety standards,
medical software companies are motivated to employ hybrid approaches where agility is
combined with necessary safety assurance.
Agile methodologies have grown in popularity since the presentation of the Agile
Manifesto in 2001 (Agile Manifesto, 2001). They were introduced as an alternative to
Downloaded from mostwiedzy.pl
plan-driven and waterfall methodologies, which were considered as being too restrictive
in some circumstances, in particular, while dealing with volatile requirements and ever-
changing market demands. In such situation, heavyweight documentation and low
flexibility associated with plan-driven approach could have an impeding effect on a
software development process (Boehm, Turner, 2003; Ge, Paige, McDermid, 2010).
In response to these concerns agile methodologies have offered practices which value
close relationship with customers, allow more relaxed approach towards documentation
and provide a flexible development lifecycle based on short iterations (Abrahamsson et
al., 2002). Successfully combined, agile practices can potentially reduce the cost of
production as well as time to market (Drobka, Noftz, Raghu, 2004; Lindvall et al., 2004)
According to the CHAOS report (Standish Group, 2015) from years 2011-2015,
projects, which followed agile methods, resulted in 39% success rate as opposed to 11%
with projects following waterfall approach. Moreover, only 9% of the agile projects failed,
20
RELATED WORK
while the waterfall projects failed in 29% of the cases. Interestingly, the higher success
rate for agile projects is even more remarkable when it comes to medium and large
projects than it is for smaller ones.
What is more, VersionOne in its 10th State of Agile Annual Report presents the
benefits of agile according to their respondents, based on 3,880 responses collected
(VersionOne, 2016). With respect to our research the most interesting results were those
concerning reduction of effort: 85% of respondents noticed increased team productivity,
80% faster time to market and 79% enhanced software quality when they introduced
agile in their projects.
While agile approach has gained an almost immediate acclaim among SMEs and
companies involved in non-critical projects, they were received with much distrust by
larger companies and software engineers engaged in long-term and/or safety-critical
projects. In case of such projects, the predictability and stability of plan-driven
methodologies can bring expected profits (Paige, Charalambous, Ge, Brooke, 2008) by
facilitating the certification processes and establishing a repetitive quality. The up-front
analysis and rigorous documentation provide valuable foundations for further risk
management and process traceability (Boehm, 2002). What is more, some companies
have years of experience in managing their projects following plan-driven practices and
therefore they have acquired the know-how that increases the trust towards this
approach (Ge, Paige, McDermid, 2010; Rottier, Rodrigues, 2008).
For many years it has been prejudicially believed that agile methodologies are at
odds with maturity models and certification schemes (Glazer et al., 2008). This point of
Downloaded from mostwiedzy.pl
view might stem from the outdated notions based on inflexible models such as Capability
Maturity Model (replaced with Capability Maturity Model Integration (Software
Engineering Institute, 2006)) and an oversimplification of agile values (Glazer et al.,
2008). In fact, present-day maturity models provide more freedom than their
predecessors while agile methodologies are not about the lack of documentation and
recklessness.
Attempts to combine the best of the two approaches, the agile and the disciplined
one, have been presented as early as in 2003 (Boehm, Turner, 2003) and reflected a
global discussion about the need and applicability of such hybrid methodologies. As a
result, some models adapting agile practices into maturity models such as CMMI have
been introduced since then (Fritzsche, Keil, 2007; Marçal et al. 2008; Diaz, Garbajosa,
Calvo-Manzano, 2009; Bulska, Miler, 2010) providing new possibilities for companies
engaged in long-term and critical projects. What is more, case studies and evidences of
21
RELATED WORK
language and scrutiny represented in guidelines indeed suggest that the plan-driven way
is the smoothest way to comply, nonetheless it is not a requirement. In fact, in 2012 FDA
recognized the AAMI TIR45:2012 - Guidance on the use of AGILE practices in the
development of medical device software (Association for the Advancement of Medical
Instrumentation, 2011). It concludes that agile practices can be successfully used in
safety-critical software development and that such practices can be compliant with IEC
62304 standard. It also provides a mapping between agile methods and IEC 62304
activities (Association for the Advancement of Medical Instrumentation, 2011).
22
RELATED WORK
DEVLOPMENT
There is a growing body of evidence supporting the theory that incorporating agile
practices into safety-critical projects is not only feasible but also potentially profitable. In
2003 Alleman et al. (Alleman, Henderson and Seggelke, 2003) presented an approach
combining eXtreme Programming practices (eXtreme Programming, 1999) with Earned
Value Management (Earned Value Management, 1967) that was successfully
implemented in a government contracted project. In their article they described their
experiences and improvements obtained by using this approach, although the approach
itself was not sufficiently illustrated and little was mentioned about which features of the
product and its certificates had influenced the choice of practices.
Consecutive reports were more specific about successful implementations of
their hybrid approaches. Rasmussen et al. (Rasmussen et al., 2009) described the
application of a tailor-made agile approach in a Food and Drug Administration (FDA)
regulated project in Abbott Company (Abbott, 2017). As a result of the rapid expansion
of the market, which demanded responding to the changing requirements as well as
reducing production cost, the Abbott Company decided to employ a software engineering
organization AgileTek (AgileTek, 2011), which developed the Agile+ solution. The Abbott
Company managed to improve their processes and achieved the financial goals by
introducing more agile approach while still maintaining the acceptable level of FDA safety
assurance. Unfortunately, because of a commercial aspect of the Agile+ it was only
briefly described in the article, making it difficult for other companies to benefit from
Abbott experiences without external help.
Downloaded from mostwiedzy.pl
23
RELATED WORK
compliant medical devices projects. Their method was based on an idea of combining
an incremental character of code development with a classic, waterfall-like way of
preparing project documentation. Unfortunately, the model was insufficiently described,
and we know very little about its possible implementations.
Stephenson, McDermid and Ward (Stephenson, McDermid, Ward, 2006)
presented another model for tailoring agile practices to suit safety-critical systems. They
called it the Agile Health Model and it was built around the idea of modular structures
and risk management techniques known from plan-driven methodologies. However, the
model was in the preliminary stage, introduced mainly in order to prove the possibility of
applying agile practices into safety-critical projects, and no case study was provided as
well.
A more complex and well-described model was presented by Paige et al. (Paige
et al., 2008). They collated agile and safety principles and demonstrated the key
challenges that need to be addressed when formulating a hybrid approach. Their main
concerns were the different approaches towards communication, documentation,
customer participation, multiple-domain engineering, testing, and incremental
development. Indeed, as much as agile methodologies value an active customer
participation, in safety-critical systems development it is often impossible to keep in touch
with every group of stakeholders, in particular if we take external certification
organizations into consideration as well. Testing and incremental development, both
crucial to the agile approach, are also difficult to reconcile with safety requirements. Agile
testing strategy is based on unit and black-box tests while in order to satisfy certification
bodies it is important to incorporate costly and time consuming white-box and
acceptance tests. What is more, the incremental product development, one of the key
Downloaded from mostwiedzy.pl
attributes of all agile methodologies, can impede the process of certification and
preparation of safety arguments as they should be addressed up-front with all of the
requirements and risks known beforehand.
Paige et al.’s solution concentrates on the following ideas: pair-programming of
software and system engineers, the introduction of risk management techniques, usage
of tools for generating documentation from source code and tackling the incremental
development by using “pipelined iterations” consisted of the minor and major iterations
with acceptance tests at the end of every major one. Their model was implemented in a
case study in which an Integrated Altitude Data Display System (IADDS) for aeroplanes
was developed. As a result, their approach was put to the test as their solutions proved
to be insufficient in some aspects. They concluded that although “XP and Aps [agile
practices] in general were not designed with safety-critical systems development in mind,
they can be adapted to that sort of development, [...] it is rather unlikely that level A
24
RELATED WORK
software can be produced in the near future with the modifications made to the process
so far” (Paige et al., 2008).
Another relevant approach is AV-Model (McHugh, McCaffery and Coady, 2014)
combining the traditional V-Model with Scrum and focusing on medical device software
development and the IEC 62304 standard. While the AV-Model present some promising
solution, its focus as well as potential applications are restrained and as such cannot be
universally recommended.
A more comprehensible and practical solution has been proposed by a joint
research group of SINTEF (SINTEF, 2017) and the Norwegian University of Science and
Technology (NTNU, 2017). They proposed a method called SafeScrum (Mycklebust,
Stålhane and Hanssen, 2016), which concentrates on adapting Scrum into safety-critical
software development. The method has been already applied in real life projects
(Stålhane, Myklebust and Hanssen, 2013). The standard that has been mainly used in
conjunction with SafeScrum is IEC 61508 (International Electrotechnical Commission,
2010) (Hanssen, Myklebust and Stålhane, 2012), which is focused on functional safety.
The safety-oriented SafeScrum practices include Backlog Splitting, Backlog Refinement
and Quality Assurance Role (Mycklebust, Stålhane and Hanssen, 2016). While the whole
method is very promising, it may need various adjustments when applied to other
standards. What is more, it does not provide any actual tools to control the conformance
with standards.
OF PROCESSES
software development project, in the safety-critical software domain its profits will not be
visible unless a company is able to conform to standards and guidelines, which regulate
a particular industry. Clients demand their products to be of high quality, on time and
within a reasonable budget but at the same time the software need to be certified by an
appropriate authority in order to be approved for use in its destined environment. For
this reason, in safety-critical software domain it is not enough to streamline the process
and make people work in a more efficient way, it is not enough to prove the financial
profits to the company – a mechanism needs to be employed to ensure that the safety
level did not suffer in the process.
Attempts to provide a hybrid, disciplined-agile, approaches bringing together best
of the two worlds are already in effect for several years. A growing body of evidence,
including industrial reports, shows that obtaining the right balance is doable and
25
RELATED WORK
26
AGILESAFE OVERVIEW
4. AGILESAFE OVERVIEW
In the previous chapter the motivations behind seeking new solutions for
development of safety-critical software have been described. With growing competition
in the domain, fast paced changes in technology and clients demanding innovations as
well as the highest safety standards, safety-critical software companies are tempted to
employ hybrid approaches where agility is combined with necessary safety assurance.
In this research we attempt to answer their needs by introducing AgileSafe method.
27
AGILESAFE OVERVIEW
Table 1.
Apply AgileSafe use case: general description
1. Apply AgileSafe
Description The information about Project and about the regulatory
context constraining the Project and its product are the inputs to
the method. User needs to specify the characteristics of the Project
and the regulations the Project needs to comply with. Based on
these, the User is guided through the two main processes of
AgileSafe: process which selects the specifications of software
development practices to be applied in the Project and a process
which results in the set of assurance arguments corresponding to
Downloaded from mostwiedzy.pl
28
AGILESAFE OVERVIEW
Table 2.
Improve AgileSafe use case: general description
2. Improve AgileSafe
Description In order to further improve the method and tailor its advice to the
User’s needs more accurately, the knowledge stored in the method
should be reviewed and updated regularly.
User can introduce new software development practices to the
pool of the practices from which the candidate practices are
selected. They can also be added to the AgileSafe assurance
arguments.
User can also add another standard to the assurance arguments.
A more detailed description of these use cases is given in the following paragraphs.
A more detailed structure of the Apply AgileSafe use case is presented in Figure 2,
following the UML use case notation.
Downloaded from mostwiedzy.pl
29
AGILESAFE OVERVIEW
For the use cases shown in the following figures we apply the naming convention
that each use case is unambiguously identified by the identifier AS.P<n>, where n is a
natural number.
The use cases presented in the Figure 2 are the core processes of AgileSafe method. In
order to apply AgileSafe in a Project, the User should initialize the use cases in the
following order:
AS.P.1 Analyse the Project
AS.P.6 Assert Conformance
AS.P.9 Choose practices
AS.P.7 Apply practices.
Further explanation of their application is presented in the data flow diagram of Figure
4
Downloaded from mostwiedzy.pl
30
AGILESAFE OVERVIEW
Downloaded from mostwiedzy.pl
31
AGILESAFE OVERVIEW
In the dataflow diagram of Figure 3, the User first analyses the project (AS.P.1)
which results in AS.A.3 Project Characteristics. These characteristics are then added
(AS.P.8) to the AS.A.2 Practices Knowledge Base. The Practices Knowledge Base provides input
to the AS.P.3 Select practices process which presents to the User as AS.A.13 Suggested
Practices Set. From these suggested practices the User can AS.P.9 Choose practices for his
AS.A.6 Project Practices Set. And the resulting Project Practices Set is being implemented in
the software development process (AS.P.7 Apply Practices).
AS.A.5 Practices Compliance Arguments should be adapted (AS.P.4), depending on
the AS.A.6 PPS, into AS.A.8 Project Practices Compliance Arguments. Based on them, the
AS.A.10 Project Compliance Arguments are prepared (AS.P.5) and they are the end products
of the method allowing the User to AS.P.6 Assert conformance, using the evidence prepared
during the AS.P.7 Apply practices process.
The artefacts used in AgileSafe have been organised into three categories:
• Input – the artefacts, which are supplied by the user and are the main
variables in the method
• Method framework – the artefacts maintained by the method
• Output – the artefacts prepared as a direct result of AgileSafe application
The specific elements of a detailed diagram of Apply AgileSafe use case (Figure
2) are described in the tables below.
Artefacts:
Table 3.
AS.A.2 Practices Knowledge Base
Downloaded from mostwiedzy.pl
32
AGILESAFE OVERVIEW
Table 4.
AS.A.9 Project Compliance Argument Pattern
Table 5.
AS.A.3 Project characteristics
Table 6.
AS.A.6 Project Practices Set
Type Output
Table 7.
Downloaded from mostwiedzy.pl
Type Output
33
AGILESAFE OVERVIEW
Table 8.
AS.A.10 Project Compliance Argument
Type Output
Table 9.
AS.A.11 Project
AS.A.11 Project
Type Input
Description The software development project which is a subject to the
AgileSafe practices selection and safety monitoring.
Table 10.
AS.A.13 Suggested Project Practices Set
Type Output
Description The list of practices suggested by the method algorithms for the
given project.
Downloaded from mostwiedzy.pl
Processes:
Table 11.
AS.P.1 Analyse the project
34
AGILESAFE OVERVIEW
Table 12.
AS.P.3 Select practices
Table 13.
AS.P.4 Generate Project Practices Compliance Argument
Practices Set.
3. Based on AS.A.7 Project Practices Compliance Pattern and the
edited AS.A.5 Practices Compliance Argument prepare the AS.A.8
Project Practices Compliance Argument.
35
AGILESAFE OVERVIEW
Table 14.
AS.P.5 Prepare Project Compliance Argument
Table 15.
AS.P.6 Assert conformance
Table 16.
AS.P.7 Apply practices
36
AGILESAFE OVERVIEW
A more detailed overview of the Improve AgileSafe use case is presented in Figure
4:
Downloaded from mostwiedzy.pl
In order to improve AgileSafe, the User can update the AS.A.2 Practices Knowledge
Base with new practices. User follows the AS.P.3.1 Update practices process and the new
practice can be added (AS.P.8 Add to the Knowledge Base) to the existing resources.
A further explanation of the Improve AgileSafe use case is shown in the data flow
diagram in the Figure 5.
37
AGILESAFE OVERVIEW
User introduces (AS.P.3.1 Update practices) the AS.A.12 New Practice or edits the
information about a Practice, based on the AS.A.1 Regulation needs, by filling in the AS.A.14
Practice Description. In the next step the practice is added (AS.P.8 Add to the Knowledge
Base) to the AS.A.2 Practices Knowledge Base.
User can also AS.P.2 Develop or Update Practices Compliance Argument for a given
Downloaded from mostwiedzy.pl
AS.A.1 Regulation, based on the AS.A.4 Practices Compliance Argument Pattern and using the
Practices from the AS.A.2 Practices Knowledge Base.
The specific elements of a detailed diagram of Improve AgileSafe use case are
described in the tables below (description of the assets already presented in section
4.1.1 are not repeated):
Table 18.
AS.A.1 Regulation
AS.A.1 Regulation
Type Input
38
AGILESAFE OVERVIEW
Table 19.
AS.A.12 New Practice
Type Input
Table 20.
AS.A.14 Practice description
Table 21.
AS.A.4 Practices Compliance Argument Pattern
Table 22.
AS.A.5 Practices Compliance Argument
Type Output
Description An argument that is developed based on AS.A.4 Practices
Compliance Pattern, a given regulation and applicable practices
from AS.A.2 Practices Knowledge Base.
39
AGILESAFE OVERVIEW
Table 23.
AS.P.3.1 Update practices
Table 24.
AS.P.2 Develop/Update Practices Compliance Argument
Figure 6 presents a complete data flow diagram of AgileSafe, including both Apply
AgileSafe and Improve AgileSafe use cases:
40
AGILESAFE OVERVIEW
Downloaded from mostwiedzy.pl
41
AGILESAFE OVERVIEW
Application of the AS.P.7 Apply practices process shown in the Figure 6 results in
software and other artefacts which are the evidence that can be referred to form the
AS.A.10 Project Compliance Argument.
42
AGILESAFE OVERVIEW
43
AGILESAFE OVERVIEW
44
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
The AgileSafe AS.P.3 Select Practices process has two main aspects it takes into
consideration:
Select Practices
It analyses the Project in these two aspects and in the end compares the resulting
recommendations and collates an approach with appropriate practices.
development and management in a given project can be. Ambler’s scaling factors
represent a broad spectrum of circumstances, both company and project related.
45
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
46
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
4. Organisational Distribution
(What is the affiliation of the people working in the project, how is the work
organised?)
A – Collaborative; B – Different teams; C – Different departments; D – Different
partner companies; E – Contractual
5. Technical Complexity
(How complicates is the technological side of the project?)
A – Homogenous; B - Multiple technology; C – New technology; D -
System/embedded solutions; E – Heterogeneous/Legacy
6. Organisational Complexity
(What are the structures of the company, how are they managed?)
A – Flexible, intuitive; B – Flexible, structured; C – Stable, evolutionary; D –
Stable, planned; E – Rigid
7. Enterprise Discipline
(What lies in the centre of attention of the company management?)
A – Project focus; B – Mostly project focused; C – Balanced; D – Mostly enterprise
focused; E – Enterprise focus
In AS.A.2 Knowledge Base these scales are used for both, assessing AS.A.3 Project
Characteristics and Practices Capability within given factor. These elements will be
described in more detail in further sections.
5.2. DISCIPLINES
Additionally, the AS.A.2 Practices Knowledge Base stores information about software
Downloaded from mostwiedzy.pl
47
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
5. Project Management
A discipline focused on managing and supporting the team while working
efficiently on a solution.
6. Requirements
A discipline tackling with activities aimed at specifying and managing
requirements.
7. Test
A discipline aimed at analysing and evaluating the technical solution.
The first step of AgileSafe is to AS.P.1 Analyse the project. A User gathers available
information about the project and based on this information evaluates the project against
the seven Factors and thus compose its AS.A.3 Project Characteristics.
Table 26 presents the form used for composing AS.A.3 Project
Characteristics:
Table 26.Project Characteristics Analysis
Id
Name
Description
Downloaded from mostwiedzy.pl
Regulatory
Requirements
Characteristics Factor Values
Team size A – Under 10 developers; B – From 10 to
50 developers; C – From 50 to 100
developers; D – 100’s of developers; E –
1000’s of developers
Geographical A – Co-located; B – Same building; C –
Distribution Some working from home; D – Within
driving distance; E – Globally distributed
Domain Complexity A – Straightforward; B - Predictable; C –
Quickly changing; D – Complicated; E –
Intricate/Emerging
48
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
Where:
Id – an identifier of the project
Name – a short term describing the project
Description – a characterisation of the project, its domain, purpose, client etc.
Regulatory Requirements – a list of standards, guidelines etc. with which the
project need to be compliant
Characteristics – for each factor, a list of predefined circumstances, which
characterises the project best (one or more, for each factor)
The information about the AS.A.3 Project Characteristics is then stored in the AS.A.2
Downloaded from mostwiedzy.pl
49
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
Figure 8 AS.AL.1 Algorithm for Practices suggestions based on the Project Characteristics
Due to the importance of the regulatory aspect of the projects the AgileSafe
method is addressed to, the Regulatory Compliance is considered separately to the other
Project Characteristics. The AS.AL.2 algorithm presented in the Figure 9 illustrates how
the Regulatory Compliance is analysed in the AS.P.3 Select practices process.
50
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
Figure 9 AS.AL.2 Algorithm for Practices suggestions based on the Regulatory Compliance
The fulfilsRegulation relation depicts for which regulations a given practice can
provide evidence, as indicated in AS.A.14 Practice Description. The requiresRegulation
relation depicts the regulations required by the project, as indicated in the AS.A.3 Project
characteristics. More information about implementation of the presented relations can be
found in Section 6.
The output of the algorithm is then subject to AS.AL.3 Algorithm for Suggested
Practice Set.
51
PROJECT ANALYSIS AND PRACTICES SELECTION PROCESS IN AGILESAFE
The resulting set of Practices is then a subject to User evaluation. The User can decide
which of the suggested practices she/he decides to implement in the new hybrid
approach. The resulting AS.A.6 Project Practices Set is then used to build a customised set
of AgileSafe assurance arguments.
The AS.AL.1, AS.AL.2 and AS.AL.3 algorithms presented in this chapter are
implemented in the AS.A.2 Knowledge Base in the form of rules and will be presented in
more detail in the following Section 6.
Downloaded from mostwiedzy.pl
52
AGILESAFE PRACTICES KNOWLEDGE BASE
The intention behind AS.A.2 Practices Knowledge Base is to assemble practices for
software development projects, which can provide a base for the custom-made
approach. Additionally, the AS.A.2 Practices Knowledge Base stores information about the
elements vital to the AS.P.3 Select Practices process such as Project Characteristics as well
as the rules, which determine the suggested AS.A.13 Suggested Practices Set.
In order to illustrate the AS.A.2 Practices Knowledge Base structure, in the diagram
below (Figure 11) associations represent properties and classes represent concepts of
the AgileSafe practices world. Class attributes in the diagram represent data properties,
which should be specified for each individual of a given concept in the knowledge base.
Downloaded from mostwiedzy.pl
The details of the model of Figure 11 are explained in the following tables.
53
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 27.
hasName
hasName
Table 28.
hasDescription
hasDescription
Table 29.
hasId
hasId
Table 30.
AS.KB.1 Practice
AS.KB.1 Practice
Downloaded from mostwiedzy.pl
54
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 31.
AS.KB.2 Discipline
AS.KB.2 Discipline
Table 32.
AS.KB.3 Regulatory Requirement
AS.KB.3 Regulatory_Requirement
55
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 33.
AS.KB.4 Factor
AS.KB.4 Factor
Table 34.
AS.KB.5 Factor_Capability
Downloaded from mostwiedzy.pl
AS.KB.5 Factor_Capability
Description The Practice’s “sweet spot” for a given Factor. These are the
values in which the Practice works best within given Factor. For
example, “From 10 to 50 developers” (connected with Factor
Team Size). This text will be stored in the hasName property.
Data properties hasName
56
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 35.
AS.KB.6 General Practice
AS.KB.6 General_Practice
Table 36.
AS.KB.7 Project
AS.KB.7 Project
Description Holds information about the AS.A.11 Project for which the AS.A.13
Suggested Practices Set is prepared.
Data hasName; hasDescription
properties
Table 37.
AS.KB.8 Fact
AS.KB.8 Fact
Table 38.
AS.KB.9 Regulation
AS.KB.9 Regulation
57
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 39.
AS.KB.10 fulfilsRegulation
AS.KB.10 fulfilsRegulation
Table 40.
AS.KB. hasCapability
AS.KB.11 hasCapability
Table 41.
AS.KB. hasPracticeFactorSuggestion
AS.KB.12 hasPracticeFactorSuggestion
Table 42.
Downloaded from mostwiedzy.pl
AS.KB.13 hasPracticeRegulationSuggestion
AS.KB.13 hasPracticeRegulationSuggestion
58
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 43.
AS.KB.14 hasPracticeSuggestion
AS.KB.14 hasPracticeSuggestion
Table 44.
AS.KB.15 isUsedWithin
AS.KB.15 isUsedWithin
Table 45.
AS.KB.16 worksWithin
AS.KB.16 worksWithin
Table 46.
AS.KB.17 requiresRegulation
AS.KB.17 requiresRegulation
59
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 47.
AS.KB.18 hasPractice
AS.KB.18 hasPractice
Table 48.
AS.KB.19 hasFactorValue
AS.KB.19 hasFactorValue
Description Each Factor can take specific values from the predefined
range.
Usage Factor_Capability hasFactorValue Factor
Table 49.
AS.KB.20 actsWithin
AS.KB.20 actsWithin
Table 50.
AS.KB.21 fulfilsGroup
Downloaded from mostwiedzy.pl
AS.KB.21 fulfilsGroup
Table 51.
AS.KB.22 detailsRequirement
AS.KB.22 detailsRequirement
60
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 52.
AS.KB.23 detailsRegulation
AS.KB.23 detailsRegulation
Due to the fact that OWL cannot express all of the AgileSafe relations, additional
SWRL rules needed to be introduced for the more complex reasoning. This mainly
concerns limitations in representation of property chains and relations between
individuals in OWL. Following a recommended good practice in implementing ontologies,
two approaches (DL and SWRL) are kept in separate base ontologies and then imported
into one AS.A.2 Practices Knowledge Base.
The rules expressed in SWRL in AS.A.2 Practices Knowledge Base are presented in
the screenshot from Protégé tool (Figure 12):
Downloaded from mostwiedzy.pl
61
Downloaded from mostwiedzy.pl
62
Figure 12 SWRL Rules in AgileSafe Knowledge Base (screen from Protege)
AGILESAFE PRACTICES KNOWLEDGE BASE
AGILESAFE PRACTICES KNOWLEDGE BASE
AS.KB.S.1 hasTeamSizeSuggestion
Table 54.
AS.KB.S.2 hasGeographicalDistributionSuggestion
AS.KB.S.2 hasGeographicalDistributionSuggestion
Table 55.
AS.KB.S.3 hasDomainComplexitySuggestion
AS.KB.S.3 hasDomainComplexitySuggestion
63
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 56.
AS.KB.S.4 hasOrganisationalDistributionSuggestion
AS.KB.S.4 hasOrganisationalDistributionSuggestion
Table 57.
AS.KB.S.4 hasTechnicalComplexitySuggestion
AS.KB.S.4 hasTechnicalComplexitySuggestion
Downloaded from mostwiedzy.pl
64
AGILESAFE PRACTICES KNOWLEDGE BASE
Table 58.
AS.KB.S.4 hasOrganisationalComplexitySuggestion
AS.KB.S.4 hasOrganisationalComplexitySuggestion
Table 59.
AS.KB.S.4 hasEnterpriseDisciplineSuggestion
AS.KB.S.4 hasEnterpriseDisciplineSuggestion
Table 60.
AS.KB.S.4 hasPracticeFactorSuggestion
AS.KB.S.4 hasPracticeFactorSuggestion
65
AGILESAFE PRACTICES KNOWLEDGE BASE
hasOrganisationalComplexitySuggestion(?Proj, ?Pract) ^
hasEnterpriseDisciplineSuggestion(?Proj, ?Pract) ->
hasPracticeFactorSuggestion(?Proj, ?Pract)
Variables ?Pract – an individual of Practice concept;
?Proj – an individual of Project concept.
Description If the Project has at least one suggestion within each Factor for
a given Practice, then the Practice is suggested for this Project.
Table 61.
AS.KB.S.4 hasPracticeRegulationSuggestion
AS.KB.S.4 hasPracticeRegulationSuggestion
Table 62.
AS.KB.S.4 hasPracticeSuggestion
AS.KB.S.4 hasPracticeSuggestion
Downloaded from mostwiedzy.pl
66
AGILESAFE PRACTICES KNOWLEDGE BASE
To obtain suggestions from the AS.A.2 Practices Knowledge Base, the User needs to
execute DL queries in the Protégé tool.
In order to obtain an AS.A.13 Suggested Practices Set for a specific Project, a
following DL query should be executed, making sure that “Instances” checkbox is ticked
- that means that instances of the Practice concept will be included in the result:
The resulting list of Practices form the AS.A.13 Suggested Practices Set.
Id
Name
Downloaded from mostwiedzy.pl
Description
Discipline Architecture Yes / No
Deployment Yes / No
Development Yes / No
Environment Yes / No
Project Management Yes / No
Requirements Yes / No
Test Yes / No
Capability Factor Values
Team Size A – Under 10 developers; B – From 10 to
50 developers; C – From 50 to 100
developers; D – 100’s of developers; E –
1000’s of developers
67
AGILESAFE PRACTICES KNOWLEDGE BASE
Where:
Id – an identifier of the practice
Name – a short term describing the practice
Description – a characterisation of the activities, artefacts etc. that form the
practice
Discipline – a list of disciplines within which the practice operates (one or more)
Capability – for each factor, a list of predefined circumstances in which the
practice works best (one or more, for each factor)
68
AGILESAFE PRACTICES KNOWLEDGE BASE
Used in – a link to the Regulatory Requirement that the Practice (under General
Practice) complies with. The Fact is the statement of the Practice’s contribution to the
compliance.
An example of a completed description of a practice from AS.A.2 Practices
Knowledge Base (excerpt):
Table 64.Hazard Stories description
Id 1
Name Hazard Stories
Description Hazard stories are scenarios for possible safety violations,
written in natural language much like User Stories.
Procedure: Hazard Stories should be created at the planning
stage and supplemented through the whole project development
process. User Stories or Product Backlog features should be prepared
before the Hazard Stories in order to outline the main objectives of the
system. Methods for creating Hazard Stories can be similar to the
methods known from writing User Stories; brainstorming should be
useful. The team can assign roles, including “the devil’s advocate”.
Where applicable Hazard Story should be linked to User
Stories/Features it can violate or have impact on. This means that
User Stories/Features ought to include non-functional requirements,
especially safety-related. Based on this, priorities should be given to
each Hazard Story – priorities can be taken straight from the linked
User Stories/Features which means that the more important User
Story/Feature it disrupts is, the more distress it can cause and should
Downloaded from mostwiedzy.pl
be dealt with sooner. They can provide a starting point for the safety
related tests.
Discipline Architecture No
Deployment No
Development No
Environment No
Project Management Yes
Requirements Yes
Test Yes
Capability Factor Values
Team Size A – Under 10 developers; B – From 10
to 50 developers;
69
AGILESAFE PRACTICES KNOWLEDGE BASE
70
AGILESAFE PRACTICES KNOWLEDGE BASE
The information collected in this form is then transferred to the AS.A.2 Practices
Knowledge Base. In order to do that, in the present implementation the User uses the
Protégé tool. As the first step, the User adds a new instance and sets its name (see
Figure 13).
Downloaded from mostwiedzy.pl
In the next step, the User specifies Factor Capabilities for the NewPractice by
adding new Object property assertions in the Property assertions tab (see Figure 14).
71
AGILESAFE PRACTICES KNOWLEDGE BASE
On the left hand side of the new Object property assertions window the User
gives a property name, hasCapability in this case, and follows with an individual name
from the FactorCapability class, on the right hand side. The individuals specifying the
capabilities for each Factor are already implemented in the AS.A.2 Practices Knowledge
Base and their names reflect their connections to the Factor Capability values in the
following manner: <NameOfTheFactor_OrderLetter_NameOfTheValue>.
This action needs to be repeated for all of the values for this Practice, for each
Factor.
Next, the User adds Data property assertions – hasName and hasDescription (see
Downloaded from mostwiedzy.pl
Figure 15).
72
AGILESAFE PRACTICES KNOWLEDGE BASE
73
AGILESAFE PRACTICES KNOWLEDGE BASE
A Practice added with such information can be then used by the AS.AL.3
suggestion algorithm.
The result of the AS.AL.3 algorithm is the AS.A.13 Suggested Practices Set. As
explained in previous sections, it contains a list of Practices that might be suitable for a
given Project, based on its AS.A.3 Project Characteristics and regulatory requirements. This
list though is not ready to be implemented in the Project as it is. Depending on the
Project, this list may contain several Practices that concern the same aspect of software
development or produce similar artefacts, making them redundant. A User makes the
final choice which Practices should be used in a given Project and thus create the AS.A.6
Project Practices Set. These chosen Practices are then used to build AS.A.8 Project Practices
Compliance Argument and their artefacts fill the AS.A.10 Project Compliance Argument.
In order to help the User to make the best choice we propose the following
recommendations:
1. Each Practice is connected with one of the specified Project development
disciplines. It is recommended to check whether all of the disciplines are
sufficiently covered in the resulting Project Practices Set.
2. The User should be careful when rejecting Practices from AS.A.13 Suggested
Practices Set, which might result in loosing potential conformance
3. Each Practice has a Description field, which carries information about the details
of its application, so the User should analyse and compare which of the Practices
seem more suitable for this specific Project.
Downloaded from mostwiedzy.pl
74
ASSURANCE ARGUMENTS IN AGILESAFE
7.1.1. Trust-IT
In this research assurance arguments patterns are used to guide the software
developers in building explicit and incremental assurance arguments in parallel with the
software development project. The patterns are derived from the relevant standards,
regulations and guidelines. They follow the Trust-IT approach of applying argument
structures to support application of standards (NOR-STA, 2012; Cyra, Górski, 2011a), in
particular for the medical domain (Górski, Jarzębowicz, Miler, 2012).
Trust-IT (Górski, 2005; Górski et al., 2005; Górski, 2007) is an approach to
promoting trust by presenting in the cyberspace ‘live’ arguments integrated with the
supporting evidence and providing means for assessing and visualizing the compelling
power of the arguments. Evidence is a document in any form: text, graphics, image, web
page, video, audio etc. which is used to demonstrate the facts referred to in the
argument. Integrating an argument with supporting evidence helps to make it more
convincing. Trust-IT introduces a model of an argument, a graphical language for
Downloaded from mostwiedzy.pl
expressing arguments and a technique for integrating arguments with the evidence. It
also offers a general-purpose argument appraisal mechanism based on Dempster-
Shafer belief functions (Sentez K., Ferson S., 2002) among others and the corresponding
mechanism of visualisation of the argument compelling power (Cyra, Górski, 2011b).
Trust-IT arguments were already applied to analyse safety, privacy and security issues
of personalized health and lifestyle-oriented services (Górski, Jarzębowicz, Miler, 2008),
monitoring of environmental risks (ERM, 2009) and support of standards conformance
(Cyra, Górski, 2011a; Górski, Jarzębowicz, Miler, 2012). Trust-IT is offered to its users
by means of software services deployed in accordance with the SaaS (Software-as-a-
Service) cloud-computing model. The approach is generic and can be applied in any
context were evidence-based argumentation brings added value to decision making
processes and disputes.
75
ASSURANCE ARGUMENTS IN AGILESAFE
Figure 17: The structure of the arguments used in AgileSafe (Argevide, 2017)
76
ASSURANCE ARGUMENTS IN AGILESAFE
Since 2005 the idea of safety assurance cases has been analysed in depth by
both FDA and Software Engineering Institute (SEI) (Weinstock and Goodenough, 2009).
This partnership resulted in series of documents presenting potential uses of assurance
cases in FDA certification process (Weinstock and Goodenough, 2009), (Food and Drug
Administration, 2014). With FDA currently recommending the use of assurance
arguments in order to present compliance with safety regulations this method is gaining
more and more recognition. On the other hand, as the Health Foundation report
(Bloomfield, Chozos and Cleland, 2012) states, there is little experience in the industry
when it comes to the preparation of assurance cases. A need for special training and
developing new methodologies in the matter is emerging. Templates and methods
facilitating the use of arguments which the manufacturers can relate to can be of great
value.
Another important step towards popularisation of assurance arguments was the
introduction of tools allowing users to create and maintain the arguments in a user-
friendly manner. The popular tools, such as Adelard SafetyCase Editor (ASCE) (Emmet
and Cleland, 2002) and Astah GSN (Astah.net, 2017), are graphical editors allowing
more intuitive operations on assurance cases. Other tools, such as AdvoCATE (Denney,
Pai and Pohl, 2012), function as plug-ins or toolsets based on development
environments i.e. Eclipse. While such tools provide substantial support for building cases
using GSN notation, another tool called NOR-STA Argevide (Argevide, 2017) seems to
provide a more advanced solution. It tackles several issues, not covered by the
previously mentioned tools. Most interesting features from the AgileSafe point of view
are support for argument reuse, sharing arguments (teamwork), practical evidence
Downloaded from mostwiedzy.pl
Another important matter is the question of confidence put in the assurance case
itself. If the assurance case is to be the mean to validate trust, we need to trust the
assurance case as well. The question of how to assess validity of an assurance case is
increasingly attracting attention of the researchers (Bloomfield, Bishop, 2010),
(Weinstock, Goodenough and Klein, 2013), (Hawkins et al., 2011), (Cyra and Gorski,
2011).
77
ASSURANCE ARGUMENTS IN AGILESAFE
popularity but also due to potential optimization of cost and time (Paige,
Charalambous, Ge, Brooke, 2008), (Elmqvist et al., 2008), (Ge, Paige,
McDermid, 2010). The idea is that a system might be certified modularly, which
would also allow easier re-certification in the event of change in the system, in
which case only the affected modules should be re-certified. Assurance
arguments are vital part of such modular process and modular safety cases have
been the state-of-the-art in incremental certification research (Trapp, Schneider
and Liggesmeyer, 2013), i.e. they have been used by the Industrial Avionics
Working Group (IAWG) in the approach enabling modular and incremental
certification (Banner et. al.,2007), they have been a base for the ISO 61508 Open
Certification scheme (Faller and Goble, 2007). We assume that AgileSafe
assurance arguments can be adapted to modular certification in the future, if it
78
ASSURANCE ARGUMENTS IN AGILESAFE
COMPLIANCE ARGUMENT
Downloaded from mostwiedzy.pl
79
ASSURANCE ARGUMENTS IN AGILESAFE
The patterns for assurance arguments hold the information about the
organization of an argument and provide a structure for creating specific arguments.
They are generic and focus on the conformance of practices from AS.A.2 Practices
Knowledge Base with particular regulatory requirements. For each requirement, it
proposes an argumentation strategy and the range of software engineering practices
Downloaded from mostwiedzy.pl
used for collecting evidence demonstrating the compliance. It also contains explicit
justification that the argumentation strategy is adequate on the condition that the
evidence is collected and integrated with the argument. A list of claims concerning
different types of practices, which may contribute to satisfying the requirement is
presented, each claim postulating the potential of a given practice to generate the
evidence needed to demonstrate compliance.
Below the AS.A.4 Practices Compliance Argument Pattern is presented using a GSN
notation (Figure 20)
80
ASSURANCE ARGUMENTS IN AGILESAFE
81
Downloaded from mostwiedzy.pl
82
Figure 21: Practices Compliance Argument Pattern presented in NOR-STA tool
ASSURANCE ARGUMENTS IN AGILESAFE
ASSURANCE ARGUMENTS IN AGILESAFE
The pattern shown in Figure 21 requires that for each specific regulatory
requirement (G2 in Figure 21), there is an explicit argumentation strategy: S2 Argument
by artefacts providing evidence for compliance with the specific regulatory requirement.
It is followed by the justification: J2 Each of the following types of artefacts provide
enough evidence to support the compliance with a given regulatory requirement. The
argumentation strategy S2 is supported by claims concerning different types of practices
(G3 and G4 in Figure 21). Each such claim is justified by its own argumentation strategy
(S3 for G3 and S4 for G4) which then refer to the specific facts (G5 and G6 for S3, and
G7 and G8 for S4). These facts are demonstrated by the evidence collected directly from
the descriptions of the related practices
The pattern as presented in Figure 21 can be used while building a AS.A.5 Practices
Compliance Argument which refers to a specific standard and a specific set of practices.
Figure 22 illustrate the top-level structure of the AS.A.5 Practices Compliance Argument for
an excerpt of ISO 14971 standard (the requirements: 4.4 Risk Analysis: Estimation of
the risks for each hazardous situation).
Downloaded from mostwiedzy.pl
Figure 22: Fragment of Practices Compliance Argument for ISO 14971 presented using GSN notation
83
Downloaded from mostwiedzy.pl
84
ASSURANCE ARGUMENTS IN AGILESAFE
Figure 23: Fragment of Practices Compliance Argument for ISO 14971 4.4a presented in GSN notation
ASSURANCE ARGUMENTS IN AGILESAFE
Figure 24 presents the argument of Figure 23 expressed with the help of NOR-
STA tool.
Figure 24: Fragment of Practices Compliance Argument for ISO 14971 4.4a presented in NOR-STA tool
Provided that the AS.A.2 Practices Knowledge Base remains unchanged, the AS.A.5
Practices Compliance Argument once prepared, can be reused by many software
development projects which aim to be compliant with a given standard.
If the AS.A.2 Practices Knowledge Base gets modified (for instance, to accommodate
new Practices or to include a new standard to the scope of AgileSafe) the AS.A.5 Practices
Compliance Arguments need to be reviewed and updated accordingly. However,
Downloaded from mostwiedzy.pl
assuming that after some time the AS.A.2 Practices Knowledge Base gets ‘saturated’ and
the frequency of such changes decreases, the AS.A.5 Practices Compliance Arguments
become stable reusable elements supporting application of AgileSafe in many projects
with the reference to many standards.
85
ASSURANCE ARGUMENTS IN AGILESAFE
Figure 26: An excerpt of Project Practices Compliance Argument for SO 14971 standard– 4.4 Risk
Analysis: Estimation of the risk(s) for each hazardous situation – 4.4a presented in NOR-STA tool
86
ASSURANCE ARGUMENTS IN AGILESAFE
At this stage of tool support for the method, the User has to delete or hide
manually the Practices from the AS.A.5 Practices Compliance Argument that do not apply to
the Project and that are not included in its AS.A.6 Project Practices Set in order to create
AS.A.8 Project Practices Compliance Argument.
It is possible that some nodes of the regulatory requirements will be left without
connection to any Practice from the AS.A.13 Suggested Practices Set. The reason for this
may be that:
a) The AS.A.2 Practices Knowledge Base lacks a Practice that could provide an
Evidence for this particular Regulatory Requirement,
b) The Practices have not been fully analysed over their ability to respond to this
particular regulatory requirement
c) The regulatory requirement is formulated in such a vague manner that it is not
possible to connect it to any software development practice.
In this case, the User should analyse the regulatory requirements which are not
covered by the AS.A.13 Suggested Practices Set and supplement the set with the needed
Practices, adding them to the final AS.A.6 Project Practices Set and preferably to the AS.A.2
Practices Knowledge Base as well, for the future projects.
ARGUMENT PATTERN
development process assurance and (2) for assurance using the process artefacts, as
shown in Figure 27.
87
Downloaded from mostwiedzy.pl
88
Figure 27 Project Compliance Argument in its context
ASSURANCE ARGUMENTS IN AGILESAFE
ASSURANCE ARGUMENTS IN AGILESAFE
bodies.
C. Reusability between projects
Separating the AgileSafe assurance arguments into three arguments
allows the user to reuse the higher-level arguments (mainly AS.A.5 Practices
Compliance Arguments and AS.A.8 Project Practices Compliance Arguments) in other
projects, which need to comply with a given standard (AS.A.5 Practices Compliance
Arguments) or even follow the same or similar methodology (AS.A.8 Project Practices
Compliance Arguments).
AS.A.10 Project Compliance Argument is an assurance argument where the
evidence is supplied by the artefacts of the actual project development. It is structured
around a particular standard and is used to collect the required product related evidence
to demonstrate conformance with given standard. Each Practice has evidence that is
89
ASSURANCE ARGUMENTS IN AGILESAFE
Figure 29: An example of Project Compliance Argument for an excerpt of ISO 14971 standard– 4.4 Risk
Analysis: Estimation of the risk(s) for each hazardous situation – 4.4a presented in NOR-STA tool
90
ASSURANCE ARGUMENTS IN AGILESAFE
Most of these processes (AS.P.3, AS.P.4 and AS.P.5) are expected to be complete
before the actual development stage (in Sprint 0, Planning stage or else). These are the
processes aimed at preparing assurance arguments.
The core of processes, which allow conformance monitoring, is AS.P.6 Assert
Conformance. It takes place in parallel with development activities. The User by following
practices from AS.A.6 Project Practices Set should be able to obtain the evidence planned
Downloaded from mostwiedzy.pl
in AS.A.8 Project Practices Compliance Argument and place it in appropriate evidence nodes
of the AS.A.10 Project Compliance Argument.
The collected evidence along with the reasoning behind it is subject to
assessment of conformity with a given standard. This activity can be performed by an
assessor. In AgileSafe it means that she/he analyses the AS.A.8 Project Practices
Compliance Argument and AS.A.10 Project Compliance Argument for a given standard,
assessing the collected evidence. She/he can use the argument appraisal mechanism
as well to determine the strength of the argument, as a feedback for the team.
The assessed arguments can be used in the process of attestation. The certifying
body can be presented with organised evidence for Project conformance as well as the
additional evidence for the Practices used in the development process.
91
ASSURANCE ARGUMENTS IN AGILESAFE
Once the certificate of conformance has been granted, the conformity can be
maintained by continuing the work with AgileSafe Assurance Argument set and updating
it as needed.
Downloaded from mostwiedzy.pl
92
EVALUATION
8. EVALUATION
Based on the thesis of this doctoral research, two Goals have been declared:
(G1) Analyse whether the proposed method supports introduction of agile
practices into a software development process while still maintaining the
compliance with the software assurance requirements imposed by the
application domain.
(G2) Analyse whether the proposed method makes it possible to reduce the effort
devoted to software development processes in safety related projects.
With regard to these goals, the following research questions have been stated:
(Q1) What is the potential impact of introducing agile practice to a safety-critical
software development process?
(Q2) Is AgileSafe method capable of reducing the negative impact agile practices
might have on the safety-critical software development process?
(Q3) Does the method suggest practices which are relevant to a project and its
environment?
(Q4) Does the method support the safety assurance aspect of a project while
introducing new practices?
(Q5) Do an introduction of agile practices into a software development process
carry a potential benefit of reducing effort needed for a project?
Downloaded from mostwiedzy.pl
(Q6) Does AgileSafe method allow for an introduction of agile practices that can
potentially reduce the effort needed for a project?
In order to find the answers for these questions, the following metrics were collected:
(M1) A list of reported benefits and problems for the introduction of agile practices -
based on data from the literature concerning applying agile practices to safety-
critical software development collected in Section 2 and Section 3.
(M2) Risk assessment for introduction of Scrum and eXtreme Programming practices
to a safety-critical development process - based on data concerning a perceived
impact agile practices might have on a safety-critical development process
collected in Section 8.2
93
EVALUATION
(M3) The number of additional practices needed for risk mitigation when introducing
Scrum and eXtreme Programming practices - based on data concerning a
perceived impact agile practices might have on a safety-critical development
process collected in Section 8.2
(M4) The coverage of the Agile assurance arguments for ISO 14971 by the practices
suggested in a case study - based on data concerning applicability of main
elements of AgileSafe method in software development projects in a controlled
limited environment collected in Section 8.3
(M5) The assessment of the New Practice template by the SafeScrum experts – based
on the theoretical assessment of AgileSafe by the experts collected in Section
8.5
(M6) The list of agile practices currently used in two industry safety-critical projects –
based on the theoretical assessment of AgileSafe by the experts collected in
Section 8.5
(M7) The list of the most valuable aspects of AgileSafe method – based on the
theoretical assessment of AgileSafe by the experts collected in Section 8.5
(M8) The list of the most troublesome aspects of AgileSafe method – based on the
theoretical assessment of AgileSafe by the experts collected in Section 8.5
(M9) The relation between the number of Suggested Practices (AS.A.13) and the number
of Project Practices (AS.A.6) – based on data collected in Section 8.4
(M10) The coverage of the AgileSafe assurance arguments for ISO 14971 by the
GlucoMet AS.A.6 Project Practices Set – based on data collected in Section 8.4
The relations between specific goals, questions and measures are illustrated in Figure
Downloaded from mostwiedzy.pl
31.
94
Downloaded from mostwiedzy.pl
95
Figure 31 The GQM structure for AgileSafe evaluation
EVALUATION
EVALUATION
The main goal of this case study was to compile a checklist of hazards as well as
risk estimates for incorporating agile practices into safety-critical project development,
based on risk analysis provided by the participants. Moreover, participants' suggestions
for additional risk mitigation practices were investigated and reviewed as a valuable
insight when preparing the model for agile practices application in safety-critical software
development.
The participants were not expected to provide analysis on the expert level. They
obviously based on their limited knowledge and their own working experience when
completing the tasks. What was aimed for was an overview of opinions of young software
engineers, their concerns regarding adapting agile practices into safety-critical software
environment as well as their views on possible solutions and compromises. It was
Downloaded from mostwiedzy.pl
possible to determine which practices caused most uneasiness and distrust thus which
practices should be revised in order to make them more compliant with safety standards.
This experience helped in building better relations with prospective stakeholders.
The case study was carried out from March to the end of May 2012. It involved a
group of 36 participants (students of the last semester of MSc course in software
engineering). All participants had attended courses on plan-driven and agile
methodologies and on high integrity systems. 67% of them had already been part-time
employees in software companies and most had some prior experience with agile
practices. During the case study, the participants worked in teams of 2-3.
While planning the case study the Goal-Question-Metrics (GQM) methodology
was followed. The objective of the study was to investigate the participants’ perception
of the risks introduced by the agile practices and to collect their opinions on how these
risks could be mitigated (A.G).
96
EVALUATION
of the three tasks described in Section 8.2.2. Upon completion of the tasks we organized
a workshop during which the participants were discussing their ideas, summarizing the
results and concluding their work.
97
EVALUATION
The participants were divided into 12 project groups, each group consisting of 3
members. Every group was given a short description of MediSoft company as well as
product specification for standard infusion pump.
An insulin pump is a device for patients with diabetes who need to control their
blood sugar level by administrating insulin. The pump is attached to the patient’s body
along with a small container filled with insulin. At the proper times, small and precisely
calculated amounts of insulin are released from the container into the patient’s
bloodstream. It helps to keep blood glucose levels steady between meals and during
sleep.
The insulin pump description used in the project is based on the Animas
OneTouch Ping, a real pump available on market (Animas Insulin Pumps, 2012).
The case study has been divided into three tasks. After completing each task, the
participants sent in the results using Moodle course management system.
Task 1. Based on a documentation of the insulin pump and their own knowledge
participants prepare a list of hazards connected with such a device. During a process of
the domain analysis they are encouraged to use hazard identification techniques, like
Preliminary Hazard Analysis and HAZOP adapted for this case. What is more,
participants should identify and map how system hazards are related to development
process hazards by building hazard scenarios documented as Fault Trees (FTA
diagrams in MS Visio).
98
EVALUATION
Figure 33 A tree of Scrum process stages along with tasks and possible impediments
The tree shown in Figure 33 A tree of Scrum process stages along with tasks and
possible impediments consists of process stages (i.e. Planning) and tasks connected
with each stage (i.e. management, Product Backlog etc.). Each task is associated with
a set of typical impediments that may appear in the project during their realisation (for
instance, management -> chaos and the lack of agreement in the team).
Based on the fault trees prepared in Task 1 participants analyse the connection
between project development related impediments and the identified hazards. If the
99
EVALUATION
trees prepared earlier by the team do not suggest the path between development
process and the insulin pump hazards, they should be reworked in order to fully explain
why each hazard is connected with given process impediment. The list of process
impediments is very basic and should be extended where needed.
The next step is a risk analysis for the hazards and the hazard-impediment paths
prepared using Designsafe tool. Severity should refer to the insulin pump hazard while
Probability should refer to the whole hazard-impediment path.
An example of such a risk analysis is given below:
Task 3. The participants present a list of additional practices that would mitigate
the risks found in Task 2 and that could be used as an extension to the agile methodology
they have been working with.
100
EVALUATION
Upon completion of the tasks the participants present their ideas during a
workshop, discussing their opinions on how incorporating agile practices into safety-
critical projects can affect the project risk and in what manner they can be supplemented
in order to be more compliant with safety standards.
In total the participants have identified 124 hazards connected with the insulin
infusion pump. Those hazards reflected different levels of detail and often represented
synonymous situations. Overall, they could be grouped into 9 categories:
(1) User errors (adjusted dose, incorrect configuration, etc.).
(2) Error in measuring the level of insulin or sugar
Downloaded from mostwiedzy.pl
101
EVALUATION
Programming.
102
EVALUATION
103
EVALUATION
The following process stages along with their impediments were assessed with
high risk most frequently (eXtreme Programming part of the A.M4 metric):
(1) User Stories - incomplete identification of requirements
(2) Prototyping - too general plan for architecture and methods of implementing
system
(3) Release scope: functionalities from previous iteration - large load on errors
from the previous iteration
(4) Tests preparation - incomplete test plan
(5) Unit tests - low test coverage
(6) Acceptance tests - low test coverage
(7) Implementation of the product at the customer premise - large number of
detected errors
(8) Product release - large number of detected errors.
This task resulted in lists of risk mitigation practices. These results were collected
as metric A.M5. The most commonly proposed practices included:
(1) Introducing an expert knowledge into the project
(2) Extensive testing (i.e. enhanced acceptance tests, Test Driven Development)
(3) Introducing safety standards
(4) Improving quality assurance in relation to the artefacts different than the code
(e.g. improving User Stories quality)
(5) Keeping high coding standards.
Downloaded from mostwiedzy.pl
While the results of the study brought interesting and valuable knowledge to this
research, there were some limitations and possible threats to validity present.
First of all, the group selected for this study consisted of students, which have a
limited experience and knowledge of the issue. However, as suggested in the paper from
2016 (Stalhane and Malm, 2016), people with very little experience in safety analysis
can perform just as well as the experts during the risk identification.
The number of participants was 36, which is a limited sample when it comes to
definitive conclusions. For resources limitations we had to accept this number as
sufficient to get a generic overview of the young software engineers’ perspective on the
matter.
104
EVALUATION
8.2.8. Conclusions
The case study was concluded by the workshop, which took place on 24th of May
2012.
Based on the A.M4 metric, we tried to understand better why in the
methodologies which flagship feature is incremental approach to the requirements, a
change or a mistake in Product/Scrum Backlog or User Stories can have, according to
the study, such detrimental effect on the end product. The discussion revealed that in
the opinion of participants a flexible approach to change in requirements could narrow
the scope and undermine rigor and discipline needed from the safety viewpoint.
One could expect to see higher risk associated with the team collaboration
impediments, as interpersonal relations are crucial in agile projects. By contrast, the
participants felt that agile practices, if implemented, effectively remove extreme cases of
interpersonal problems.
The study revealed differences in the participants‘ perception of Scrum and
eXtreme Programming, which is illustrated by the results of Task 2. While assessing
Scrum, the highest risk was perceived in project management practices, whereas for
eXtreme Programming the implementation and in particular coding practices were those
seen as associated with the highest risk.
The participants were cautious when it comes to introducing agile methodologies
into safety-critical projects. They concluded that neither Scrum nor eXtreme
Programming were suitable for such projects in their strict form. The best way to meet
safety-critical requirements would be to combine agile practices of different approaches
(for instance, adding Test Driven Development tools or Pair Programming to Scrum) and
to add risk management practices known from more disciplined approaches.
Downloaded from mostwiedzy.pl
The above findings from the case study allowed an evaluation of the incentives,
which led to the formulation of the PhD thesis. The results showed that although the use
of selected agile methods in the safety-critical project might leave some areas of safety
management insufficiently catered for, the idea of agility in such projects might be
beneficial when used in conjunction with some more disciplined practices.
In the results collected as metric A.M5, using safety standards and some support
from expert knowledge were pointed out as ones of the activities that might help improve
the safety of agile methods.
Based on the collected data, the evaluation metric M2 was derived from A.M3
metric as well as metric M3 from A.M5 metric.
105
EVALUATION
In order to gain more experience with the AgileSafe at the early stages of the
method, a case study has been conducted. A Goal Question Metric method has been
used to assess the study.
The goal (B.G) was to use AgileSafe to incorporate selected risk management
practices into an agile project with safety requirements. The project was conducted by a
group of students of Informatics and lasted for 2 semesters, from February 2015 till
January 2016.
The project focused on health-related mobile applications. Of particular interest
was how to follow the FDA guidelines being recently issued (Food and Drug
Administration, 2015).
The project team cooperated with a software development studio Bright
Inventions (Bright Inventions, 2017) who offered technical support. The task presented
to the students was to implement an iBeacon (iBeacon, 2017) based clinic appointment
& queue management system for iOS. Main features of the application were as follows:
- appointment reminders,
- queue management,
- patient arrival detection,
- detection of patient's entrance to the consulting room,
- safe handling of the patient's documentation,
- automatic update of documentation,
- navigation facilitation.
Downloaded from mostwiedzy.pl
Three students with work experience in iOS were assigned for this project, which
was called DocBeacon which was also the name of the resulting product. Figure 37
presents an excerpt from the Product Backlog.
Figure 37 An excerpt from the Product Backlog for Doc Beacon (Miszczyszyn and Naliwajek, 2016)
106
EVALUATION
DocBeacon was supposed to integrate with Apple Watch, the device that contains
four sensors, which monitor heart rate and an accelerometer (Apple, 2015). The data
stored in the application were classified as confidential. Because of the health monitoring
aspect, DocBeacon could be placed somewhere between fitness-tracking/wellness-
related applications and the applications used for diagnosis, treatment and prevention.
As such, it might be in a “subset of mobile apps that are the focus of FDA’s regulatory
oversight” (Food and Drug Administration, 2015).
With this case study we hoped to answer the following questions:
(B.Q1) Can an agile project development process be complemented with risk
management practices and still maintain its agility?
(B.Q2) Could this project be compliant with ISO 14971 while using the proposed
set of practices?
In order to find these answers the following metrics have been collected:
(B.M1) Project Documentation
(B.M2) Opinions of the team members
(B.M3) AgileSafe assurance arguments for ISO 14971
Taking into consideration both, relatively short time for the project and the
student’s profile we decided not to involve them into the planning phase. It means that
the students were given the AS.A.6 Project Practices Set, without participating in the
preparation of the assurance cases. The AS.P.6 Assert Conformance process also was not
the students’ responsibility.
ISO 14971 has been selected as the reference for Regulatory Requirements and
all the prepared assurance cases were based on this standard.
Table 67 DocBeacon Project Analysis
Downloaded from mostwiedzy.pl
Id 1
Name DocBeacon
Description The product is a full-featured system supporting work of medical
clinics. There are two main problems addressed and solved by this
project. The first one is really earthbound: queues. Many medical
clinics allow for online signup, yet clients are compelled to confirm
their presence at the registration desk right before the visit. This
usually means waiting in a long queue. This is particularly a problem
during rush hours such as before 9 am or after 5 pm.
DocBeacon solves this issue through automating the whole
process by connecting beacons in the medical clinic and iOS
107
EVALUATION
technology; D - System/embedded
solutions;
Organisational B – Flexible, structured;
Complexity
Enterprise Discipline A – Project focus;
108
EVALUATION
AS.A.4 Practices Compliance Pattern, an AS.A.5 Practices Compliance Argument for ISO 14971
was prepared, using the 20 practices. Below is given an excerpt of this AS.A.5 related to
the ISO 14971 requirements: 4.4 Risk Analysis: Estimation of the risk(s) for each
hazardous situation – 4.4a A sequence of situations along with resulting hazard should
be recorded (Figure 38 DocBeacon Practices Compliance Argument for an excerpt of
ISO 14971).
Based on the AS.A.3 Project characteristics and Practices Compliance Argument for
ISO 14971 with the 20 chosen Practices, an AS.A.6 Project Practices Set was compiled.
The Practices were selected with the four risk management phases in mind (ISO 14971,
Downloaded from mostwiedzy.pl
2007):
1. Risk Analysis
In this project risk identification will be carried out through Hazard Stories/Scenarios.
This term is proposed here to describe extended Risk Statements, similar to User
Stories in their lifecycle. Core of such stories can be determined by using techniques
like Condition-Consequence , If-Then, What/Why, 5 Whys etc. Example: “As a result
of <definite cause>, <uncertain event> may occur, which would lead to <effect on
objective(s)>” (Hillson, 2009)
Hazard Stories should be identified through brainstorming engaging the whole team.
109
EVALUATION
2. Risk Evaluation
Hazards identified in the previous step will be analysed in the form of a Risk Backlog
– a lightweight form of Risk Register. Each Hazard Story should be evaluated using
a Risk Matrix.
Whole team should be engaged in the Risk Evaluation activity. Owner of the Risk
Backlog is the Team along with Product Owner.
For each hazard a strategy should be chosen. A template for Risk Backlog is
presented in the Figure 39:
1.
2.
One of the practices suggested for use in the project was creating Hazard Stories
– the stories that would describe potential risks in an agile way, following the User Stories
style, but focused on hazards.
The students were then advised on the practices they should implement in their
project, based on the AS.A.6 Project Practices Set.
Parallel to the above activities an AS.A.8 Project Practices Compliance Argument for
ISO 14971 was prepared. In Figure 40 an excerpt from this argument, containing Hazard
Stories, is presented:
110
EVALUATION
Figure 40 DocBeacon Project Practices Compliance Argument for an excerpt of ISO 14971
Subsequently, an AS.A.10 Project Compliance Argument for ISO 14971 was built
(Figure 41).
Figure 41 DocBeacon Project Compliance Argument for an excerpt of ISO 14971 standard
As the majority of practices chosen for the project were Scrum-based the
students began with planning their work according to this method. In addition to the well-
known practices, they were asked to perform the risk management activities, among
them the aforementioned hazard stories. Below is an example of a hazard story from the
project prepared by the students (Miszczyszyn and Naliwajek, 2016):
“As a result of user light-heartedness, phone may be lost, which would lead to
Downloaded from mostwiedzy.pl
possible unauthorized access to the app, if the app isn’t secured (for example with a pin
code).”
The artefacts collected during the project were used as evidence in the AS.A.10
Project Compliance Argument.
8.3.2. Results
The case study eventually finished at the end of February 2016. We have
followed the steps of the AgileSafe, except from the AS.AL.1, AS.AL.2 and AS.AL.3
algorithms, which were not fully developed at this stage of research. The artefacts of
AgileSafe were prepared accordingly as specified in the method. All the metrics were
collected as planned. A complete set of AgileSafe assurance cases was prepared for
111
EVALUATION
ISO 14971 standard. The product was presented to Bright Inventions and accepted as a
proof of concept application.
Regarding B.Q1, taking into consideration the collected metrics, the conclusion
is that the DocBeacon project managed to keep the agility of software development while
applying the selected risk management practices.
When it comes to B.Q2, the answer is less certain. While the selected practices
in the AS.A.6 Project Practices Set brought a significant level of risk management, they
would need to be supported with a few more disciplined practices as well in order to fully
comply with ISO 14971, as could be observed in the prepared assurance cases. That
being said, the academic character of the project as well as time available and the team
size of three people, were the vital constraints for introducing a more complex approach
in this case.
All in all, the team perceived the suggested practices as suitable and satisfactorily
agile for this kind of small project.
The resulting software development process was assessed by the participants
as intuitive and convenient.
Based on the B.M3 metric, the evaluation metric M4 was determined. The
practices suggested to the participant were able to cover 75% of the ISO 14971
requirements. This has shown the need to develop an algorithm for AgileSafe method,
which would focus on standard compliance.
When conducting the study, we were aware of the limitations and threats to
validity such setting could introduce.
Downloaded from mostwiedzy.pl
First of all, the developers involved in the study were all students with a limited
experience. Nevertheless, this threat was tackled by engaging the students with some
experience in the industry projects, who had been working part time in the companies
during their studies.
The time appointed for this project was restricted by the course time-boxes. For
this reason, the author of this thesis herself performed some of the activities suggested
by the method. It decreased the students’ interaction with the method but allowed more
feature to be evaluated. It was the trade-off we decided to accept.
The goal (C.G) of this case study was to evaluate the processes of the method
from AS.P.1 Analyse project to AS.P.5 Prepare Project Compliance Argument process. The
chosen method for evaluation was GQM. The following questions were formed:
112
EVALUATION
(C.Q1) Does the AS.AL.3 Algorithm for AS.A.13 Suggested Project Practices Set in the
AS.A.2 Practices Knowledge Base suggest a set of Practices (AS.A.13 Suggested
Practices Set) that seem reasonable and potentially applicable to the Project?
(C.Q2) Are the guidelines provided to the User in the Section 5.5 coherent and
sufficient for transitioning from AS.A.13 Suggested Practices Set to the AS.A.6 Project
Practices Set?
(C.Q3) Can the AS.A.5 Practices Compliance Argument be constructed for the variety
of Practices from the AS.A.2 Practices Knowledge Base, organizing them in Claims
and Facts about their potential compliance?
(C.Q4) Do the processes operate smoothly without any gaps and errors?
In order to calibrate the method, the AS.A.2 Practices Knowledge Base has been
populated with a set of 50 chosen software development practices, ranging from the
flagship agile practices to the disciplined, high ceremony ones.
The motivations behind the choice of these practices were as follows:
1. The Practices in the calibrating set should be diverse, coming from both Agile
Downloaded from mostwiedzy.pl
and disciplined approaches. Aim for the ratio between agile and disciplined
practices was between 2:3 and 3:2. The exact ratio is difficult to determine due
to the lack of a defined line between agility and discipline in some cases.
2. The sources of these Practices should be diverse, for both Agile and disciplined
approaches. It meant different Agile methodologies (i.e. Scrum, eXtereme
Programming), some hybrid propositions (i.e. Hazard Stories, SafeScrum
practices) and various disciplined approaches (i.e. risk management methods,
PRINCE 2, BABOK (BABOK: A Guide to the Business Analysis Body of
Knowledge, Volume 3, 2015))
3. The calibrating set should contain a number of risk related practices, both agile
and traditional, due to the evaluation activities, which concern risk management
standards.
The practices were added using an Excel spread sheet import to Protégé tool.
113
EVALUATION
The 50 Practices have been also analysed with respect to their ability to provide
necessary evidence for regulatory requirements. The standard chosen for a calibration
of the method and mapped into the AS.A.2 Practices Knowledge Base was ISO 14971:2007.
In order to obtain valuable results with such limited collection, the 50 Practices were
carefully chosen with this particular standard in mind. Naturally, other standards can also
be added and mapped to the Knowledge Base, either in the future research or by the User
using Protégé tool.
The list of these 50 Practices can be found in the (AgileSafe, 2018). This basic
collection has been used in the evaluation process.
This case study has been carried out for a fictional Project called GlucoMet. It
was based on the project presented to students during the Student’s Assessment Case
Study (section 8.2) as well as the remarks presented in (Chen et al., 2014) and (Zhang,
Jones and Klonoff, 2010).
Id 1
Downloaded from mostwiedzy.pl
Name GlucoMet
Description Continuous glucose monitoring-enabled insulin pump system
Regulatory ISO 14971
Requirements
Characteristics Factor Values
Team Size B – From 10 to 50 developers;
Geographical Distribution B – Same building;
Domain Complexity D – Complicated;
Organisational B – Different teams;
Distribution
Technical Complexity B - Multiple technology; D -
System/embedded solutions;
114
EVALUATION
The AS.A.3 Project characteristics values were chosen for their potential to respond
well both to agile and disciplined practices. It is undoubtedly a safety-critical project,
operating in a complicated domain but at the same time the size of the team, distribution
and complexity of the organization open the possibility to introduce some agility.
Figure 42 An excerpt of Practices Compliance Argument for ISO 14971 in NOR-STA tool
Three of the regulatory requirements at the most detailed level were not covered
at all by the Practices from the AS.A.2 Practices Knowledge Base: 3.3.a The personnel
115
EVALUATION
should have appropriate qualification and records of this shall be maintained; 4.1.c
Additionally the documentation of the risk analysis shall include identification of the
person(s) and organization who carried out the risk analysis; 9.b The system should
collect and review available information about similar devices. None of the Practices from
the AS.A.2 Practices Knowledge Base could provide sufficient evidence for these
requirements. Nevertheless, these requirements can be easily covered by adding simple
activities in the AS.A.8 Project Practices Compliance Argument. These results were collected
as the evaluation metric M10.
116
EVALUATION
Figure 43 A screen from Protege tool with the Suggested Practices Set
The number of Suggested Practices reflects the risk orientation of the set of
Practices collected in the AS.A.2 Practices Knowledge Base.
In addition to the traditional, disciplined risk management Practices, some agile
Downloaded from mostwiedzy.pl
The AS.A.13 Suggested Practices Set was further analysed in order to develop the
AS.A.6 Project Practices Set. The objectives for the final choice of Practices were as follows:
1. Favouring agile and hybrid Practices.
2. Following the advice given to Users in the Section 6.4
In the decision process a crucial aspect was also the character of the project,
meaning a close relation with hardware.
As a result, the AS.A.6 Project Practices Set consisted of 20 Practices (metric C.M4),
covering all of the Disciplines and keeping the Requirements coverage from the AS.A.5
117
EVALUATION
Figure 44 A screen from Protege tool with the Project Practices Set
118
EVALUATION
Figure 45 An excerpt of Project Practices Compliance Argument for ISO 14971 in NOR-STA tool
In the next step, a AS.A.10 Project Compliance Argument was prepared, based on
the AS.A.8 Project Practices Compliance Argument and with accordance to AS.A.9 Project
Compliance Pattern.
An excerpt of this argument is presented in the Figure 46.
Downloaded from mostwiedzy.pl
Figure 46 An excerpt of Project Compliance Argument for ISO 14971 in NOR-STA tool
119
EVALUATION
Both AS.A.8 Project Practices Compliance Argument and AS.A.10 Project Compliance
Argument could be then used to present the assessor Project’s compliance with ISO
14971 standard. The assessor might use the Assessment feature in NOR-STA Argevide
tool to assess the provided evidence (Figure 47).
Figure 47: The Asssessment feature in NOR-STA tool for Project Compliance Argument
8.4.3. Conclusions
The AS.A.13 Suggested Practices Set for the Project was relevant to the AS.A.3 Project
Characteristics and the Practices seemed applicable to the Project, which forms an
answer to the question C.Q1. What is more, in relation to the C.Q2 question, the
guidelines for the transition between AS.A.13 Suggested Practices Set to the AS.A.6 Project
Practices Set were useful, albeit it was helpful to know how much of the agility a User want
to introduce.
Due to the targeted character of the calibrating set, most of the Practices from
the AS.A.2 Practices Knowledge Base were arranged into the AS.A.5 Practices Compliance
Downloaded from mostwiedzy.pl
Argument and they were arranged into the structure without problems (question C.Q3).
That being said, a thorough reflection and analysis of the Practices is crucial for the
process.
To sum up and answer question C.Q4, the transitions between subsequent
processes were smooth and continuous.
The main limitation and possible threat to validity is the fact, that the author
herself performed the study. It means that the results might not be generalized so easily
to potential users of the method. This choice was dictated by the limitations coming from
the tool solutions used at this stage of the method, especially the knowledge base part.
120
EVALUATION
In order to avoid potential distortions of the results coming from the tool skills, such
decision was taken.
Obviously, for better results, the method should be implemented in a real-life
project, which is in scope of the future research plans.
Next step of the evaluation process was aimed at gathering opinion of the experts
and practitioners in the field of project management, software development
methodologies and safety-critical systems, about the AgileSafe.
This step was divided into the following categories:
• Interview with the authors of a hybrid agile method for safety-critical projects,
SafeScrum (Mycklebust, Stålhane and Hanssen, 2016)
• Interview with practitioners from a safety-critical software company Autronica
(Autronica Fire and Security AS, 2017)
• Interviews with experts - the questionnaire
They represented different points of view, which are relevant for the method: the
process engineering, the industry and the safety assessment.
8.5.1. SafeScrum
The goal of this step was to obtain opinions on the AgileSafe method from the
perspective of IT process-engineering specialists.
The specialists involved in this step of evaluation were two of the authors of a
hybrid agile method for safety-critical projects called SafeScrum (Mycklebust, Stålhane
and Hanssen, 2016).
Downloaded from mostwiedzy.pl
SafeScrum is a method based on Scrum with added roles and Practices for safety
management and compliance with relevant standards. The overview of the method’s
process is presented in the Figure 48.
121
EVALUATION
Figure 48 Scrum's role in safety critical software development (Mycklebust, Stålhane and Hanssen, 2016).
During these meetings the AgileSafe method was presented in detail to the SafeScrum
authors, along with the tools used in the process. The presentation was followed with
discussions on the possible adoption of elements of AgileSafe method as a framework
for SafeScrum and the potential uses of AgileSafe.
The conclusions most relevant to the evaluation of AgileSafe were as follows:
Downloaded from mostwiedzy.pl
122
EVALUATION
Id 28
Name SafeScrum Backlog splitting
Description “In SafeScrum, all requirements are split into safety critical
requirements and other requirements and inserted into separate
product backlogs. Alternatively, the safety requirements are tagged.
Adding a second backlog is an extension of the original Scrum process
and is needed to separate the frequently changed functional
requirements from the more stable safety requirements. With two
backlogs we can keep track of how each item in the functional product
backlog relates to the items in the safety product backlog, i.e. which
safety requirements that are affected by which functional
requirements. This can be done by using simple cross-references in
123
EVALUATION
124
EVALUATION
Overall, the method was very well received, with much interest. The most
valuable element of the method, from SafeScrum team point of view, was the set of
AgileSafe assurance arguments as a mean to monitor safety as well as to present better
the Evidence and conformance with a standard to the assessors.
8.5.2. Autronica
125
EVALUATION
In the course of the meeting the attendants were at first presented the outline of
AgileSafe, including a live presentation of assurance arguments in NOR-STA Argevide
tool and were allowed to ask questions about the method in order to fully comprehend it.
Secondly, the attendants from Autronica were asked three questions, one by one
and answered them collaboratively in a brainstorm manner. Katarzyna Łukasiewicz was
responsible for recording the answers.
The questions along with their answers are presented below:
1. What were the incentives for introducing agile practices into the company?
What problems did you wish to solve?
Both developers have been in favour of using more agile approach in
safety-critical software development. Their experience both from previous
projects and the current ones led them to some reflections and the need for
change in the existing approach. The main problems they both observed in the
more disciplined, plan-driven approach were:
a. Need for shorter, day-to-day goals rather than big tasks that might take
months to accomplish
b. Documentation load in the disciplined approach for safety-critical
software. In their opinion developers should be able to focus on writing
the code rather than writing the documents. They observed that a lot of
the documents could be obtained from the tools they have been using.
c. Need for more frequent releases and shorter time for introducing changes
in the system. They noticed that the actual changes in products are
cheaper and faster than they used to be because systems rely
increasingly on software thus the changes are made mainly in the
Downloaded from mostwiedzy.pl
software part rather than the hardware. The whole process could be
faster, and the guidance did not take this into consideration. What is more,
in their opinion delivering updates faster, in the agile way, is actually safer
because sometimes the changes may solve some potentially fatal errors
and as such they should be released as quickly as possible.
d. Difficulties in managing co-located teams with disciplined approach. They
noticed that agile practices tackled the problem of globally distributed
teams in much better way, introducing modern and practical solutions
along with the tools enabling remote cooperation.
e. Need for more manageable approach to traceability that would allow
keeping the information with less documentation around it.
126
EVALUATION
b. It may serve as tool for visualising the need for specific practices to the
team – developers can see in what way their work is needed for the
project.
c. Convincing the management or other bodies involved in the project that
the more agile approach might work and satisfy the necessary safety
requirements.
d. Good way to organise the evidence, to make sure you’re are collecting
the right things.
e. Developers might get the broader perspective and distance themselves
from the code to see the bigger picture.
f. The AS.A.2 Practices Knowledge Base is a good idea, even more if it can be
shared in the agile community.
127
EVALUATION
g. The method could be well used by the SafeScrum RAMS Engineer- the
person responsible for reliability, availability, maintainability and safety.
The answers for the question number 2 has been collected with respect to the
metric M6 and the answers for the question 3 were collected as part of the metric M7.
Finally, the two Project Managers were asked to perform the analysis of their
projects, based on the AgileSafe template:
Table 70.Autronica Autrosafe Project Analysis
Id Autro.1
Name Autrosafe
Description Fire detection system
Regulatory IEC 61508, EN54-2, UL, SOLAS, National Standards
Requirements
Project Factor Values
Characteristics
Team Size A – Under 10 developers;
Geographical E – Globally distributed
Distribution
Domain Complexity D – Complicated;
Organisational C – Different departments;
Distribution
Technical Complexity D - System/embedded solutions;
Organisational E – Rigid
Complexity
Downloaded from mostwiedzy.pl
Id Autro.2
Name AutroMaster
Description Referred to as a “top system”, AutroMaster is a graphical user
interface mainly used for maintaining, configuring and controlling our
fire detection systems.
Regulatory IEC 61508, EN54-2, UL, SOLAS, National Standards
Requirements
128
EVALUATION
The AgileSafe template for AS.A.3 Project Characteristics was assessed as clear
and relevant to these two Autronica projects.
All in all, the method has been received positively, with much interest. What is
important, the company expressed interest in future cooperation as well.
3. Present the AgileSafe method in person to the experts, for better understanding.
4. Collect the feedback from the experts.
In the process, a list of five European experts was prepared. It included both
academics and practitioners, with experience in applying software development methods
in the safety-critical industry as well as a member of the IEC standard committee. These
experts were contacted and presented the method in person.
In order to perform Step 4, a questionnaire was prepared. It was distributed in
electronic form of an editable PDF file. In the course of the interviewing process, five
questionnaires were sent back with the answers.
Below are presented the questions from the questionnaire along with the
summary of provided answers:
129
EVALUATION
130
EVALUATION
To sum up, the experts’ opinion was positive. They recognized the value of
AgileSafe approach to the industry and acknowledged potential benefits. What is more,
they made some remarks on features that they would like to see improved and suggested
Downloaded from mostwiedzy.pl
Some threats to validity may be raised. The number of experts questioned in this
study is as low as 5, which was dictated by the quality imperative, nevertheless gives a
limited sample of the opinions experts in the domain may present. What is more, the
choice of the experts for this study might have been biased, as well as the responses
themselves because the method was presented first by the author personally in all cases.
This kind of personal approach might have an impact in some way. However, all of the
experts taking part in the study are well-respected researchers and practitioners and as
such their answers could be treated as reliable.
131
EVALUATION
The answers in this questionnaire formed the basis for the evaluation metrics M7
and M8.
132
EVALUATION
The metric M5 was positive about the form of presenting practices in the
Knowledge Base. Taking into consideration metric M6, the list of practices
currently used in these industry projects might have been as well suggested
by the AgileSafe algorithms. While the metric M7 shows that there is a
potential in AgileSafe of suggesting relevant and appropriate practices, the
metric M8 also indicates some issues with the suggestions being only as
sound as the Practices stored in the Knowledge Base. This makes
AgileSafe dependent on the human factor. Nevertheless, the metric M9
collected in a controlled environment, presents the ability of AgileSafe to
produce a satisfying outcome.
(Q4) Does the method support the safety assurance aspect of a project when
introducing new practices?
At first, the metric M4 showed that the AgileSafe in its older version needed
vital improvements when it comes to suggesting the practices that might
respond to the needs of the standards, although the assurance argument
representation felt correct. Metric M10, collected with the AgileSafe in its
current form, shows that the safety assurance aspect is well catered for by
the method’s algorithms and the introduction of new practices, with some
input from the user, can be well managed using AgileSafe method.
(Q5) Do an introduction of agile practices into a software development process
carry a potential benefit of reducing effort needed for a project?
Based on metric M1 the introduction of agile methods can reduce the
overall effort needed for a project, reducing the cost and time-to-market. It
was also confirmed in the M6 metric. The practices being used in two
Downloaded from mostwiedzy.pl
industry projects were chosen, among other reasons, for their potential to
reduce the effort.
(Q6) Does AgileSafe method allow for an introduction of agile practices that can
potentially reduce the effort needed for a project?
The metric M7 shows that AgileSafe might support the effectiveness and
quality of work within the team. It also shows it supports the introduction of
agile practices to a safety-critical project. As indicated in the answer to Q5,
assuming that agile practices enable effort reduction, the method allows the
introduction of such practices. While in the metric M8 the initial workload
devoted to the method itself was mentioned, it does not affect in a negative
way the practices themselves and their ability to reduce effort.
133
EVALUATION
The sources of the data for specific metrics are presented in the Figure 50.
134
CONCLUSIONS
9. CONCLUSIONS
case studies (Case Study A, Case Study B and Case Study C, presented in Section 8)
have been conducted. The results of these case studies have been partially published
in (Górski and Łukasiewicz, 2012a, 2012b, 2013; Łukasiewicz, 2017; Łukasiewicz and
Górski, 2018).
In the course of the case studies some new agile practices related to risk
management have been discovered, one of the already has been introduced to the set
of recommended practices of the SafeScrum methodology (Hanssen, G. K., Stålhane,
T., Myklebust, T., 2018).
The research and resulting AgileSafe method have already generated a
considerable interest in the industry. This resulted in a grant from Polish-Norwegian
Research Programme for bilateral relations and an ongoing cooperation with a research
team in SINTEF Trondheim. The author of this thesis has been an active member of the
agile in safety community and has been asked to join the programme committee of the
135
CONCLUSIONS
The evaluation of AgileSafe was performed following the GQM (Goal, Question,
Metrics) approach. The goals of evaluation were following;
(G1) Analyse whether the proposed method supports introduction of agile
practices into a software development process while still maintaining the
compliance with the software assurance requirements imposed by the
application domain.
This goal has been reached by answering questions Q1, Q2, Q3
and Q4. Based on them we can conclude that AgileSafe supports
introduction of agile practices into a software development process while
still maintaining the compliance with the software assurance requirements.
(G2) Analyse whether the proposed method makes it possible to reduce the effort
Downloaded from mostwiedzy.pl
136
CONCLUSIONS
9.3. VALIDITY
The thesis of this research has been evaluated based on the series of studies
described in detail in the Section 8. The validity of the separate studies has been
discussed in the corresponding chapters presenting each of the study. In this chapter,
the overall validity of proving the thesis will be addressed.
As mentioned in the previous chapter, the reasoning behind the applied
evaluation approach was that, if agile practices can reduce the effort needed for a
project, then AgileSafe method by supporting an introduction of such practices supports
the reduction of effort as well. There may be some limitations and possible threats to
validity when implementing this reasoning.
This way of indirect evaluation does not bring the same solid evidence as a direct
evaluation performed in a real-life project, with measurable effects in effort reduction (i.e.
a comparative study). Nevertheless, the indirect evaluation was chosen for the following
reasons:
- Time constraints related with doctoral research
The implementation of the method in a real-life project and collecting the
needed metrics might take a few years, which would exceed the time that
could be formally devoted to the doctoral research. Nevertheless, this is one
of the goals for the future work.
- The safety-critical nature of application domain
The organizations that develop safety-critical software are cautious when
introducing new methods and rightly so. However, this causes difficulties with
finding a partner for evaluation. In this research, we found a partner in
Norway, willing to evaluate the method, but firstly on a theoretical level
Downloaded from mostwiedzy.pl
137
CONCLUSIONS
138
REFERENCES
AAIB (Air Accidents Investigation Branch) (2005), Aircraft Accident Report 4/2007 -
Airbus A340-642, G-VATL, 9 February 2005, [online] Available at:
https://www.gov.uk/aaib-reports/aar-4-2007-airbus-a340-642-g-vatl-9-february-
2005 (Accessed: May 2018)
Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software
development methods: Review and analysis, VTT publication 478, Espoo, Finland,
107p.
Agile Manifesto, (2001). Manifesto for Agile Software Development. [online] Available
at: http://agilemanifesto.org. (Accessed: June 2018)
Ambler, S. (2010). IBM agility@scale: Become as Agile as You Can Be. IBM Global
Services.
Ambler, S. (2012), Summer 2012 DDJ State of the IT Union Survey. [online] Available
at: http://www.ambysoft.com/surveys/stateOfITUnion201209.html (Accessed: May
2017)
139
Animas Insulin Pumps, (2012). OneTouch Ping®. [online] Available at:
http://www.animas.com/animas-insulin-pumps/onetouch-ping. (Accessed:
November 2012)
Apple.com, Your heart rate. What it means, and where on Apple Watch you’ll find it.
[online] Available at: https://support.apple.com/en-us/HT204666 (Accessed: June
2016)
Astah.net. (2017). Astah GSN Editor Overview | Astah.net. [online] Available at:
http://astah.net/editions/gsn . (Accessed: March 2017)
ATSB (Australian Transport Safety Bureau) (2005), In-flight upset event 240 km
north-west of Perth, WA, Boeing Company 777-200, 9M-MRG, 1 August 2005,
[online] Available at: http://www.atsb.gov.au/media/24550/aair200503722_001.pdf
(Accessed: May 2018)
Babuscio, J. (2009). How the FBI Learned to Catch Bad Guys One Iteration at a
Time. In: Agile Conference. IEEE, pp.96-100.
Banner, M.G., Fenn, J.L., Hawkins, R.D., Kelly, T.P., Oakshott, Y., & Williams, P.J.
(2007). The Who, Where, How, Why and When of Modular and Incremental
Certification Representing the Industrial Avionics Working Group.
140
Bishop P.G., Bloomfield R.E. (1995) The SHIP Safety Case Approach. In: Rabe G.
(eds) Safe Comp 95. Springer, London
Bloomfield, R. and Bishop, P. (2010). Safety and Assurance Cases: Past, Present
and Possible Future – an Adelard Perspective. In: Making Systems Safer.
Proceedings of the Eighteenth Safety-Critical Systems Symposium. London:
Springer, pp.51-67.
Bloomfield, R., Chozos, N. and Cleland, G. (2012). Supplement G: Safety case use
within the medical devices industry. Supplements to: Using safety cases in industry
and healthcare. [online] London: The Health Foundation, pp.G2-G17. Available at:
http://www.health.org.uk/sites/default/files/UsingSafetyCasesInIndustryAndHealthc
are_supplements.pdf.
Boehm, B. (2002). Get ready for agile methods, with care. Computer, 35(1), pp.64-
69.
Downloaded from mostwiedzy.pl
Boehm, B. and Turner, R. (2003). Balancing agility and discipline. Boston: Addison-
Wesley.
141
In: XII National Conference of Software Engineering (KKIO). Pomorskie
Wydawnictwo Naukowo-Techniczne, pp.89-96.
Chen, Y., Lawford, M., Wang, H. and Wassyng, A. (2014). Insulin Pump Software
Certification. Foundations of Health Information Engineering and Systems, pp.87-
106.
Cyra, L. and Górski, J. (2011). Support for argument structures review and
assessment. Reliability Engineering & System Safety, 96(1), pp.26-37.
Denney E., Pai G., Pohl J. (2012) AdvoCATE: An Assurance Case Automation
Toolset. In: Ortmeier F., Daniel P. (eds) Computer Safety, Reliability, and Security.
SAFECOMP 2012. Lecture Notes in Computer Science, vol 7613. Springer, Berlin,
Heidelberg
Downloaded from mostwiedzy.pl
Drobka, J., Noftz, D. and Raghu R., (2004). Piloting XP on four mission-critical
projects. IEEE Softw., 21(6), pp.70-75.
142
Earned Value Management (1967). Earned Value Management. [online] Available
at: http://www.earnedvaluemanagement.com/. (Accessed: November 2016)
Faller R., Goble W. M. (2007). Open IEC 61508 Certification of Products, exida
GmbH.
Fda.gov. (2017). U S Food and Drug Administration Home Page. [online] Available
at: http://www.fda.gov/ (Accessed June 2017).
Downloaded from mostwiedzy.pl
Food and Drug Administration, (2014). Infusion Pumps Total Product Life Cycle.
Guidance for Industry and FDA Staff.
Food and Drug Administation (2015) A Mobile Medical Applications. Guidance for
Industry and Food and Drug Administration Staff
143
Gary, K., Enquobahrie, A., Ibanez, L., Cheng, P., Yaniv, Z., Cleary, K., Kokoori, S.,
Muffih, B. and Heidenreich, J. (2011). Agile methods for open source safety-critical
software. Softw: Pract. Exper., 41(9), pp.945-962.
Ge, X., Paige, R. and McDermid, J. (2010). An Iterative Approach for Development
of Safety-Critical Software and Safety Arguments. In: Proceedings of the 2010 Agile
Conference, IEEE Computer Society, pp.35-43.
Glazer, H., Dalton, J., Anderson, D., Konrad, M. and Shrum, S. (2008). CMMI or
Agile: Why Not Embrace Both!. Software Engineering Institute.
Górski, J., Jarzębowicz, A., Leszczyna, R., Miler, J. and Olszewski, M. (2005). Trust
case: justifying trust in an IT solution. Reliability Engineering & System Safety, 89(1),
pp.33-47.
Górski, J. (2007). Trust-IT - a framework for trust cas. In: Proceedings of DSN 2007
: 37th Annual IEEE/IFIP International Conference on Dependable Systems and
Networks. pp.204-209.
Górski, J., Jarzębowicz, A., Miler, J., Wardziński A. (2014) Challenges in providing
support for evidence based argument management. 4th International Symposium on
Model Based Safety Assessment IMBSA 2014, October 27-29 2014, Munich,
Germany
144
Górski J., Łukasiewicz K. (2012) Agile development of critical software, can it be
justified?, 7th International Conference on Evaluation of Novel Approaches to
Software Engineering, Wrocław, Springer
Górski, J., Łukasiewicz K., (2013) Towards Agile Development of Critical Software”,
A. Gorbenko, A. Romanovsky, V. Kharchenko (Eds). Software Engineering for
Resilient Systems - 5th International Workshop, SERENE 2013, 3-4 October, Kiev,
Ukraine, 2013. Proceedings. LNCS 8166. Springer
Greenwell WS, Knight JC, Holloway CM, Pease J (2006). A taxonomy of fallacies in
system safety argument. 24th International System Safety Conference,
Albuequerque
Downloaded from mostwiedzy.pl
Hanssen, G., Myklebust, T., & Stålhane, T. (2012). The application of Safe Scrum to
IEC 61508 certifiable software.
Hawkins, R.; Kelly, T. P.; Knight, J. C. & Graydon, P. J. (2011), A New Approach to
creating Clear Safety Arguments., in Chris Dale & Tom Anderson, ed., 'SSS' ,
Springer, , pp. 3-23
145
iBeacon (2017), [online] Available at: https://developer.apple.com/ibeacon/
(Accessed: June 2017)
146
International Society for Pharmaceutical Engineering (2008) GAMP 5 Guide: Compliant
GxP Computerized Systems, [online] Available at:
https://ispe.org/publications/guidance-documents/gamp-5 (Accessed: March 2018)
Wesley
Lindvall M., Muthig D., Dagnino A., Wallin C., Stupperich M., Kiefer D., May J. &
Kähkönen T. (2004). Agile Software Development in Large Organizations in
Computer, 37(12), pp. 26-34
Łukasiewicz K., Górski J., (2018) Introducing agile practices into development
processes of safety-critical software. In Proceedings of ASCS’18, Porto, Portugal,
May 21-25, 2018
147
Marçal, A. C., de Freitas B. C., Furtado Soares F. S., Furtado M. S., Maciel T. M.,
Belchior A. D. (2008) Blending Scrum practices and CMMI project management
process areas. Innovations in Systems and Software Engineering, 4(1), pp. 17-29
MAUDE (Manufacturer and User facility Device Experience) Database (2017),
[online] Available at:
https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfmaude/search.cfm
McHugh, M., McCaffery, F., Casey, V. and Pikkarainen, M. (2012). Integrating Agile
Practices with a Medical Device Software Development Lifecycle. In: Proceedings of
European Systems and Software Process Improvement and Innovation Conference
(EuroSPI)
Musen, M.A. (2015) The Protégé project: A look back and a look forward. AI Matters.
Association of Computing Machinery Specific Interest Group in Artificial Intelligence,
1(4), June 2015. DOI: 10.1145/2557001.25757003.
Downloaded from mostwiedzy.pl
Mycklebust, T., Stålhane, T. and Hanssen, G. (2016). Use of Agile Practices when
developing Safety-Critical software. In: Proceedings of The 34th International
System Safety Conference (ISSC).
148
Nyfjord, J., & Kajko-Mattsson, M. (2008). Integrating risk management with software
development : state of practice. In: Proceedings of The International MultiConference
of Engineers and Computer Scientists 2008 Vol. I
Paige R., Charalambous R., Ge X., Brooke P. (2008) Towards Agile Engineering of
High-Integrity Systems. Proceedings of 27th International Conference on Computer
Safety, Reliability and Security (SAFECOMP), Newcastle upon Tyne, UK
Palanque, P., Paternò, F. & Wright, P. (1998). Designing user interfaces for safety
critical systems. ACM Sigchi Bulletin. 30. 200.
Petersen, K., & Wohlin, C. (2010). The effect of moving from a plan-driven to an
incremental software development approach with agile practices. Empirical Software
Engineering, 15(6), pp. 654-693
Downloaded from mostwiedzy.pl
Potter, N., Sakry M. (2009). Implementing Scrum (Agile) and CMMI together.
Process Group Post Newsletter, 16(2), Available at:
http://www.itmpi.org/assets/base/images/itmpi/Potter-ScrumCMMI.pdf
149
Rasmussen, R., Hughes, T., Jenks, J. R., & Skach, J. (2009) Adopting Agile in an
FDA Regulated Environment. Agile Conference Proceedings, Chicago, USA, 24-28
August 2009. IEEE Computer Society, Los Alamitos, pp. 151-155
Schwaber, K., Beedle (2001) Agile Software Development with Scrum. Prentice Hall
Stålhane, T., Myklebust, T. and Hanssen, G. (2013). Safety standards and Scrum –
A synopsis of three standards. [article] Available at:
http://www.sintef.no/globalassets/safety-standards-and-scrum_may2013.pdf.
Stephenson Z., McDermid J., (2006). Ward A. Health Modelling for Agility in Safety-
Critical Systems Development. Proceedings of the First IET International Conference
on System Safety Engineering, London, UK
150
Stålhane, T., & Malm, T. (2016). Risk assessment: Experts vs. lay people. In L.
Walls, M. Revie, & T. Bedford (Eds.), Risk, Reliability and Safety: Innovating Theory
and Practice (pp. 1345-1352). CRC Press
Zhang, Y., Jones, P. L., & Klonoff, D. C..(2010). Second Insulin Pump Safety
Meeting: Summary Report. Journal of Diabetes Science and Technology, 4(2), pp
488–493
151
Downloaded from mostwiedzy.pl
152
APPENDIX A: METODA DOBORU PRAKTYK PROGRAMISTYCZNYCH W
WYTWARZANIU OPROGRAMOWANIA ZWIĄZANEGO Z
BEZPIECZEŃSTWEM – ROZSZERZONE STRESZCZENIE
A.1 Wprowadzenie
Nadrzędnym celem procesów wytwórczych w projekcie informatycznym jest
dostarczenie oprogramowania wysokiej jakości, które zadowoliłoby klienta i przyniosłoby
satysfakcjonujące dochody. Na sukces projektu wpływa wiele czynników, a jednym z
kluczowych wydaje się być właściwy wybór metody wytwarzania oprogramowania.
Metody wytwarzania oprogramowania oferują wytyczne dotyczące stosowania
określonych działań i aktywności oraz sposobu organizowania ich w jednolity proces
wytwórczy. Obecnie dostępnych jest wiele metod, od zdyscyplinowanych, sterowanych
planem i zorientowanych na proces po bardziej elastyczne, zorientowane na ludzi,
zwinne podejścia.
Metody sterowane planem, jak sama nazwa wskazuje, koncentrują się na
aspektach planowania procesów wytwórczych. Przykłady takich metodyk to m.in. model
kaskadowy i SW-CMM (Software Engineering Institute, 1993). Na drugim końcu
spektrum znajdują się zwinne metodyki. W Manifeście Agile (Agile Manifesto, 2001),
który opisuje zasady stojące za tą grupą metodyk, podkreślono, że to działające
oprogramowanie, współpraca i elastyczność w reagowaniu na zmiany są cenione
bardziej niż dokumentacja, procesy i plany. Scrum (Schwaber, Beedle, 2001) i eXtreme
Programming (eXtreme Programming, 1999) są przykładami takich metodyk.
Downloaded from mostwiedzy.pl
153
oprogramowania można korzystać. Systemy o wymaganiach krytycznych względem
bezpieczeństwa to systemy, "których awaria może zagrozić życiu ludzkiemu,
doprowadzić do znaczącej straty finansowej lub spowodować znaczne szkody w
środowisku" (Knight, 2002). Takie systemy można znaleźć w transporcie, ochronie
zdrowia, przemyśle energetycznym i wielu innych dziedzinach, w których pewne
kluczowe zadania są przenoszone na rozwiązania technologiczne. Potencjalne szkody
w przypadku nieprawidłowego działania systemu mogą mieć znaczący wpływ na jego
środowisko i otoczenie. Z tego powodu systemy o wymaganiach krytycznych względem
bezpieczeństwa podlegają wielu przepisom i normom, które określają w jaki sposób
należy zadbać o to, aby ostateczne oprogramowanie było bezpieczne. Niektóre
standardy regulują również proces rozwoju i definiują jego niezbędne działania i
artefakty.
W ostatnich latach rosnąca konkurencja na rynku IT miała również wpływ na
systemy związane z bezpieczeństwem. Dzięki powszechnemu stosowaniu elementów
oprogramowania, na przykład w samochodach lub samolotach, każdy jest dziś
potencjalnym użytkownikiem oprogramowania o znaczeniu krytycznym dla
bezpieczeństwa, co naturalnie zmieniło perspektywę firm oferujących takie
oprogramowanie. Na przykład, jeśli chodzi o firmy produkujące oprogramowanie
medyczne, przeszły one od wspierania jedynie szpitali i lekarzy do dostarczania usług w
zakresie spersonalizowanych rozwiązań w dziedzinie e-zdrowia bezpośrednio dla
pacjentów. Kluczowe stało się oferowanie lepszego oprogramowania, bardziej
atrakcyjnego dla użytkownika, przy utrzymaniu kosztów tak niskich, jak to tylko możliwe,
w celu konkurowania na tym szybko zmieniającym się i dynamicznie rosnącym rynku. W
związku z tym istnieje duże zapotrzebowanie na zwiększenie wydajności procesów
Downloaded from mostwiedzy.pl
154
Teza pracy została sformułowana następująco:
Zaproponowana metoda umożliwia istotne obniżenie nakładów na
wytwarzanie oprogramowania w projektach związanych z bezpieczeństwem, bez
naruszania wymagań wynikających z norm i standardów dotyczących
zapewniania bezpieczeństwa.
ekspertów.
155
2017). Warto wspomnieć także o znanych wypadkach, w wyniku których wielu ludzi
straciło życie lub odniosło ciężki uszczerbek na zdrowiu właśnie w wyniku wadliwego
działania oprogramowania, takich jak awaria systemu ostrzegania w Airbus A340-642
(AAIB, 2005), błędne działanie akcelerometru w Boeing 777-200 (ATSB, 2005) lub
tragiczne w skutkach błędy obliczeniowe przy radioterapii maszyną Therac-25 (Leveson,
1995).
Rynek oprogramowania krytycznego dla bezpieczeństwa najprawdopodobniej
będzie rozwijał się w przyszłości, wraz ze spadkiem kosztów sprzętu i rozwojem nowych
możliwości oferowanych przez oprogramowanie (Knight, 2002). W związku z tym,
znaczenie rozwiązań zapewniających bezpieczeństwo, będzie rosło, zwłaszcza że czas
wydania produktu oraz koszty odgrywają coraz ważniejszą rolę w tej dziedzinie.
Podczas gdy metody sterowane planem dowiodły swojej wartości i przydatności
w projektach o kluczowym znaczeniu dla bezpieczeństwa, przy rozwijającym się rynku
oprogramowania ostatnich kilku lat, podejście to jest wystawiane na próbę (Ge, Paige,
McDermid, 2010). Rosnąca konkurencja, stale zmieniające się technologie i bardziej
zróżnicowane grupy klientów zmieniły oczekiwania wobec metod wytwarzania
oprogramowania. Potrzeba dostarczenia systemów o odpowiedniej jakości, szybciej i
przy niższych kosztach w porównaniu do konkurentów sprawiły, że zaczęto
poszukiwać alternatywnych rozwiązań (Petersen, Wohlin, 2010).
W odpowiedzi na te potrzeby, metodyki zwinne oferują praktyki ceniące bliską
relację z klientami, pozwalające na bardziej swobodne podejście do dokumentacji i
zapewniające elastyczny cykl życia w oparciu o krótkie iteracje (Abrahamsson et al.,
2002). Pomyślnie wdrożone, zwinne praktyki mogą potencjalnie obniżyć koszty
produkcji, jak również czas wprowadzenia produktu na rynek (Drobka, Noftz, Raghu,
Downloaded from mostwiedzy.pl
156
Wobec takiego potencjału, jakie prezentują metodyki zwinne, zaczęły pojawiać
się metody proponujące integrację praktyk metodyk zwinnych do procesów wytwórczych
oprogramowania o wymaganiach krytycznych względem bezpieczeństwa. W 2009 roku
Weiguo i Xiaomin (Weiguo, Xiaomin, 2009) zaprezentowali podejście oparte na
zwinności, odpowiednie dla projektów urządzeń medycznych zgodnych z FDA.
Podejście zostało ograniczone do konkretnej dziedziny, dlatego trudno je uznać za
uniwersalne rozwiązanie. Innym interesującym podejściem jest model AV (McHugh,
McCaffery and Coady, 2014), łączący tradycyjny model V ze Scrum i koncentrujący się
na oprogramowaniu medycznym oraz na standardzie IEC 62304. Podczas, gdy model
AV przedstawia obiecujące rozwiązanie, jego potencjalne zastosowania są ograniczone
i jako takie nie mogą być powszechnie zalecane.
Bardziej ogólne i praktyczne rozwiązanie zaproponowała grupa badawcza z
SINTEF (SINTEF, 2017) oraz Norweskiego Uniwersytetu Nauki i Technologii
(Norwegian University of Science and Technology, 2017). Zaproponowali oni metodę
SafeScrum (Mycklebust, Stålhane and Hanssen, 2016), która koncentruje się na
dostosowaniu Scruma do rozwoju oprogramowania o znaczeniu krytycznym dla
bezpieczeństwa. Metoda ta zapewnia dobrze zbadany zestaw praktyk, chociaż aspekt
dowodzenia zgodności z wymaganiami dotyczącymi bezpieczeństwa jest wciąż w
trakcie rozwoju.
Więcej na temat powiązanych prac i badań można przeczytać w rozdziale 3
niniejszej pracy.
Chociaż omówione modele adaptowania zwinnych praktyk do projektów
krytycznych z punktu widzenia bezpieczeństwa są cennymi źródłami wiedzy, nadal
istnieje potrzeba opracowania łatwiejszego w użyciu i dokładnego zestawu wytycznych
Downloaded from mostwiedzy.pl
157
przygotowaniu, może być ponownie wykorzystana lub dostosowana później do innych
projektów.
Istnieją dwa główne przypadki użycia AgileSafe. Pierwszym i podstawowym jest
Zastosowanie AgileSafe, czyli uzyskanie porady na temat procesu tworzenia
oprogramowania, z sugestiami, które praktyki zastosować i jak zapewnić zgodność z
wybranymi standardami. Drugim sposobem jest Udoskonalenie metody poprzez
aktualizację wiedzy przechowywanej w metodzie, dostarczając informacji zwrotnych i
danych o nowych praktykach.
Schemat użycia AgileSafe na wysokim poziomie przedstawiono na Rysunku 1 w
rozdziale 4.1 niniejszej pracy.
158
2. Dystrybucja geograficzna zespołu (na podstawie ankiety Amblera (Ambler, 2012))
(Gdzie są fizycznie zlokalizowani członkowie zespołu?)
A – To samo pomieszczenie; B - Ten sam budynek; C - W odległości dojazdu
samochodem; D - Niektórzy pracują w domu; E - Globalnie rozdystrybuowani
3. Złożoność dziedziny produktu
(Jak skomplikowana jest docelowa domena produktu?)
A - Prosta; B - Przewidywalna; C - Szybko się zmienia; D - Skomplikowana; E -
Skomplikowana / rozwijana
4. Dystrybucja organizacyjna
(Jaka jest przynależność osób pracujących w projekcie, jak zorganizowana jest praca?)
A – Wspólna praca; B - Różne zespoły; C - Różne działy; D - Różne firmy partnerskie; E
- Kontraktowi
5. Złożoność techniczna
(Jak skomplikowana jest strona technologiczna projektu?)
A - Homogeniczny; B - Wiele technologii; C - Nowa technologia; D - Rozwiązania
systemowe / wbudowane; E - Heterogeniczny / starszy
6. Złożoność organizacyjna
(Jakie są struktury firmy, w jaki sposób są zarządzane?)
A - Elastyczna, intuicyjna; B - Elastyczna, uporządkowana; C - Stabilna, ewolucyjna; D -
Stabilna, zaplanowana; E - Sztywna
7. Dyscyplina przedsiębiorstwa
(Co leży w centrum uwagi kierownictwa firmy?)
A – Skoncentrowana na projekcie; B - Głównie skoncentrowana na projekcie; C -
Zrównoważona; D - Głównie skoncentrowana na przedsiębiorstwie; E - Skoncentrowana
Downloaded from mostwiedzy.pl
na przedsiębiorstwie
W AgileSafe wbudowana została baza wiedzy, która zapewnia dopasowanie
odpowiednich zwinnych praktyk do charakterystyki projektu. Algorytmy, które sugerują
praktyki dla użytkownika są zaimplementowane w bazie wiedzy w postaci reguł SWRL
(SWRL, 2004). Dlatego też, charakterystyka projektu musi zostać dodana do bazy
wiedzy, w celu uzyskania sugestii dotyczących praktyk odpowiednich dla tego projektu.
Aby zapewnić, że wymogi bezpieczeństwa określone w odpowiednich
regulacjach zostały wbudowane w projekt, AgileSafe wykorzystuje argumenty
wiarygodności. Główną ideą jest zapewnienie argumentów wiarygodności dla procesu
wytwarzania oprogramowania, jak również dla samego produktu końcowego. Podczas
gdy ten ostatni służy do wykazania zgodności produktu z daną normą lub standardem,
pierwszy ma na celu wykazanie, że wybrane praktyki wytwarzania oprogramowania
zapewniają wystarczający poziom bezpieczeństwa dla powstałego produktu. Dzięki
159
temu połączonemu podejściu użytkownik może zapewnić, że wybrane praktyki są
odpowiednie dla konkretnego projektu, z jego wymaganiami bezpieczeństwa nałożonymi
przez wymagane normy i standardy.
Wzorce argumentów wiarygodności bazują na odpowiednich normach,
standardach i wytycznych. Oparte są o podejście Trust-IT (NOR-STA, 2017), (Cyra,
Górski, 2011), (Górski, Jarzębowicz, Miler, 2012). Aby ułatwić korzystanie z AgileSafe,
w metodzie zostało wykorzystane narzędzie NOR-STA Argevide (Argevide, 2017),
służące do zarządzania zestawem argumentów AgileSafe.
Wszystkie argumenty w metodzie opracowywane są osobno dla każdego
obowiązującego standardu w celu obsługi oddzielnych procesów certyfikacji i są oparte
na strukturze danego standardu Istnieją trzy typy argumentów wiarygodności w
AgileSafe: Argumenty zgodności praktyk, Argument zgodności praktyk projektu i
Argument zgodności projektu. Pierwsze dwa koncentrują się na praktykach wytwarzania
oprogramowania, które są w stanie wytworzyć niezbędny materiał zgodności, zaś ostatni
przedstawia argumentację opartą na faktycznie zebranych artefaktach projektu.
Rysunek przedstawiający relację między argumentami, wraz z rozszerzonym opisem
można znaleźć w rozdziale 7 niniejszej pracy.
praktykę lub uaktualnić już istniejącą w bazie wiedzy metody. Można je również dodać
do argumentów wiarygodności AgileSafe.
Użytkownik może także uaktualnić listę standardów wspieranych przez
argumenty wiarygodności.
160
Na podstawie tezy tej rozprawy doktorskiej zadeklarowano dwa cele:
(G1) Analiza proponowanej metody pod kątem wspierania wprowadzenia
zwinnych praktyk do procesu wytwarzania oprogramowania, zachowując
jednocześnie zgodność z wymaganiami dotyczącymi bezpieczeństwa
narzuconymi przez dziedzinę projektu.
(G2) Analiza proponowanej metody pod kątem wpływu na zmniejszenie
nakładów poświęconych na proces wytwarzania oprogramowania w projektach
związanych z bezpieczeństwem.
W odniesieniu do tych celów określono następujące pytania badawcze:
(Q1) Jaki jest potencjalny wpływ wprowadzenia zwinnych praktyk na proces
wytwarzania oprogramowania o krytycznym znaczeniu dla bezpieczeństwa?
(Q2) Czy metoda AgileSafe może zmniejszyć negatywny wpływ zwinnych praktyk
na proces wytwarzania oprogramowania krytycznego dla bezpieczeństwa?
(Q3) Czy metoda sugeruje praktyki, które mają odniesienie do projektu i jego
otoczenia?
(Q4) Czy metoda ta wspiera aspekt zapewniania bezpieczeństwa projektu
podczas wprowadzania nowych praktyk?
(Q5) Czy wprowadzenie zwinnych praktyk do procesu wytwarzania
oprogramowania przynosi potencjalnie korzyść w postaci zmniejszenia nakładów
związanych z projektem?
(Q6) Czy metoda AgileSafe pozwala na wprowadzenie zwinnych praktyk, które
mogą potencjalnie zmniejszyć nakłady potrzebne do projektu?
Aby znaleźć odpowiedzi na te pytania, zebrano następujące metryki:
(M1) Lista korzyści i problemów związanych z wprowadzeniem zwinnych praktyk
Downloaded from mostwiedzy.pl
161
(M4) Pokrycie argumentów wiarygodności AgileSafe dla standardu ISO 14971
przez praktyki sugerowane w studium przypadku - w oparciu o dane dotyczące
stosowalności głównych elementów metody AgileSafe w projektach związanych
z bezpieczeństwem, w kontrolowanym i ograniczonym środowisku, zebrane w
rozdziale 8.3 niniejszej pracy.
(M5) Ocena szablonu dodawania nowej praktyki przez ekspertów SafeScrum - w
oparciu o teoretyczne oceny AgileSafe przez ekspertów, zebrane w rozdziale 8.5
niniejszej pracy
(M6) Lista zwinnych praktyk stosowanych obecnie w dwóch branżowych
projektach o krytycznym znaczeniu dla bezpieczeństwa - w oparciu o teoretyczną
ocenę AgileSafe przeprowadzoną przez ekspertów, opisaną w rozdziale 8.5
niniejszej pracy
(M7) Lista najbardziej wartościowych aspektów metody AgileSafe - na podstawie
ocen AgileSafe przez ekspertów, zgromadzonych w rozdziale 8.5 niniejszej pracy
(M8) Lista najbardziej kłopotliwych aspektów metody AgileSafe - w oparciu o
oceny AgileSafe przez ekspertów, zebranych w rozdziale 8.5 niniejszej pracy
(M9) Związek między liczbą sugerowanych praktyk (AS.A.13) a liczbą praktyk
projektowych (AS.A.6) - na podstawie danych zebranych w rozdziale 8.4
niniejszej pracy
(M10) Pokrycie argumentów wiarygodności AgileSafe dla standardu ISO 14971
przez zestaw praktyk dla projektu GlucoMet - na podstawie danych zebranych w
rozdziale 8.4 niniejszej pracy
Cel G.1 został osiągnięty poprzez udzielenie odpowiedzi na pytania Q1, Q2, Q3
i Q4. Na ich podstawie możemy wywnioskować, że AgileSafe wspiera wprowadzanie
Downloaded from mostwiedzy.pl
162
A.7 Wkład rozprawy w rozwój dziedziny
Głównym osiągnięciem badań związanych z niniejszą pracą doktorską jest
opracowanie metody do wyboru praktyk programistycznych i monitorowania zgodności,
nazwanej AgileSafe. Główne innowacyjne elementy AgileSafe to:
1. Framework wspomagający dobór praktyk programistycznych w projektach o
wymaganiach krytycznych względem bezpieczeństwa, od definicji projektu po fazę
końcową i ocenę wiarygodności.
2. Zastosowanie koncepcji argumentacji opartej na dowodach do
reprezentowania wymagań bezpieczeństwa narzuconych przez odpowiednie normy i
standardy oraz wprowadzenie trzypoziomowej struktury argumentów wiarygodności w
celu wsparcia osiągania i monitorowania zgodności (Argument zgodności praktyk,
Argument zgodności praktyk projektu, Argument zgodności projektu i ich wzorce).
3. Specyfikacja bazy wiedzy i związanych z nią algorytmów wnioskowania,
wspierających dobór praktyk dla danego projektu
Aby zweryfikować proponowaną metodę AgileSafe, w trakcie badań
przeprowadzono trzy studia przypadku:
Case Study A
Głównym celem tego studium przypadku było sporządzenie listy
kontrolnej zagrożeń, a także oceny ryzyka dla włączenia zwinnych praktyk w
procesy wytwórcze projektów o krytycznym znaczeniu dla bezpieczeństwa, w
oparciu o analizę ryzyka dostarczoną przez uczestników. Ponadto, sugestie
uczestników dotyczące dodatkowych praktyk ograniczających potencjalne
ryzyko zostały zbadane i uznane za cenne podczas przygotowywania metody
AgileSafe.
Downloaded from mostwiedzy.pl
Case Study B
Celem tego studium było wykorzystanie AgileSafe do włączenia
wybranych praktyk zarządzania ryzykiem do zwinnego projekt z wymaganiami
dotyczącymi bezpieczeństwa. Projekt był prowadzony przez grupę studentów
informatyki i trwał 2 semestry, od lutego 2015 do stycznia 2016.
Projekt skupiał się na rozwoju aplikacji mobilnej związanej ze zdrowiem.
Szczególnie interesujące było to, w jaki sposób mogłoby wyglądać wdrożenie
wytycznych FDA, które zostały niedawno wydane (Food and Drug Administration,
2015).
Zespół projektu współpracował ze studiem programistycznym Bright
Inventions (Bright Inventions, 2017), które zaoferowało wsparcie techniczne.
163
Zadanie studentów polegało na zaimplementowaniu systemu zarządzania
wizytami i kolejkami w przychodni, przy użyciu iBeacon (iBeacon, 2017) na iOS.
Case Study C
Celem tego studium przypadku była ocena procesów metody AgileSafe,
od Analizy projektu do Przygotowania Argumentu zgodności projektu.
To studium przypadku zostało przeprowadzone dla fikcyjnego projektu o
nazwie GlucoMet. Oparto go na projekcie przedstawionym uczniom podczas
studenckiego studium przypadku (rozdział 8.2) oraz uwag przedstawionych w
(Chen i in., 2014) oraz (Zhang, Jones i Klonoff, 2010). Projekt GlucoMet dotyczył
oprogramowania dla pomp insulinowych z funkcją monitorowania glukozy.
164
Downloaded from mostwiedzy.pl
165