<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Managing Security Work in Scrum: Tensions and Challenges</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sven Turpe</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Poller</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fraunhofer SIT</institution>
          ,
          <addr-line>Darmstadt</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>34</fpage>
      <lpage>49</lpage>
      <abstract>
        <p>We advocate a change of perspective in the question of agile secure software development and analyze what makes it di cult to address security needs in Scrum. The literature focuses on the integration of security activities into agile development processes. However, detailed prescriptions for security work would be misplaced in a generic management framework like Scrum. Therefore we take a closer look at the tensions between Scrum's way of organizing work and the characteristics of security requirements. Our previous work suggests that Scrum works well as a management model and security development requires iterations as in agile development, yet Scrum teams can fail to address security needs due to their low visibility, competing objectives, and Scrum's division of labor. Tensions arise as Scrum is optimized to ful ll explicit requirements and maximize business value, whereas security is often an implicit requirement with a di erent value proposition, which nevertheless requires substantial work and cannot be addressed by bug xing or quality assurance alone. As a consequence, promising research directions are the re ective discovery of security needs, the valuation and prioritization of security work, collaboration between Scrum teams and security experts, and veri cation and feedback mechanisms for security.</p>
      </abstract>
      <kwd-group>
        <kwd>Scrum</kwd>
        <kwd>security requirements</kwd>
        <kwd>security work</kwd>
        <kwd>management</kwd>
        <kwd>agile development</kwd>
        <kwd>software security</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        When agile software development entered the scene [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], it was met with
skepticism from security experts. While some agile practices could be bene cial for
security, others contradicted established approaches to security assurance [
        <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
        ].
