scholarly journals Collaborative security risk estimation in agile software development

2019 ◽  
Vol 27 (4) ◽  
pp. 508-535 ◽  
Author(s):  
Inger Anne Tøndel ◽  
Martin Gilje Jaatun ◽  
Daniela Soares Cruzes ◽  
Laurie Williams

PurposeToday, agile software development teams in general do not adopt security risk-assessment practices in an ongoing manner to prioritize security work. Protection Poker is a collaborative and lightweight software security risk-estimation technique that is particularly suited for agile teams. Motivated by a desire to understand why security risk assessments have not yet gained widespread adoption in agile development, this study aims to assess to what extent the Protection Poker game would be accepted by agile teams and how it can be successfully integrated into the agile practices.Design/methodology/approachProtection Poker was studied in capstone projects, in teams doing a graduate software security course and in sessions with industry representatives. Data were collected via questionnaires, observations and group interviews.FindingsResults show that Protection Poker has the potential to be adopted by agile teams. Key benefits include good discussions on security and the development project, along with increased knowledge and awareness. Challenges include ensuring efficient use of time and gaining impact on the end product.Research limitations/implicationsUsing students allowed easy access to subjects and an ability to collect rich data over time, but at the cost of generalizability to professional settings. Results from interactions with professionals supplement the data from students, showing similarities and differences in their opinions on Protection Poker.Originality/valueThe paper proposes ways to tackle the main obstacles to the adoption of the Protection Poker technique, as identified in this study.

ACTA IMEKO ◽  
2019 ◽  
Vol 7 (4) ◽  
pp. 3
Author(s):  
Ionut Andrei Sandu ◽  
Alexandru Salceanu

<p class="Abstract"><span lang="EN-US">In an ideal Agile Development Team, defects should not exist. But in reality and especially in Automotive Agile Software Development, we need to have a mechanism for defects handling and tracking to closure. In this paper we describe the benefits and principles for measuring the defects handling metrics in automotive programs and organizations which adopted Agile SW Development. We are presenting the Iteration Containment Effectiveness, Program Increment Containment Effectiveness and Defect Debt Trend metrics. The acquired advantages are demonstrated by a detailed example of real application on how to measure the classical Phase Containment Effectiveness metric on Iteration (Sprint) and Program Increment (Scum of Scrums / Scaled Agile) Level. This paper is an extended version of the original contribution to the IMEKO TC 4 2017 symposium in Iasi, Romania.</span></p>


Author(s):  
Vinay Kukreja ◽  
Amitoj Singh

In the globalization of fast changing business and technology environment, it becomes very important to respond quickly to changing user requirements. Traditional methodologies are not appropriate for the projects where user requirements are not fixed. Agile methodologies have been developed to cope up with user changing requirements and emphasize more on working software and customer collaboration. Agile is an umbrella term and it is used for many software development methodologies which shares common characteristics. This chapter mainly focuses on the working methodology of agile development and the usage areas of industry where agile development is implemented. Agile software development is difficult in distributed environment as the team members are at distributed locations. This chapter discusses agile industry applicability enablers which are useful for agile software development in distributed environment.


Author(s):  
Torstein Nicolaysen ◽  
Richard Sassoon ◽  
Maria B. Line ◽  
Martin Gilje Jaatun

In this article, the authors contrast the results of a series of interviews with agile software development organizations with a case study of a distributed agile development effort, focusing on how information security is taken care of in an agile context. The interviews indicate that small and medium-sized agile software development organizations do not use any particular methodology to achieve security goals, even when their software is web-facing and potential targets of attack. This case study confirms that even in cases where security is an articulated requirement, and where security design is fed as input to the implementation team, there is no guarantee that the end result meets the security objectives. The authors contend that security must be built as an intrinsic software property and emphasize the need for security awareness throughout the whole software development lifecycle. This paper suggests two extensions to agile methodologies that may contribute to ensuring focus on security during the complete lifecycle.


2009 ◽  
pp. 2680-2699
Author(s):  
James F. Kile ◽  
Maheshwar R. Inampudi