Empirical results suggest that agile development may indeed tend to neglect
security [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] as a so-called non-functional or quality requirement [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. On the other
Copyright ©2017 by the paper's authors. Copying permitted for private and
academic purposes.
hand, some of the early skepticism [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] seems to have its roots in traditional
conceptions of security assurance tailored to traditional development processes.
      </p>
      <p>
        Agile frameworks like Scrum [
        <xref ref-type="bibr" rid="ref6 ref7">6,7</xref>
        ] and a wide range of agile practices [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
are now the mainstream in software development. Software security has
simultaneously become ever more important. Several proposals have appeared over
the years how to integrate security engineering practices into agile methodologies
like Scrum and XP [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref9">9,10,11,12,13</xref>
        ]. Despite their di erent approaches, they build
on the common premise that agile teams neglect security because it is not an
explicit part of common agile frameworks. Consequently, they present and
evaluate extensions to the processes, artifacts, and roles of development frameworks
to ensure that security requirements get due attention.
      </p>
      <p>However, the most popular agile methodology, Scrum, is a management
framework purposefully honed down to the essentials of roles, responsibilities,
and collaboration. Scrum does and should not prescribe development work in
detail, but rather aims to create an environment where development teams can
self-organize and take responsibility for their work while being managed to the
extent necessary for a project to succeed. The key to this management scheme
is the delicate balance between the respective responsibilities and spheres of
relative autonomy of the development team and the product owner. Organized
collaboration between these roles, with the scrum master as a facilitator, aims
to ensure that development moves in a productive direction at any time, this
direction gets adjusted as requirements change or are better understood, and
management antipatterns like micromanagement do not occur.</p>
      <p>
        Our own previous work shows two opposite tendencies. On the one hand,
security requirements engineering needs iterations, because design decisions change
security properties and adversaries may adapt their behavior to available attack
opportunities [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. One might therefore expect agile development to be well
suited to identify and address security needs. On the other hand, we observed
obstacles to the adoption of security practices by a Scrum team after an
intervention and despite the developers' perceived need for more security [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This
observation can in part be explained with the theory of organizational routines
and with challenges of change management. Another, equally important part of
the explanation lies in subtle mismatches between Scrum's strengths and the
peculiarities of security as a class of requirements. For example, development teams
cannot silently take care of security without product management or other
stakeholders explicitly motivating and requiring it, but security may remain invisible
and intangible for those.
      </p>
      <p>In this paper we synthesize our previous work on security requirements and
on security work in a Scrum team. We theorize about tensions between the
characteristics of security requirements and security work on the one hand and
the way Scrum manages development work on the other. Analyzing the de nition
of Scrum, we nd three di erent ways of managing security work: as bug xing on
demand, continuously as a quality requirement through the de nition of \done,"
or as prioritized and planned development work through the product backlog. We
discuss the capabilities and limitations of these approaches and nd each of them
inadequate. On-demand xing rarely leads to substantial security improvement.
As a quality requirement, security has a complex relationship with development
work and is di cult to verify. Security features in the backlog would be a suitable
approach to many security concerns, but they compete with other requirements
and also may need special expertise to design and implement e ectively.</p>
      <p>We argue that research aiming to reconcile security engineering with agile
development should consider not only the execution of security activities in an agile
process, but also these challenges of managing security work in agile frameworks.
Our analysis suggests four areas of security tasks that are worth investigating
and supporting: the re ective discovery of security needs to create backlog items,
the valuation and prioritization of security work, agile veri cation and feedback
in the security dimension, and the collaboration of Scrum teams with external
security experts and consultants.</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Agile Software Development</title>
        <p>
          Agile software development [
          <xref ref-type="bibr" rid="ref16 ref17">16,17</xref>
          ] as a concept comprises fundamental values
and principles [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], frameworks like XP and Scrum, and a wider set of development
practices supporting agility [
          <xref ref-type="bibr" rid="ref18 ref8">18,8</xref>
          ]. Its basic values and principles emphasize the
continuous delivery of valuable software and an empirical approach to
requirements, which are explored interactively with the customer and are expected to
change. Agile development focuses on the software itself as the product of
development, avoiding software bureaucracy in favor of face-to-face communication
and a minimal number of lightweight artifacts besides product increments.
Selforganizing teams of skilled and motivated people are trusted to get their job
done without detailed prescriptions through continuous collaboration with their
customers. Under this assumption, re ection, learning, and self-improvement are
essential parts of agile development. Finally, the principles of the Agile Manifesto
also call for technical excellence and simplicity.
        </p>
        <p>
          Agile frameworks like XP and Scrum implement the values and principles of
agile development, specifying management structures, processes, artifacts, and
practices. They organize development work in short, incremental iterations with
feedback loops and specify team activities focused on communication and
coordination. While Scrum is strictly focused on management aspects|roles,
interactions, artifacts|XP also prescribes practices like pair programming and unit
testing. Around these frameworks a range of practices [
          <xref ref-type="bibr" rid="ref18 ref8">18,8</xref>
          ] has emerged that
are commonly employed by agile teams regardless of which framework they use.
Examples are continuous integration and testing with a high degree of
automation and the representation of requirements in the form of user stories.
        </p>
        <p>
          While agile practices have been widely adopted and became the prevalent
paradigm of software development, they have also downsides. Agile
development pursues con icting goals di cult to balance, such as continuous delivery
of software and continuous learning [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Short development cycles can create
iteration pressure, thus inhibiting activities like re ection and learning that are
not directly contributing to the intended iteration results [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Security in Agile Development</title>
        <p>
          Security experts tend to be skeptical about the ability of agile development to
produce secure software. Some evidence supports this view: security has a strong
non-functional, quality component [
          <xref ref-type="bibr" rid="ref21 ref3">21,3</xref>
          ] and agile development apparently tends
to neglect non-functional requirements [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. However, early skepticism [
          <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
          ] had its
roots elsewhere. Traditional approaches to security assurance, such as security
certi cation, assumed traditional development practices in traditional
organizations. Some alleged problems of security in agile development were therefore
really the result of a culture shock, as becomes obvious in statements like this:
\Pair Programming (...) is not possible in organizations in which workstation
sharing is not permitted." [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Agile development seems indeed out of place in
such an environment. Note also that security assurance does not equal security,
the former focusing on paperwork to convince someone that due attention has
been paid to security and speci c requirements are ful lled.
        </p>
        <p>
          Various proposals and investigations have appeared over time regarding
security activities in agile development processes [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. For example, Bostrom et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
propose an extension of XP with practices for security requirements
engineering. They introduce abuser stories as a new artifact type to represent security
requirements and describe activities creating, re ning, and using these artifacts.
Kongsli [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] made a similar proposal among suggestions about improved testing
and dedicated security review meetings, and Mead et al. [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] showed ways to
adopt the SQUARE security requirements methodology for agile development.
        </p>
        <p>
          Ben Othmane et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] take a di erent approach and propose a way of
representing and updating security assurance arguments in an iterative development
process. Besides proposals with such comprehensive aims there are also
adaptations of speci c agile practices to security. Protection poker [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] is an example,
using an approach similar to planning poker for risk assessment. Others have
suggested integrating single conventional security activities such as risk analysis [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
into agile development methods or adopting portions of secure software
development lifecycles like Microsoft SDL, Cigital Touchpoints or CLASP [
          <xref ref-type="bibr" rid="ref26 ref27 ref28">26,27,28</xref>
          ].
Bartsch [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] criticized that this kind of proposals often provides only a theoretical
perspective on method compatibility and potential method adoption strategies.
He argues for an empirical perspective focusing on actual development
practices, the context of agile development, and in particular on customer-developer
interactions.
        </p>
        <p>
          Rindell et al. argue in a recent literature review [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] that the inherent
insecurity of agile development, suspected by early work and echoed in the literature
ever since, is a myth. While we agree with the gist of their result, our own
work [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], outlined in section 4.2 below, suggests that Scrum as one particular
agile management framework poses challenges for the management of security
work. Hence we take in this paper a closer look at these challenges. Our prior
research highlights the importance of roles, collaboration, and organizational
routines, as opposed to artifacts and formal process.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Software Security</title>
      <sec id="sec-3-1">
        <title>Security Requirements</title>
        <p>
          To protect a system or software product against malicious attacks, its developers
have to avoid vulnerabilities that attackers might exploit. Vulnerabilities are
introduced inadvertently and it takes additional e ort to prevent or remove
them. They often appear in side-e ect behavior, which does not a ect normal
use and operations but can be triggered by attackers [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. Most vulnerabilities
therefore remain invisible until one speci cally looks for them and analyzes the
behaviors of a program through an attacker's lens.
        </p>
        <p>
          Understanding the security needs of a system under development is a
problem of requirements engineering, but security needs are not requirements like any
other. Security needs are shaped by three interdependent components [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]: the
threats to defend against, the security goals of stakeholders, and the design of
the system itself. Threats are adaptive and exploit whichever vulnerability serves
their objectives. Design and implementation decisions entail security needs.
Security goals determine priorities. To understand security requirements, one needs
to analyze all three components together.
        </p>
        <p>Due to these interdependent aspects, security requirements cannot be elicited
from stakeholders alone. The design and implementation of a development
product itself is a major source of security needs. Architectural decisions, technology
choices, and implementation detail lead to new or re ned security concerns.</p>
        <p>The relationships between the three components are complicated. Simple
oneto-one mappings between threats or security goals on the one hand and design
choices on the other are rare. While implications may exist so that necessary
security functions can be identi ed, it is often insu cient to implement only
these functions|security is not only a set of features.</p>
        <p>Security requirements comprise functional and non-functional aspects. To
create a secure product, developers have to devise a security architecture,
integrate a suitable set of security functions, and avoid defects that could be
exploited to subvert the security architecture. Since such defects can appear
almost anywhere, security is also not incremental. Further development can easily
break a formerly secure product.</p>
        <p>
          Many speci c security requirements have, therefore, a technical rationale
and only an indirect relationship to threats or security goals|they do not follow
straightforwardly from a threat or goal statement. Such requirements are likely
discovered by developers or security experts rather than by stakeholders, which
has been observed more generally for non-functional requirements [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>
          While security is a cross-cutting concern, the set of security aspects to be
considered is non-uniform across development tasks. This can make it di
cult to use checklists and catalogs like the Common Weakness Enumeration
(CWE, http://cwe.mitre.org/) or the OWASP Application Security Veri
cation Standard (ASVS) [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. Only a subset applies to any particular task and
this subset keeps changing. Furthermore, detailed information about everything
that may go wrong is not necessarily what a developer needs to prevent these
problems.
        </p>
        <p>
          Finally, security requirements engineering is subject to an epistemic
challenge: beyond a baseline of common problems it is di cult, if not impossible,
to know for certain how threats will react to the presence of a system. Security
work aims to prevent future damages [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], but feedback from the eld comes
necessarily late. The bene t of security can therefore be di cult to asses and
even for security functions that are clearly bene cial, customers' willingness to
pay varies [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ].
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Security Development Work</title>
        <p>Security is a secondary aspect to every part of the development cycle. In
addition to the development tasks aiming to ful ll functional and other requirements,
development teams have to make deliberate e orts to control the security
properties of their product:
Requirements: As a basis for design decisions, developers need to understand
the operational environment of a system, pertinent threats and risks, the
stakeholders' security goals, existing security policies, etc. The analysis of
such information leads to assumptions to rely on and to priorities for further
security engineering. Some security functions may already be requested at
this stage.</p>
        <p>Architecture: Developers need to devise a viable security architecture,
combining security mechanisms such that they build on each other and are not
easily subverted. The security architecture de nes aspects like trust
relationships and the attack surface of a system.</p>
        <p>Design: Security design concerns aspects like the selection of particular variants
of a general type of security function (e.g., a speci c user authentication
scheme), the design of security-related user interfaces, and the design of
internals like programming interfaces or the location within the architecture
where certain functions are to be implemented. Tradeo s can arise between
di erent security needs or between security and other requirements, which
must be resolved as part of the design process.</p>
        <p>Implementation: As otherwise minor defects can easily break a security
architecture, implementation work must aim to prevent such defects. They can
arise in the implementation or application of security functions, but also in
the implementation of any other part of a system if the security architecture
explicitly or implicitly relies on it.</p>
        <p>
          Testing and veri cation: To uncover vulnerabilities, speci c testing and
evaluation techniques are needed. Some types of implementation defects can be
found with automated security scanners. Deeper issues may be found by
penetration testing [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] or by code and design reviews, which require more
e ort. Found vulnerabilities should be analyzed to identify and x their root
causes.
        </p>
        <p>Security needs continuous attention throughout development. However, the
e ort that can be spent on security as a secondary objective is necessarily limited.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Scrum</title>
      <sec id="sec-4-1">
        <title>A Management Framework for Software Development</title>
        <p>
          Scrum [
          <xref ref-type="bibr" rid="ref6 ref7">6,7</xref>
          ] speci es a framework for agile software development. A Scrum team
comprises a cross-functional development team, a product owner, and a scrum
master. The development team is responsible for all technical aspects and
development work, the product owner steers the direction of the project through
ranked requirements, and the scrum master takes care of the process and
facilitates interaction. Development proceeds as a series of iterations (sprints) and
team members coordinate their work in ceremonies that repeat every sprint or
even daily. At its heart, Scrum is a management framework for development
work rather than a development process. Its distinctive elements are not short
iterations and daily standup meetings, but rather:
Division of roles and responsibility: Scrum assigns precise roles and
responsibilities to the development team, the product owner, and the scrum master,
gives each role autonomy to carry out their respective task, and organizes
interactions between actors in speci c ceremonies. This precludes
micromanagement of development work while allowing the direction of the project to
be managed. The product owner conveys what shall be worked on in which
order, whereas the development team has authority over the how of
development. Coordination takes place in sprint planning and reviews. Development
work is de ned, prioritized, and executed in a loop between the product
owner and the development team.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Handling of functional and quality requirements: In the logic of Scrum,</title>
        <p>functional requirements belong into the product backlog and their
importance is de ned by the product owner. Quality requirements belong into the
de nition of \done" and their ful llment is to be demonstrated during sprint
reviews. Scrum does not specify how to deal with requirements that do not
t into this clear-cut separation or are di cult to demonstrate.</p>
        <p>Value-oriented backlog ordering: Scrum requires the product owner to
order the items in the product backlog by expected business value. In line with
agile principles, more valuable work thus gets precedence over less valuable
work. This assumes, however, that the relative value of each backlog item
can be determined at all and be expressed on the same scale.</p>
        <p>
          Scrum de nes only essential roles, artifacts, and interactions, so that by
Scrum alone the work environment is underspeci ed. For example, the product
owner is a generic proxy for project stakeholders. Whether the product owner
represents a customer, the product management in a company, or diverse
stakeholders is not de ned by Scrum. Likewise, work practices and routines are only
speci ed to the extent necessary for Scrum as a management framework. Any
number of further agile practices may be used in conjunction with Scrum, and
development teams likely follow routines that either re ne those de ned by Scrum
or run in parallel. For example, Scrum teams may handle defect reports and
feature requests in di erent ways [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Moreover, further organizational structures
surround Scrum teams in companies. For example, larger software companies
often employ product security teams to support developers. Scrum constrains
the interference of such structures with development.
4.2
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Case Study: Security Work in an Agile Product Group</title>
        <p>
          To research the emergence of security work practices in an agile development
group we carried out in previous work [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] a eld study at a large global software
vendor. The investigated product group with ve Scrum teams was embedded in
an organizational structure with a dedicated product management and an R&amp;D
management. Both collaborated to set up the product strategy, to negotiate on
the priorities of feature development, and to coordinate the development process
together with the Scrum teams.
        </p>
        <p>We followed the product group for 13 months with questionnaires,
observations, document analysis and interviews, while the developed product underwent
a security penetration test followed by a security training workshop for the
developers. Our study explored the research question how the organizational routines
of the product group changed to account for additional security work practices
during and after the penetration test and training. We found that both events
had a visible impact on the product group members, who became security aware
and were determined to solve the vulnerabilities the penetration test revealed.
However, despite group members' evident belief that security work should be
part of development practices, they did not manage to change their
organizational routines to account for it. Security work remained a reactive and unguided
activity executed as unsystematic, invisible work task for individual developers.
Developers themselves questioned this outcome and challenged whether security
activities would actually be performed in the long run.</p>
        <p>We concluded that in order to succeed, approaches to encourage and anchor
security work in a development setting must be aligned to the setting's de
ning organizational aspects. This requires to not only consider a development
framework such as Scrum as a mere constraint for secure software development
interventions, but to also address its implications on how work is structured,
understood and performed by developers and other people like R&amp;D and product
managers, as well as the embedding of development work in a broader
organizational context. In particular, we found that as security requirements emerge from
activities during product feature development, it might be considered a quality
aspect of the software, but, however, cannot be handled as such as it actually
requires continuous visibility and prioritization by other stakeholders outside
the development team such as the product management. These key observations
motivated us to reconsider current proposals for secure software development in
agile development environments, and particularly for scrum.
4.3</p>
      </sec>
      <sec id="sec-4-4">
        <title>Consequences for Security Work</title>
        <p>
          The way Scrum organizes software development has several implications for
security work, which we observed in practice in our previously mentioned case
study [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]:
Security must be visible and tangible. Scrum uses two key artifacts to
manage development: the product backlog for requirements and tasks, and the
de nition of \done" for cross-cutting qualities. These artifacts represent what
is deemed important in a project. If security does not appear there, or only in
an ine ective way (e.g., as backlog items that never make it into sprint
backlogs or as a security de nition of \done" that is not actionable), substantial
and systematic security work is unlikely to take place.
        </p>
      </sec>
      <sec id="sec-4-5">
        <title>The product owner plays a key role. The product owner steers the work</title>
        <p>and the attention of the development team. Whether visible security concerns
will be addressed depends on the ranking of security items in the product
backlog and on the acceptance criteria e ective in sprint reviews.
Requirements and priorities come from stakeholders. Stakeholders like
clients or product management are the ultimate source of requirements and
priorities. Security concerns must therefore be their concerns to be addressed
in development. Since agile development explores requirements interactively
with the stakeholders, they must must be able to assess the ful llment of
their requirements, to give feedback, and to express their valuation of
requirements. As agile development avoids speculative and preemptive work
beyond the scope of the current cycle, only continual feedback can keep
concerns and requirements alive.</p>
        <p>Security practices need to emerge, not be prescribed. Prescribing
security practices to be followed by a team or individual developers, collides with
two elements of Scrum. Such prescriptions would circumvent the product
owner and the process to interfere directly with the work of the development
team, which is self-organizing and uses retrospectives to re ect and improve
its practices. Hence, prescribing practices from the top down introduces
ambiguity into the self-management duties of the teams and the responsibilities
for work tasks and results.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Managing Security Work in Scrum</title>
      <p>Scrum supports three di erent ways to handle security concerns: security as bug
xing, security as a quality requirement and security as a set of features. In
the following, we explore for each approach its implications of applying it in the
context of agile development with Scrum, using our eld experience (cp. 4.2) and
other prior work. We show tensions and pitfalls we think require our attention
as researchers with an interest in software development.
5.1</p>
      <sec id="sec-5-1">
        <title>Security as On-Demand Bug Fixing</title>
        <p>Like other defects, vulnerabilities may be discovered outside the immediate
development process and reported to the team. Common sources of such reports
include operators of the product, penetration tests and security reviews
commissioned by vendors or customers, bug bounty programs, and incidents observed in
the eld. Such reports often concern speci c instances of vulnerabilities, which
may be isolated defects or consequences of deeper problems that likely cause
further instances of similar vulnerabilities.</p>
        <p>Bug reports arrive asynchronously as defects are being discovered. Bug xing
is a common activity in software development. Scrum treats bug reports as
backlog items like any other. However, teams and organizations may develop
practices to address urgent bugs quickly, without having to wait for the next
sprint for proper planning.</p>
        <p>Fixing known vulnerabilities is a necessary part of security development,
but by itself insu cient to raise the security of a software product. Once an
exploitable vulnerability has been discovered, it must be patched to prevent
foreseeable or even to stop ongoing attacks. However, if this only forces attackers
to look for another instance, security does not really improve. Bug xing likely
misses root causes that lead to numerous similar vulnerabilities. Patterns remain
invisible when individual defects are treated in isolation and mitigating root
causes often requires changes beyond the scope of a bug x.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Security as a Quality Requirement</title>
        <p>
          Software security has a strong quality aspect [
          <xref ref-type="bibr" rid="ref21 ref3">21,3</xref>
          ]. The nominal presence of
required security functions does little to secure a system if they are not e ective,
and the e ectiveness of any security function is easily undermined by software
defects in the function itself or elsewhere in the system. Vulnerabilities in a
security function weaken it and vulnerabilities elsewhere may allow its circumvention.
Security therefore has to be considered as a cross-cutting, non-functional quality
requirement.
        </p>
        <p>Scrum's mechanism for quality assurance comprises the de nition of \done"
together with sprint reviews. The de nition of \done" speci es a quality gate
that increments have to pass before being accepted as completed. A typical
de nition of \done" speci es several tasks that must be accomplished in addition
to implementation, such as documentation, code review, testing, and xing of
any known defects. These tasks are part of the development team's responsibility.
Their completion results must be demonstrated or at least declared during the
sprint review for the product owner to accept a backlog item. De nitions are
adapted to the needs of a team and its product, but not to individual backlog
items.</p>
        <p>To address security as a quality requirement within Scrum, one would have to
include generic yet e ective security veri cation tasks in the de nition of \done."
Developers would write secure code to the best of their ability and verify their
results by suitable means. Alas, this approach has limitations:
Developers cannot cope. There is a vast number of potential security
concerns, of which only a subset applies to any particular development task, and
this subset varies across tasks. It is unrealistic to expect developers to \just
care" about security, to mentally select and apply the right set of secure
development guidelines in everything they do. Security requires explicit e orts
rather than just implicit attention.</p>
      </sec>
      <sec id="sec-5-3">
        <title>Security is not only a quality attribute. Security comprises a mix of qual</title>
        <p>ity attributes, security functions, and security architecture. The functional
and architectural aspects are not su ciently covered by a quality-focused
approach.</p>
        <p>Direct veri cation is hard. Due to the low visibility of security and
vulnerabilities, it is di cult to verify results. While a new function can be
demonstrated and evaluated in a sprint review meeting, security properties evade
quick and easy evaluation. Moreover, stakeholders and product owners are
likely unable to provide useful feedback where deep technical expertise may
be needed to even follow the discussion.</p>
        <p>Testing has limitations. Indirect veri cation by demonstrating test or review
results hinges on testing capabilities. Automated security tests, which t into
agile practices, work well for some types of vulnerabilities but miss others
altogether. Penetration testing and thorough reviews, on the other hand, are
costly and hard to repeat at sprint pace. When carried out asynchronously
rather than within an iteration, their ndings are likely handled through bug
xing.</p>
        <p>While the development team can apply security practices and even adopt
them autonomously as part of its self-organization, there is limited potential for
feedback that could drive the team to do so. It may be tempting to mandate the
creation of certain artifacts, e.g., \a threat model must exist for every new
feature," but this would create new software bureaucracy, which agile development
avoids.
5.3</p>
      </sec>
      <sec id="sec-5-4">
        <title>Security as a Set of Features</title>
        <p>
          Substantial amounts of security work are to be de ned and scheduled through
the product backlog and Scrum process just like any other kind of requirements.
This kind of development work includes, for example, the implementation or
strengthening of security functions, the design and implementation of general
solutions to classes of vulnerabilities (see [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] for an example), and architectural
improvements to reduce the potential for vulnerabilities.
        </p>
        <p>For security feature work to be eventually done, it needs to be speci ed in
the product backlog as a requirement or design idea, prioritized su ciently as a
backlog item to be worked on, re ned until ready for implementation, and moved
to a sprint backlog for execution. The implementation is then veri ed like for
any other backlog item and the produced increment may be released to users
and stakeholders, who can give feedback and raise new or updated requirements.</p>
        <p>Perhaps with the exception of implementation itself, each of these steps can
fail due to obstacles inherent to security:
Developer-de ned requirements: For security requirements or ideas to
appear in the product backlog at all, someone has to identify and specify them.
This is unproblematic for common security functions with a clear and
obvious business value, which may be requested by stakeholders just like any
other kind of feature. However, these stakeholders are unlikely to specify less
obvious or less common security functions, particularly when the need for
these functions has a technical motivation that only developers understand.
Scrum does not prevent developers from adding items they deem necessary to
the backlog, but also does not speci cally invite them to raise requirements
for their product.</p>
        <p>
          Prioritization of security work: Once listed on the product backlog, a
security requirement will get further attention only if the product owner gives
it su cient priority. All backlog items compete with each other for limited
attention and resources; only those with the highest business value have a
chance of being implemented. Security work has several disadvantages here.
First, its value proposition di ers from that of features with positive
business value. Security work limits losses at some later time [
          <xref ref-type="bibr" rid="ref32 ref36">36,32</xref>
          ]. Second,
the di erence between secure and insecure is hardly visible, so that even an
unequivocal value can be di cult to argue. Third, proposals coming from
developers likely lack a stakeholder who would champion them. These factors
together make it less likely for security work to receive high priority.
Necessary expertise: Re nement, design, and implementation of security
features can be inhibited by limited security expertise in the development team.
Scrum assumes cross-functional teams, which have all required skill and
expertise on the team to accomplish their development work. However, security
has manifold, diverse facets and it can be di cult to cover all of them.
Simultaneously, detail often matters in security and any approximation of a
good solution can be as insecure as no solution at all.
        </p>
        <p>Features alone are insu cient: Veri cation has two levels. Functional
veri cation, checking whether a function has been implemented as speci ed,
works as it does for any other function. However, correctness does not imply
security, so that the e ectiveness of a security feature needs to be veri ed
in addition. This entails the challenges of security as a quality requirement
discussed above.</p>
        <p>In addition to these obstacles for security within the management process of
Scrum, obtaining stakeholder feedback on security is di cult as well, because
security properties and vulnerabilities are not readily visible.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Reconciling Scrum and Security</title>
      <p>For all we know, Scrum works well as a development management framework.
As development progresses and security needs evolve, the dynamic, empirical
and change-accepting approach of agile development to requirements
engineering should be suitable for security development. However, security as a class of
requirements has special properties that do not align with Scrum's strengths.
Three di erent ways of identifying and addressing security concerns would be
compatible with Scrum as discussed above, but each has limitations. Mere bug
xing is widely rejected as an approach to secure software development.
Handling security as a quality requirement su ers from a lack of feedback within the
Scrum process and neglects the functional and architectural aspects of security.
Security work can be scheduled and managed like other backlog items, but does
not t into the scheme of stakeholder requirements prioritized by business value.
Software development projects may therefore fail to address relevant security
concerns contrary to the objective interests of their stakeholders. Our analysis
suggests that remedy may be found in the following areas:</p>
      <sec id="sec-6-1">
        <title>Re ective discovery of security needs: Test results and vulnerability re</title>
        <p>ports can reveal unful lled security requirements. To identify and address
these requirements, it is necessary to review collections of defects, look for
patterns and nd common causes. Such a review di ers in scope and purpose
from defect xing itself; it aims to create new product backlog items that, if
implemented, reduce the risk of future occurrences of similar vulnerabilities.
Activities and tools that let teams re ect on security could be bene cial and
would also t into the general framework of agile development.</p>
      </sec>
      <sec id="sec-6-2">
        <title>Value and prioritization of security work: Scrum prioritizes work by its</title>
        <p>expected business value, but security work does not t into this approach.
This creates a barrier, which systematically disadvantages some aspects of
security development work. Security would bene t from better means for
developers, product owners, and stakeholders to make the bene ts of security
work items visible at all and comparable with the value of other backlog
items.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Security expertise and security consultancy: Thus far there seems to be</title>
        <p>little work on security expertise in Scrum teams, its impact on development
results, and suitable ways of dealing with the diversity of security concerns.
However, many software companies have established separate security teams
as well as training programs for their developers. This calls for empirical work
taking a closer look at interaction, collaboration, and impact.</p>
        <p>Veri cation and feedback: Finally, veri cation and feedback for security need
more attention. Agile development depends on short feedback loops, but
quickly generating useful security feedback remains a challenge. Users and
other stakeholders cannot provide feedback on security properties.
Automated tests are quick and easily repeated, but for many security concerns
not reliable enough. Penetration testing can deliver high-quality feedback,
but requires too much e ort to repeat frequently. Better feedback
mechanisms would help Scrum teams to notice and address security needs.</p>
        <p>These four proposals are neither magic bullets nor should they replace any of
the security practices that can be applied within agile development. Their aim
is, rather, to amend a set of software engineering activities with suitable agile
management practices for the security aspects of software development.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>Scrum as a management framework for software development establishes a
control loop between the product owner and the development team to de ne,
prioritize, plan, and review development work. We analyzed how software security ts
into this framework and found several factors that can impede security work.
Conceived as a quality attribute, security is too complicated and not visible
enough to manage it e ectively through the de nition of \done" and sprint
reviews. As a set of backlog items, security work needs to be de ned by the
development team but also prioritized by the product owner. We expect security
development with Scrum to bene t from re ective practices to discover security
concerns, better ways to value and prioritize security work, empirical results
on internal and external security expertise, and better veri cation and feedback
tools. Each of these four items deserves further exploration.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beedle</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>van Bennekum</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunningham</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grenning</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Highsmith</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hunt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Je</surname>
            <given-names>ries</given-names>
          </string-name>
          , R.,
          <string-name>
            <surname>Kern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marick</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mellor</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwaber</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sutherland</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Manifesto for agile software development (</article-title>
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Beznosov</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Towards agile security assurance</article-title>
          .
          <source>In: Proc. New Security Paradigms Workshop</source>
          . NSPW '
          <volume>04</volume>
          , New York, NY, USA, ACM (
          <year>2004</year>
          )
          <volume>47</volume>
          {
          <fpage>54</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Goertzel</surname>
            ,
            <given-names>K.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Winograd</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McKinley</surname>
            ,
            <given-names>H.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oh</surname>
            ,
            <given-names>L.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Colon</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGibbon</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fedchak</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vienneau</surname>
          </string-name>
          , R.:
          <article-title>Software security assurance: A state-of-the-art report</article-title>
          .
          <source>Technical report, IATAC &amp; DACS (July</source>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baskerville</surname>
          </string-name>
          , R.:
          <article-title>Agile requirements engineering practices and challenges: an empirical study</article-title>
          .
          <source>Information Systems Journal</source>
          <volume>20</volume>
          (
          <issue>5</issue>
          ) (
          <year>2010</year>
          )
          <volume>449</volume>
          {
          <fpage>480</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ameller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ayala</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>How do software architects consider non-functional requirements: An exploratory study</article-title>
          .
          <source>In: Requirements Engineering Conference (RE)</source>
          ,
          <year>2012</year>
          20th IEEE International.
          <article-title>(</article-title>
          <year>2012</year>
          )
          <volume>41</volume>
          {
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Schwaber</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beedle</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Agile Software Development with Scrum</article-title>
          .
          <source>Agile Software Development. Prentice Hall</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Schwaber</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sutherland</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Scrum guide</article-title>
          . http://scrumguides.org/ (
          <year>July 2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>What agile teams think of agile principles</article-title>
          .
          <source>Commun. ACM</source>
          <volume>55</volume>
          (
          <issue>4</issue>
          ) (
          <year>April 2012</year>
          )
          <volume>71</volume>
          {
          <fpage>76</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Bostrom, G., Wayrynen, J.,
          <string-name>
            <surname>Boden</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beznosov</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Extending xp practices to support security requirements engineering</article-title>
          .
          <source>In: Proceedings of the 2006 international workshop on Software engineering for secure systems. SESS '06</source>
          , New York, NY, USA, ACM (
          <year>2006</year>
          )
          <volume>11</volume>
          {
          <fpage>18</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meneely</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shipley</surname>
          </string-name>
          , G.:
          <article-title>Protection poker: The new software security "game";</article-title>
          .
          <source>Security Privacy, IEEE</source>
          <volume>8</volume>
          (
          <issue>3</issue>
          ) (
          <year>2010</year>
          )
          <volume>14</volume>
          {
          <fpage>20</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Ben</given-names>
            <surname>Othmane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Angin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            , We ers, H.,
            <surname>Bhargava</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          :
          <article-title>Extending the agile development process to develop acceptably secure software</article-title>
          .
          <source>IEEE Transactions on Dependable and Secure Computing</source>
          <volume>11</volume>
          (
          <issue>6</issue>
          ) (
          <year>Nov 2014</year>
          )
          <volume>497</volume>
          {
          <fpage>509</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hof</surname>
          </string-name>
          , H.:
          <article-title>Secure Scrum: development of secure software with Scrum</article-title>
          .
          <source>CoRR</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Baca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boldt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carlsson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobsson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A novel security-enhanced agile software development process applied in an industrial setting</article-title>
          .
          <source>In: 2015 10th International Conference on Availability, Reliability and Security. (Aug</source>
          <year>2015</year>
          )
          <volume>11</volume>
          {
          <fpage>19</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Tu</surname>
          </string-name>
          <article-title>rpe, S.: The trouble with security requirements</article-title>
          .
          <source>In: 25th IEEE International Requirements Engineering Conference</source>
          , IEEE (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Poller</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kocksch</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Turpe,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Epp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.A.</given-names>
            ,
            <surname>Kinder-Kurlanda</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Can security become a routine? a study of organizational change in an agile software development group</article-title>
          .
          <source>In: Proc. CSCW'17</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Highsmith</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Agile software development: the business of innovation</article-title>
          .
          <source>Computer</source>
          <volume>34</volume>
          (
          <issue>9</issue>
          ) (
          <year>Sep 2001</year>
          )
          <volume>120</volume>
          {
          <fpage>127</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Highsmith</surname>
          </string-name>
          , J.:
          <article-title>Agile software development, the people factor</article-title>
          .
          <source>Computer</source>
          <volume>34</volume>
          (
          <issue>11</issue>
          ) (
          <year>Nov 2001</year>
          )
          <volume>131</volume>
          {
          <fpage>133</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brown</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>Meltzer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nagappan</surname>
          </string-name>
          , N.:
          <article-title>Scrum + engineering practices: Experiences of three Microsoft teams</article-title>
          .
          <source>In: Empirical Software Engineering and Measurement (ESEM)</source>
          , 2011 International Symposium on. (
          <year>2011</year>
          )
          <volume>463</volume>
          {
          <fpage>471</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Hoda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noble</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marshall</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Balancing acts: Walking the agile tightrope</article-title>
          .
          <source>In: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering. CHASE '10</source>
          , New York, NY, USA, ACM (
          <year>2010</year>
          )
          <volume>5</volume>
          {
          <fpage>12</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Hoda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babb</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , N rbjerg, J.:
          <article-title>Toward learning teams</article-title>
          .
          <source>IEEE Software</source>
          <volume>30</volume>
          (
          <issue>4</issue>
          )
          <issue>(</issue>
          <year>July 2013</year>
          )
          <volume>95</volume>
          {
          <fpage>98</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Chung</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Dealing with security requirements during the development of information systems</article-title>
          .
          <source>In: Proc. Adv. Inform. Syst. Eng. (CAiSE'93)</source>
          . Springer, Berlin, Heidelberg (
          <year>1993</year>
          )
          <volume>234</volume>
          {
          <fpage>251</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Rindell</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hyrynsalmi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Leppanen, V.:
          <article-title>Busting a myth: Review of agile security engineering methods</article-title>
          .
          <source>In: Proc. ARES'17, IEEE Comput. Soc</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kongsli</surname>
          </string-name>
          , V.:
          <article-title>Towards agile security in web applications</article-title>
          . In:
          <article-title>Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications</article-title>
          . OOPSLA '
          <volume>06</volume>
          , New York, NY, USA, ACM (
          <year>2006</year>
          )
          <volume>805</volume>
          {
          <fpage>808</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Mead</surname>
            ,
            <given-names>N.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viswanathan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Padmanabhan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Incorporating security requirements engineering into the dynamic systems development method</article-title>
          .
          <source>In: 2008 32nd Annual IEEE International Computer Software and Applications Conference</source>
          .
          <source>(July</source>
          <year>2008</year>
          )
          <volume>949</volume>
          {
          <fpage>954</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Maria</surname>
            ,
            <given-names>R.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodrigues</surname>
            , Jr,
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinto</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          :
          <article-title>ScrumS: a model for safe agile development</article-title>
          .
          <source>In: Proceedings of the 7th International Conference on Management of Computational and Collective intElligence in Digital EcoSystems. MEDES '15</source>
          , New York, NY, USA, ACM (
          <year>2015</year>
          )
          <volume>43</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Baca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carlsson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Agile development with security engineering activities</article-title>
          .
          <source>In: Proceedings of the 2011 International Conference on Software and Systems Process. ICSSP '11</source>
          , New York, NY, USA, ACM (
          <year>2011</year>
          )
          <volume>149</volume>
          {
          <fpage>158</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Sonia</surname>
            , Singhal,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banati</surname>
          </string-name>
          , H.:
          <article-title>FISA-XP: an agile-based integration of security activities with extreme programming</article-title>
          .
          <source>SIGSOFT Softw. Eng. Notes</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ) (
          <year>June 2014</year>
          )
          <volume>1</volume>
          {
          <fpage>14</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Rindell</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hyrynsalmi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Leppanen, V.:
          <article-title>A comparison of security assurance support of agile software development methods</article-title>
          .
          <source>In: Proceedings of the 16th International Conference on Computer Systems and Technologies. CompSysTech '15</source>
          , New York, NY, USA, ACM (
          <year>2015</year>
          )
          <volume>61</volume>
          {
          <fpage>68</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Bartsch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Practitioners' perspectives on security in agile development</article-title>
          .
          <source>In: 2011 Sixth International Conference on Availability, Reliability and Security. (Aug</source>
          <year>2011</year>
          )
          <volume>479</volume>
          {
          <fpage>484</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>H.H.</given-names>
          </string-name>
          :
          <article-title>Why security testing is hard</article-title>
          .
          <source>IEEE Security and Privacy</source>
          <volume>1</volume>
          (
          <issue>4</issue>
          )
          <article-title>(july-aug</article-title>
          .
          <year>2003</year>
          )
          <volume>83</volume>
          {
          <fpage>86</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31. OWASP:
          <article-title>Application Security Veri cation Standard</article-title>
          .
          <source>v3.0.1 edn. (July</source>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Witschey</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murphy-Hill</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Social in uences on secure development tool adoption: Why security tools spread</article-title>
          .
          <source>In: Proceedings of the 17th ACM Conference on Computer Supported Cooperative Work &amp; Social Computing. CSCW '14</source>
          , New York, NY, USA, ACM (
          <year>2014</year>
          )
          <volume>1095</volume>
          {
          <fpage>1106</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Sonnenschein</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loske</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buxmann</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Which IT security investments will pay o for suppliers? using the kano model to determine customers' willingness to pay</article-title>
          .
          <source>In: 2016 49th Hawaii International Conference on System Sciences (HICSS)</source>
          .
          <source>(Jan</source>
          <year>2016</year>
          )
          <volume>5672</volume>
          {
          <fpage>5681</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Palmer</surname>
            ,
            <given-names>C.C.</given-names>
          </string-name>
          :
          <article-title>Ethical hacking</article-title>
          .
          <source>IBM Systems Journal</source>
          <volume>40</volume>
          (
          <issue>3</issue>
          ) (
          <year>2001</year>
          )
          <volume>769</volume>
          {
          <fpage>780</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Kern</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Securing the tangled web</article-title>
          .
          <source>Commun. ACM</source>
          <volume>57</volume>
          (
          <issue>9</issue>
          ) (
          <year>September 2014</year>
          )
          <volume>38</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Peeters</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Cost-e ective security</article-title>
          .
          <source>IEEE Security &amp; Privacy Magazine</source>
          <volume>5</volume>
          (
          <issue>3</issue>
          ) (May
          <year>2007</year>
          )
          <volume>85</volume>
          {
          <fpage>87</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>