Of great interest to software development professionals is whether the adaptive methods found in agile methodologies can be successfully implemented in a highly disciplined environment and still provide the benefits accorded to fully agile projects. As a general rule, agile software development methodologies have typically been applied to non-critical projects using relatively small project teams where there are vague requirements, a high degree of anticipated change, and no significant availability or performance requirements (Boehm & Turner, 2004). Using agile methods in their pure form for projects requiring either high availability, high performance, or both is considered too risky by many practitioners (Boehm et al., 2004; Paulk, 2001). When one investigates the various agile practices, however, one gets the impression that each may still have value when separated from the whole. This chapter discusses how one team was able to successfully drive software development quality improvements and reduce overall cycle time through the introduction of several individual agile development techniques. Through the use of a common-sense approach to software development, it is shown that the incorporation of individual agile techniques does not have to entail additional risk for projects having higher availability, performance, and quality requirements.


2017 ◽  
Vol 10 (13) ◽  
pp. 143 ◽  
Author(s):  
Jayasudha R ◽  
Viswanathan V ◽  
Shanthi P

The concept of reuse is applied in one of the agile development methodologies called the scrum. Sprint is a single functionality and the result at the end of the sprint functionality is derived as the shippable or bugs. This paper makes an attempt to use the concept of reuse in the agile software development to meet the dynamic change of customer requirements in banks. A banking project is created using both waterfall model and scrum model, and the knowledge gained is stored in the ontology-based repository for the first time. Again, the same project is created for different vendors using the ontology-based repository. The result shows that maximum sprint is reused and all the knowledge gained is stored in the form of ontology. This ontology helps identify the shippable component of each sprint which is a small executable functionality. This leads to less cost and time to deliver the product. The main aim is to increase the availability of the reusable artifacts, which lead to increase the reusability of the developer. The experimental results show improvements in the performance of retrieving the components for the software development.  


2021 ◽  
Vol ahead-of-print (ahead-of-print) ◽  
Author(s):  
Carin Lindskog ◽  
Monika Magnusson

PurposeThe purpose of this study is to apply the concept of organizational ambidexterity as a conceptual lens to increase the understanding of tensions between exploitation (continuity) and exploration (change) in Agile software development (ASD) project teams, and particularly the balancing (ambidextrous) strategies utilized.Design/methodology/approachA conceptual framework was constructed from interdisciplinary sources on ambidexterity. A literature review of publications on ambidexterity in ASD was then performed, and the results from the selected publications were classified according to an extension of the conceptual framework.FindingsContextual ambidexterity in ASD is affected by the four basic coherent concepts: time, task, team and transition. The study found that most ambidextrous factors and strategies were task and team-related. In addition, a mixture of hard (performance) strategies and soft (social) strategies is needed in order for people/teams to (be able to) become ambidextrous.Practical implicationsTo provide a better understanding of ASD, it is important to identify a broader set of ambidextrous factors and strategies that can impact ASD project teams. The expanded conceptual framework can serve as a basis for future empirical research and provide insights to practitioners on how to strengthen ambidexterity in ASD projects.Originality/valueThe contribution is of great importance for ASD research and practice, as ASD methods are a popular method for managing projects within ASD and in other nonsoftware organizations. In addition, as more and more organizations struggle to deal with rapidly changing environments, interest in the phenomena of paradoxical tensions and the strategy (ambidexterity) to deal with these tensions increase.


Author(s):  
Amir Mashmool ◽  
Samiyeh Khosravi ◽  
Javad Hassannataj Joloudari ◽  
Irum Inayat ◽  
Zulkefli Mansor ◽  
...  

Agile methods promise to achieve high productivity and provide high-quality software. Agile software development is the most important model that has spread through the world of software development over the past decade. Software productivity measurement is essential in agile teams to increase the performance of Software development. Due to the increasing competition of software development companies, software team productivity has become one of the crucial challenges for software companies and teams. Awareness of the level of team productivity can help them to achieve more accurate estimation results on the time and cost of the projects. However, to measure software productivity, there is no definitive solution or approach whether in traditional and agile software development teams that lead to the occurrence of many problems in achieving a reliable definition of software productivity. Hence, this study aims to evaluate the productivity of the software in an up-to-date view of software development and to present a model for computing software team productivity. A survey was conducted with forty software development organizations located in Iran and measured the impact of six factors of the team on productivity in these companies. The results show that team effectiveness factors including inter-team relationship, quality conformance by the team, team vision, team leader, and requirements handled by the team had an impact on productivity. Moreover, the results also state that inter-team relations affect the most on software teams’ productivity. Finally, using the model fit test, it found that 80% of productivity changes based on team effectiveness factors.


Author(s):  
J. Kile

Of great interest to software development professionals is whether the adaptive methods found in agile methodologies can be successfully implemented in a highly disciplined environment and still provide the benefits accorded to fully agile projects. As a general rule, agile software development methodologies have typically been applied to non-critical projects using relatively small project teams where there are vague requirements, a high degree of anticipated change, and no significant availability or performance requirements (Boehm & Turner, 2004). Using agile methods in their pure form for projects requiring either high availability, high performance, or both is considered too risky by many practitioners (Boehm et al., 2004; Paulk, 2001). When one investigates the various agile practices, however, one gets the impression that each may still have value when separated from the whole. This chapter discusses how one team was able to successfully drive software development quality improvements and reduce overall cycle time through the introduction of several individual agile development techniques. Through the use of a common-sense approach to software development, it is shown that the incorporation of individual agile techniques does not have to entail additional risk for projects having higher availability, performance, and quality requirements.


Author(s):  
J. Rech

Software quality assurance is concerned with the efficient and effective development of large, reliable, and high-quality software systems. In agile software development and maintenance, refactoring is an important phase for the continuous improvement of a software system by removing quality defects like code smells. As time is a crucial factor in agile development, not all quality defects can be removed in one refactoring phase (especially in one iteration). Documentation of quality defects that are found during automated or manual discovery activities (e.g., pair programming) is necessary to avoid wasting time by rediscovering them in later phases. Unfortunately, the documentation and handling of existing quality defects and refactoring activities is a common problem in software maintenance. To recall the rationales why changes were carried out, information has to be extracted from either proprietary documentations or software versioning systems. In this chapter, we describe a process for the recurring and sustainable discovery, handling, and treatment of quality defects in software systems. An annotation language is presented that is used to store information about quality defects found in source code and that represents the defect and treatment history of a part of a software system. The process and annotation language can not only be used to support quality defect discovery processes, but is also applicable in testing and inspection processes.


2014 ◽  
Vol 42 (2) ◽  
pp. 26-29 ◽  
Author(s):  
Robert M. Randall

Purpose – Explains how companies that are seeking to implement rapid innovation can adopt the Agile software development approach. In Agile, self-organizing teams work in short cycles called “sprints” and develop the features to enable the product to continuously evolve in the light of the experience they gain and through customer feedback. Design/methodology/approach – For insight into how Agile is being implemented at a leading software services firm with clients in hundreds of industries, Strategy & Leadership asked Rob Purdie, Agile Practice Lead for the IBM Design Lab, how Agile software development methods were contributing to the success of IBM's key digital marketing initiatives. Findings – The traditional approach to software development is to define, design, develop and test everything – before delivering anything. With Agile, managers can reduce waste by prioritizing features based on relative business value, evaluating and re-designing as the project proceeds. Practical implications – Agile requires leaders and teams to work and learn through problems, designs and options in an open and transparent environment. It places new demands on technical leaders in terms of negotiation and planning skills. Originality/value – Managers outside the software industry should note that Agile/Scrum is likely to be increasingly essential to the future of product development and manufacturing. Nowadays many products for consumers and businesses include embedded software systems, so developing products in the future will require deeper collaboration across multiple engineering disciplines and marketing teams and familiarity with the Agile approach.


Sign in / Sign up

Export Citation Format

Share Document