150,99 €
AGILE SOFTWARE DEVELOPMENT A unique title that introduces the whole range of agile software development processes from the fundamental concepts to the highest levels of applications such as requirement analysis, software testing, quality assurance, and risk management. Agile Software Development (ASD) has become a popular technology because its methods apply to any programming paradigm. It is important in the software development process because it emphasizes incremental delivery, team collaboration, continuous planning, and learning over delivering everything at once near the end. Agile has gained popularity as a result of its use of various frameworks, methods, and techniques to improve software quality. Scrum is a major agile framework that has been widely adopted by the software development community. Metaheuristic techniques have been used in the agile software development process to improve software quality and reliability. These techniques not only improve quality and reliability but also test cases, resulting in cost-effective and time-effective software. However, many significant research challenges must be addressed to put such ASD capabilities into practice. With the use of diverse techniques, guiding principles, artificial intelligence, soft computing, and machine learning, this book seeks to study theoretical and technological research findings on all facets of ASD. Also, it sheds light on the latest trends, challenges, and applications in the area of ASD. This book explores the theoretical as well as the technical research outcomes on all the aspects of Agile Software Development by using various methods, principles, artificial intelligence, soft computing, and machine learning. Audience The book is designed for computer scientists and software engineers both in research and industry. Graduate and postgraduate students will find the book accessible as well.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 578
Veröffentlichungsjahr: 2023
Cover
Series Page
Title Page
Copyright Page
Preface
1 Agile Software Development in the Digital World – Trends and Challenges
1.1 Introduction
1.2 Related Work
1.3 Agile Architecture Trends in the Digital World
1.4 Challenges Faced in the Digital World Through Agile Software Development
1.5 Generic Guidelines to Improve the Agile Transformation in Digital World
1.6 Conclusion and Future Perspective
References
2 Agile Framework Adaptation Issues in Various Sectors
2.1 Introduction
2.2 Agile Followers
2.3 Proposed Work
2.4 Resolution Matrix
2.5 Conclusion and Future Work
References
3 Vulnerability Assessment Tools for IoT: An Agile Approach
3.1 Introduction
3.2 Agile Methodology: SCRUM
3.3 Scrum Agile Benefits for IoT
3.4 Critical Factors for Implementing Agile Methodology
3.5 Conclusion
References
4 Interoperable Agile IoT
4.1 Introduction
4.2 Agile Software Development
4.3 Internet of Things (IoT)
4.4 Agile–IoT Project for Interoperability
4.5 Agile–IoT Project for Smart Domains
4.6 INTER-IoT Framework for Interoperability
4.7 Conclusion
References
5 Functional and Non-Functional Requirements in Agile Software Development
5.1 Introduction
5.2 Agile Requirements Gathering
5.3 Types of Requirements
5.4 Functional Requirement Gathering
5.5 Non-Functional Requirement Gathering
5.6 Testing Functional and Non-Functional Requirements
5.7 Conclusion and Future Scope
References
6 Minimizing Cost, Effort, and Implementation Complexity for Adopting Security Requirements in an Agile Development Process for Cyber-Physical Systems
6.1 Introduction
6.2 Literature Review
6.3 Proposed Methodology
6.4 Conclusion
References
7 A Systematic Literature Review on Test Case Prioritization Techniques
7.1 The Motivation for Systematic Review
7.2 Results
7.3 What Subject Systems Have Been Used to Evaluate Test Case Prioritization Techniques? What is the Type of Programming Platform for Subject Systems?
7.4 Research Gaps
References
8 A Systematic Review of the Tools and Techniques in Distributed Agile Software Development
8.1 Introduction
8.2 Literature Review
8.3 Techniques for DASD
8.4 Tools for DASD
8.5 Conclusion
References
9 Distributed Agile Software Development (DASD) Process
9.1 Introduction
9.2 Distributed Software Development
9.3 Distributed Agile Software Development Team
9.4 Scrum in Global Software Development (GSD)
9.5 Tools and Techniques for Agile Distributed Development
9.6 Conclusion
References
10 Task Allocation in Agile-Based Distributed Project Development Environment
10.1 Introduction
10.2 Task Allocation
10.3 Machine Learning-Based Task Allocation Model
10.4 Conclusion
References
11 Software Quality Management by Agile Testing
11.1 Introduction
11.2 A Brief Introduction to JMeter
11.3 Review of Literature
11.4 Performance Testing Using JMeter
11.5 Proposed Work
11.6 Results and Discussions
11.7 Conclusion
References
12 A Deep Drive into Software Development Agile Methodologies for Software Quality Assurance
12.1 Introduction
12.2 Background Work
12.3 Understanding Agile Software Methodologies
12.4 Agile Methodology Evaluation Framework
12.5 Agile Software Development – Issues and Challenges
12.6 Conclusion
References
13 Factors and Techniques for Software Quality Assurance in Agile Software Development
13.1 Introduction
13.2 Literature Review
13.3 Agile Factors in Quality Assurance
13.4 Quality Assurance Techniques
13.5 Challenges and Limitations of Agile Technology
13.6 Conclusion and Future Scope
References
14 Classification of Risk Factors in Distributed Agile Software Development Based on User Story
14.1 Introduction
14.2 Software Risk Management
14.3 Literature Review
14.4 User Story-Based Classification of Risk Factors in Distributed Agile Software Development
14.5 Future Scope
14.6 Conclusion
References
15 Software Effort Estimation with Machine Learning – A Systematic Literature Review
15.1 Introduction
15.2 Method
15.3 Result
15.4 Discussion
15.5 Conclusion
15.6 Future Scope
References
16 Improving the Quality of Open Source Software
16.1 Introduction
16.2 Literature Review
16.3 Research Issues
16.4 Research Method and Data Collection
16.5 Results and Discussion
16.6 Conclusion and Future Scope
References
17 Artificial Intelligence Enables Agile Software Development Life Cycle
17.1 Introduction
17.2 Literature Survey
17.3 Proposed Work
17.4 Conclusion
References
18 Machine Learning in ASD: An Intensive Study of Automated Disease Prediction System
18.1 Introduction
18.2 Overview of ML
18.3 Case Study
18.4 Conclusion
References
Index
End User License Agreement
Chapter 1
Table 1.1 Agile methodology frameworks for software development.
Table 1.2 Summary of agile requirement engineering challenges and actions.
Table 1.3 Summary of challenges for small to mid-scale and large-scale agile p...
Chapter 2
Table 2.1 Need matrix.
Chapter 5
Table 5.1 Functional versus non-functional requirements.
Chapter 6
Table 6.1 Existing security methods.
Chapter 7
Table 7.1 Research questions.
Table 7.2 Techniques wise distribution of articles.
Table 7.3 Subject programs in literature.
Table 7.4 Evaluation criteria for prioritization in MBT.
Table 7.5 Subject programs for model based prioritization.
Table 7.6 Parameters of object-oriented prioritization.
Chapter 10
Table 10.1 Different agile approaches and their working mechanisms.
Chapter 11
Table 11.1 Parameters used for performance testing of Google and Yahoo.
Table 11.2 Aggregate report results for Google and Yahoo.
Chapter 12
Table 12.1 Evaluation framework for Extreme Programming (XP).
Table 12.2 Evaluation framework for Scrum.
Table 12.3 Evaluation framework for Lean Development (LD).
Table 12.4 Evaluation framework for crystal methodology.
Table 12.5 Evaluation framework for Kanban.
Table 12.6 Evaluation framework for Feature Driven Development (FDD).
Table 12.7 Evaluation framework for DSDM.
Chapter 13
Table 13.1 Success factors.
Table 13.2 Failure factor.
Chapter 14
Table 14.1 Risk category: Software development life cycle.
Table 14.2 Risk category: Project management.
Table 14.3 Risk category: Communication.
Table 14.4 Risk category: Technology-based.
Table 14.5 Risk category: External stakeholder.
Table 14.6 Risk category: Group awareness.
Table 14.7 User story-based classification of risk factors.
Chapter 15
Table 15.1 Journals and proceedings from conferences that have been selected.
Table 15.2 Excluded articles details.
Table 15.3 The finding of each author.
Table 15.4 Author affiliation details.
Table 15.5 Sources looked up for the years 2010 to 2021 (including articles up...
Chapter 16
Table 16.1 Smelly and non smelly classes in Eclipse.
Table 16.2 Selected metrics and quality attribute.
Table 16.3 Area under curve (ROC) for Eclipse.
Chapter 18
Table 18.1 Sample dataset.
Chapter 1
Figure 1.1 Agile software development life cycle.
Figure 1.2 The causes of project failure.
Figure 1.3 The agile implementation rate over projects.
Figure 1.4 Generic guidelines for improving agile transformation in the digita...
Chapter 3
Figure 3.1 IoT with agile practices.
Figure 3.2 Agile benefits for IoT.
Figure 3.3 Critical factors for implementing Agile practices.
Chapter 4
Figure 4.1 Traditional method.
Figure 4.2 Agile functionality [6].
Figure 4.3 Division of team members in Scrum process [7].
Figure 4.4 Scrum process [8].
Figure 4.5 XP methodology.
Figure 4.6 ASD methodology [8].
Figure 4.7 DSDM methodology.
Figure 4.8 Five-stage process of feature-driven development.
Figure 4.9 Internet of everything [16].
Figure 4.10 Agile-IoT pillars.
Figure 4.11 Pilot project milestone in AGILE-IoT project.
Figure 4.12 Interoperable agile INTER-IoT framework [23].
Chapter 5
Figure 5.1 Types of requirements.
Chapter 6
Figure 6.1 Agile development frameworks and methodologies.
Figure 6.2 Cost and time relation to apply security patches in software develo...
Figure 6.3 Proposed secure agile development methodology.
Figure 6.4 Impact of earlier avoidance and minimization through our methodolog...
Figure 6.5 Three stages of our proposed methodology.
Chapter 7
Figure 7.1 Publication trend.
Chapter 8
Figure 8.1 https://monday.com/ [10].
Figure 8.2 nTask [11, 21].
Figure 8.3 Jira [12].
Figure 8.4 ActiveCollab [13].
Figure 8.5 PivotalTracker [14].
Figure 8.6 Clarizen [15].
Figure 8.7 AxoSoft [16].
Figure 8.8 MeisterTask [17].
Figure 8.9 GitLab [18].
Figure 8.10 ProductBoard [20].
Figure 8.11 ZohoSprints [22].
Figure 8.12 TaskWorld [24].
Figure 8.13 CoSchedule [26].
Figure 8.14 Nostromo [27].
Chapter 9
Figure 9.1 Distributed agile teams.
Figure 9.2 Depiction of scrum process.
Chapter 10
Figure 10.1 Steps followed during SDLC.
Figure 10.2 Machine learning-based task allocation model.
Chapter 11
Figure 11.1 Performance testing process.
Figure 11.2 Listener-view result tree for Google Test Plan.
Figure 11.3 Listener-view result tree for Yahoo Test Plan.
Figure 11.4 Listener-aggregate graph for Google Test Plan.
Figure 11.5 Listener-aggregate graph for Yahoo Test Plan.
Chapter 13
Fig. 13.1 Agile process.
Fig. 13.2 Categorization of quality assurance techniques.
Chapter 14
Figure 14.1 Steps in risk management.
Figure 14.2 Steps in risk identification.
Figure 14.3 Risk assessment matrix using qualitative risk analysis.
Figure 14.4 Steps in risk analysis.
Figure 14.5 Risk management and control.
Figure 14.6 Risk monitoring.
Chapter 15
Figure 15.1 Year wise publication details.
Figure 15.2 Top 10 publications.
Figure 15.3 Top 10 authors.
Chapter 16
Figure 16.1 ROC curves for application of NN MLP model on four versions of Ecl...
Chapter 17
Figure 17.1 Artificial Intelligence enables Agile software development life cy...
Chapter 18
Figure 18.1 Machine learning (ML) steps.
Figure 18.2 Supervised learning.
Figure 18.3 Unsupervised learning.
Figure 18.4 Artificial neural network (ANN) diagram.
Figure 18.5 K-Means clustering
Figure 18.6 Agile menifesto.
Figure 18.7 Agile software development procedure.
Figure 18.8 Waterfall model vs. Agile software development procedure.
Figure 18.9 Waterfall model vs. Agile software development (ASD).
Figure 18.9 Methodology diagram.
Figure 18.10 The confusion matrix and F1-score accuracy curve.
Figure 18.11 GUI of automated disease predicting system.
Cover Page
Series Page
Title Page
Copyright Page
Preface
Table of Contents
Begin Reading
Index
WILEY END USER LICENSE AGREEMENT
ii
iii
iv
xv
xvi
xvii
xviii
xix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
Scrivener Publishing100 Cummings Center, Suite 541JBeverly, MA 01915-6106
Publishers at ScrivenerMartin Scrivener ([email protected])Phillip Carmical ([email protected])
Edited by
Susheela Hooda
Vandana Mohindru Sood
Yashwant Singh
Sandeep Dalal
and
Manu Sood
This edition first published 2023 by John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, USA and Scrivener Publishing LLC, 100 Cummings Center, Suite 541J, Beverly, MA 01915, USA© 2023 Scrivener Publishing LLCFor more information about Scrivener publications please visit www.scrivenerpublishing.com.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, except as permitted by law. Advice on how to obtain permission to reuse material from this title is available at http://www.wiley.com/go/permissions.
Wiley Global Headquarters111 River Street, Hoboken, NJ 07030, USA
For details of our global editorial offices, customer services, and more information about Wiley products visit us at www.wiley.com.
Limit of Liability/Disclaimer of WarrantyWhile the publisher and authors have used their best efforts in preparing this work, they make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation any implied warranties of merchant-ability or fitness for a particular purpose. No warranty may be created or extended by sales representatives, written sales materials, or promotional statements for this work. The fact that an organization, website, or product is referred to in this work as a citation and/or potential source of further information does not mean that the publisher and authors endorse the information or services the organization, website, or product may provide or recommendations it may make. This work is sold with the understanding that the publisher is not engaged in rendering professional services. The advice and strategies contained herein may not be suitable for your situation. You should consult with a specialist where appropriate. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read.
Library of Congress Cataloging-in-Publication Data
ISBN 978-1199639-5
Cover image: Pixabay.ComCover design by Russell Richardson
Agile Software Development (ASD) has become a popular technology because its methods apply to any programming paradigm. It is important in the software development process because it emphasizes incremental delivery, team collaboration, continuous planning, and learning over delivering everything at once near the end. Before finalizing anything, Agile goes through several iterations based on feedback. As a result, the process becomes more dynamic because everyone is working toward a common goal. Agile has gained popularity as a result of its use of various frameworks, methods, and techniques to improve software quality. Scrum is a major agile framework that has been widely adopted by the software development community.
Metaheuristic techniques have been used in the agile software development process to improve software quality and reliability. These techniques not only improve quality and reliability but also test cases, resulting in cost-effective and time-effective software. However, many significant research challenges must be addressed to put such ASD capabilities into practice. With the use of diverse techniques, guiding principles, artificial intelligence, soft computing, and machine learning, this book seeks to study theoretical and technological research findings on all facets of ASD. Also, it sheds light on the latest trends, challenges, and applications in the area of ASD.
This book will benefit the software development community by providing conceptual and technological solutions to problems that commonly arise when developing software. Furthermore, the 18 chapters herein were written by eminent experts in the fields of software testing, quality, and reliability in ASD. Following is a summary of the information presented in each chapter of the book.
Chapter 1
provides a theoretical foundation for ASD and discovers problems and challenges that small, medium and large agile projects face when it comes to requirement engineering, and structuring probable proposals for improving the overall RE process. The goal of this chapter is also to discover the challenges of putting Agile into reality in the digital era.
Chapter 2
sheds light on issues concerning the adaption of the Agile framework in various sectors. The issues found in various sectors could be resolved by addressing a need matrix, which will list a need of a particular sector, and a resolution matrix, which will list all proposed solutions for all listed needs in the need matrix. Also, different use cases are presented for more clarity on the resolution part in different sectors.
Chapter 3
discusses the agile methods adopted to develop software projects dealing with growing vulnerabilities and threat implications. This adoption is necessary because agile methods are iterative in nature and facilitate service/product delivery in smaller batches, allowing developers to add security activities to software development via agile methodologies. Moreover, the reiterative aspect of this approach encourages the expansion of software that can very well come up with growing threat variants and vulnerabilities.
Chapter 4
focuses on the importance of agile methodology in IoT. It highlights the functionalities of the AGILE-IoT project funded by the European Union and five pilot projects such as pollution monitoring, retail service, port-area monitoring, quantified self-application, and cattle monitoring. This chapter also discusses the interoperability of the AGILE-IoT project.
Chapter 5
discusses the concepts of software requirements and their types (functional and non-functional requirements). It presents the various ways of gathering functional and non-functional requirements and testing them in the context of ASD.
Chapter 6
presents the ASD framework and methodology and discusses the time and cost relation during software development. This study proposes a secure ASD methodology that includes three stages, namely aggressive training, prototype development stage, and actual development stage and maintenance.
Chapter 7
caters to a systematic literature review on test case prioritization using agile methodology. The study concludes that the field of prioritization has been explored considerably and many prioritization techniques have evolved. However, there are still possibilities for improvements, especially in implementation and analysis. The study also highlights the current status of prioritization and provides a comparative analysis with similar works.
Chapter 8
aims to provide deeper insights into the most current agile planning tools used by distributed agile professionals. The agile tools studied and compared are both open-source as well as proprietary tools. This chapter discusses the benefits of distributed ASD and the various distributed agile planning tools that are available to resolve these concerns.
Chapter 9
sheds light on the concept of distributed ASD, its benefits, and the challenges which are faced by an agile software team during the software development process. It also discusses the various tools and techniques which are being currently used for agile development. Scrum is also discussed in detail in this chapter.
Chapter 10
introduces an unsupervised learning-based model for assisting in project development activities such as task allocation and backlog prioritization. It also discusses how machine learning-based mechanisms can be applied at their lowest level to every activity of project management so that the processes of software project management become more useful, and may also help in faster, hassle-free delivery of the finished product.
Chapter 11
sheds light on the usage of the JMeter software tool in ASD. The authors also suggest that JMeter may be an extremely useful tool for evaluating how to modify your web application server setup to decrease bottlenecks and boost performance.
Chapter 12
analyzes software development agile methodologies from the viewpoint of software quality assurance and presents a technique to understand similarities in diverse agile processes. It also covers the various issues and controversies in ASD that are the grey areas of agile methodology related to innovative thinking, the cost of projects developed using agile methodologies, etc.
Chapter 13
provides a detailed introduction to ASD, addresses its importance in the information technology sector, and presents a comprehensive overview of the factors and techniques followed by challenges and limitations of agile technology.
Chapter 14
discusses the importance of software risk management in distributed agile software development (DASD) and also reviews the existing literature and presents risk factors associated with DASD. It further presents the current challenges in the existing literature and proposes a novel user story-based DASD risk classification technique, in addition to discussing the scope of improvement in DASD risk management that will help both practitioners and researchers.
Chapter 15
assesses the present state of research trends and patterns of software effort estimation with machine learning techniques. It also evaluates the effect of numerous factors, such as cost and effort, concerning the accuracy of the various models related to effort estimation.
Chapter 16
aims to develop a metrics-based code smells prediction model based on deep learning neural network technique. The research methodology proposed in this chapter is based upon the field of deep learning, which is an integrated field of machine learning associated with algorithms aroused by the arrangement and similarity of the brain, called artificial neural networks.
Chapter 17
presents a plan and fosters a specialist framework to help the product designer in the total programming advancement life cycle with various space experts like telecom, banking, coordination, medical services, satellite, and a lot more information procurement. This chapter also contains the study of artificial intelligence, along with a brief discussion of its pros and cons.
Chapter 18
introduces a module that was developed with the help of machine learning, which is very helpful in an emergency when a patient requires an immediate decision. Here, Agile software is designed to be very effective in detecting a particular disease more efficiently. In this specific system, preventing errors and malfunctions has been proven to be 95% effective in the medical field.
In closing, we would like to express our gratitude to our co-authors for their invaluable contributions, without which this book could not have been written. Also, our sincere thanks go to the reviewers for the timely manner in which they provided their insightful remarks. Last but not least, we give thanks to God for providing us with the wisdom and strength to complete this work effectively despite the challenging times.
We anticipate that the high-caliber research presented in this book will be useful to science, technology, and mankind.
Dr. Vandana Mohindru Sood
Assistant Professor, Department of Computer Science and Engineering, Chitkara University, Rajpura, Punjab, India
Dr. Ravindara Bhatt
Assistant Professor in the Department of Computer Science and Engineering, Chitkara University, Rajpura, Punjab, India
Dr. Yashwant Singh
Associate Professor & Head, Department of Computer Science & Information Technology, Central University of Jammu, J & K, India
Dr. Manu Sood
Professor, Department of Computer Science, Himachal Pradesh University, Shimla, Himachal Pradesh, India
Dr. Sandeep Dalal
Assistant Professor, Department of Computer Science and Applications, Maharshi Dayanand University, Rohtak, Haryana, India
January 2023
Kapil Mehta1 and Vandana Mohindru Sood2*
1Department of Computer Science & Engineering, Chandigarh Group of Colleges, Mohali, Punjab, India
2Chitkara University Institute of Engineering and Technology, Chitkara University, Punjab, India
Traditional businesses face fast-changing client needs, increased marketplace changing aspects, and the constant appearance of new technological progressions in an increasingly digital world. Faced with the demands of a digital world, businesses are attempting to embrace agile methodologies on a bigger level to satisfy these demands. Researchers were compelled to design new techniques and methodologies to fulfill marketing needs as company requirements grew rapidly. Traditional-driven development approaches, which emphasize requesting and detailing requirements that take extra time in comparison to changing dynamics of the market, have been superseded by Agile methodology. On the other side, there is a need for a development process where customers can interact and collaborate in teams. Instead of the benefits of agile development and new tools introduction, various challenges are required to be discussed. In the agile software development process, various techniques have been used for improving software quality and reliability. The goal of such techniques is to improve test cases, which leads to cost-effective and time-effective software. Particularly, various theoretical perspectives have been provided by researchers on agile software development which contribute rich insights. This work provides a theoretical foundation for ASD. Agile has given an adequate solution to varying requirements of customers in the marketplace; it is built on iterative enhancement, with each line representing its minimal size and independent Software Development Life Cycle (SDLC). Essentially, using agile in the right way necessitates a thorough comprehension of the technique. Despite their benefits, which included a fresh strategy, the ability to adapt to changes fast, new tools, coordination, and cooperation concepts, several obstacles arose, necessitating their resolution. The goal of this article is to discover challenges of putting Agile into reality in digital era. Challenges necessitate answers for agile and its techniques towards progress, therefore novel trends and expansion technologies will now be mirrored in Agile.
Keywords: Agile software development, agile research, software development life cycle, agile methodology, software quality, reliability
In today’s world, the growth of information and technology continues to gain strength and speed as it embarks on an expedition of digital transformation, posing a significant challenge in terms of how to develop individuals with digital and IT capabilities. The 21st-century skills encompass 16 aspects [1–3], which include required traits of communication as well as interpersonal skills, according to the World Economic Forum Survey [4] analyzing the demand for workforce and technological approaches in large scale organizations worldwide. In the digital age, technology becomes a multiplier [5]. The distinction between the development as well as production environments is increasingly blurred as a result of modern practices, technology, and tools, resulting in a combined ecosystem. In the digital age, agile architecture scales to grouped ecosystems, which can be influenced by novel techniques and approaches.
Agile is a scalable technique that gains a lot of traction in the software development world due to its major rate of success and impressive output. Agile software development (ASD) outpaces old-style development methodologies and procedures for a variety of details, including varying customer needs, business requirements, and flexibility. “Requirement engineering” (RE) is critical in software development since the overall effectiveness of the product is dependent on the requirements accuracy acquired during engineering phase [6]. As a result, when the nature of the demand changes, acquiring, analyzing, comprehending, and managing needs is not an easy task [7]. During the progress from start to end, the active character of needs and consideration of project conclusion becomes vital. Hence, change consideration is an important aspect that is employed in a big proportion of projects after maintenance.
As demonstrated in Figure 1.1, the agile methodology enables continuous development and testing throughout the project’s development of software life cycle which combines iterative aspect and levelled process concepts (SDLC). The focus of swiftly delivering a workable software solution is on process adaptability and customer satisfaction. The project is divided into incremental builds of small size by using the Agile SDLC. The customer may decide whether the outcome of agile SDLC meeting the expectations or not. The difficulty is that there are no fixed requirements to predict resources and cost of development as one of its flaws.
Figure 1.1 Agile software development life cycle.
This article provides a thorough analysis as well as relevant inferences and references. The goal of this article is to discover problems and challenges that small-, mid- and large agile projects face when it comes to requirement engineering, and to structure probable proposals for improving the overall literature RE process. We can evaluate and analyze the background that will be analyzed and evaluated to make a recommendation for future work. The post intends to address the aforementioned issues using recently published publications in the several ages using agile development, having the goal on the requirement engineering process, as well as finding challenges related to agile engineering activities/practices.
The digital world offers new issues that necessitate a creative approach to identifying effective solutions while keeping the larger ecosystem in mind. In this regard, current agile architecture trends and practices in the digital world must be thoroughly examined. No study systematically studies trends and techniques of agile in the digital era, based on available facts and statistics.
This chapter is organized as follow: Section 1.1 introduces the concept of Agile Software Development. Section 1.2 characterizes the literature background. Section 1.3 elaborates on the trends in the digital world that offers new issues that necessitate a creative approach for identifying effective solutions Section 1.4 emphasizes the challenges faced in a digital world through agile software development. Section 1.5 presents the generic guidelines to improve the agile transformation in a digital world. Section 1.6 concludes the chapter.
In studies on the large-scale application of agile methodologies, the concept of “agile” [8] and how large-scale agile development may be conceived are frequently explored [9]. Extensive application of agile methods includes a) agile methods use in large enterprises, b) agile methods use in extensive projects or teams, c) agile methods use in multiple teams, and d) the use of agile techniques and philosophies in extensive firms as a whole. Agile Software Development is a concept that examines and synthesizes the intangible framework for a learning process to improve team capabilities through project-based learning. Agile also examines suitability of a learning management approach for computer graduates, which encourages collaboration through project-based learning. The following phases are central to the literature.
Teamwork development is a flexible, lively, and periodic strategy involving team members’ behaviors working together for achieving a mutual goal. Working in Teams is vital for successful performance, because it governs how tasks and goals are achieved in a group setting [10].
Israt Fatema and Kazi Sakib [11] recommended the use of critical inquiry in their observations “Factors Influencing Productivity of Agile Software Development Teamwork: A Qualitative System Dynamics Approach.” In an Agile software development approach, workgroup productivity impacts overall project performance. As a result, investigating the productivity of team members was of interest. Because agile teams are self-managed, they should be educated to evaluate and achieve productivity aspects frequently. Only if all of the variables are managed and monitored at the same time will productivity development programs be effective.
Project-based learning is an education style that exposes students to real-world scenarios such as study, investigation, research, demonstration, production, and development for them to generate a major piece of work that they can apply in the real world [12]. The following are the characteristics of PJBL:
Interdisciplinary – PJBL is a program that focuses on involving students in real-world situations. Because practical difficulties are hardly resolved using data or abilities from a solitary topic area, this is an interdisciplinary approach.
Rigorousity – Not simply memory or identification, but the submission of skills required in PJBL. PJBL is more complicated than rote learning, which is focused on a single fact. Students applying a range of theoretical knowledge in novel circumstances can ensure that. Scholars follow a process that begins with inquiry when working on a project. The inquiry leads to more in-depth learning, not only in terms of academic subject but also in terms of applying that content in real-world circumstances [
13
].
Student Centric Approach – The teacher’s role in PJBL evolves from material delivery to facilitation and project management. Students work autonomously in the PJBL process than they would in a regular classroom, with the trainer only stepping in to help when necessary. Students are motivated to take their self-decision about the completion of a task and practice their comprehension.
Agile Scrum Software Development – In the early 1990s, to manage development on complicated projects, Scrum is a process framework. Scrum isn’t a strategy, method, or set of principles. Somewhat, it is an agenda that may be used to implement multiple procedures and techniques. Scrum highlights the comparative effectiveness of managing product and work management systems, allowing for continuous improvement of the product, team, and operating environment [
14
]. The Scrum framework is made up of Scrum Teams, as well as responsibilities, events, objects, and rules. People must improve their ability to live by these five qualities to implement Scrum effectively: Courage, Commitment, Focus, Openness, and Respect. Individuals make a personal commitment to the Scrum Team’s objectives.
Figure 1.2 The causes of project failure.
Traditional and linear development techniques have significant disadvantages as compared to agile software development. It is adequate to obtain components for deliberation that affects the process of development [15] but examine for a moment whether all of the factors affecting the system must be obtained. The response would be “no” empirically. An adaptive method should be utilized to deal with change, uncertainty, and unknown elements.
Many sources, obstacles, and unsuccessful factors of software research were highlighted in Standish Group International CHAOS Survey. According to studies, project development problems increase by 37% from the demand phase, as shown in Figure 1.1 [16, 17]. The issues and keys of condition traceability in ASD have been discussed, as well as various ARE (agile requirement engineering) principles. The popular software projects do not succeed, according to [18], because of the worst requirements administration and frequent obstacles that lead to project failure as shown in Figure 1.2.
In light of the digital economy’s issues and industry-academic collaboration, this segment evaluates the prevalent agile software development approaches for identifying distinctiveness and added value. We’ll look at the following frameworks: Agile development methodologies include Extreme Programming (XP), Crystal methodology, Feature Driven Development (FDD), Kanban method, and Scrum. After a short-term overview of the most prominent agile methodologies for software development, Table 1.1 above summarizes each of these frameworks, containing team scope, responsibilities, iteration (sprint) length, issue, status of release, large project adaptability, and value-driven development, and iteration planning.
Table 1.1 Agile methodology frameworks for software development.
Parameter
Scrum
FDD
XP
Kanban
Crystal
Size of Team
Member size 3-9
Not Fixed
Maximum Twelve
Not Fixed
Variable Team Structure
Responsibility
Fixed Responsibilities contains: Scrum Master Product Author
Several may involve: Class Holder Feature Team Coder
Required: Customer Coder Variable: Tester Monitor
Project Leader Team Associate
Variable Roles: Executive Tester Team Associate Coordinative
Length of Iteration
Static and supreme One Month
Characteristics based Variable 2–10 days
Changed One to Two weeks
Constant movement
From week to four months
Release Announcement
Sprint End
Feature building
Constant Integration
Constant Delivery
Release strategy
Large adaptation of Project
Scaling Scrum for managing teams
Flowing the project topographies into lesser groups
Not Feasible
Appealing similar Method
Crystal transparent, yellow, orange, red and maroon
Planning of Iteration
Per sprint per size
Per feature per size
Release announcement Iteration planning
For each variant
Every step
Collaborative Interaction
Scrum functions Cross-functional team Self-managing Team
Communicate on documenting
Pair Coding
Optional Kanban meeting Customer Importance
Requires documenting Fast communication
In 1996, Extreme Programming (XP) was introduced [19]. Customer satisfaction is prioritized in this method, which is ensured by ongoing feedback. This strategy allows the software development team for responding changes in the program requirements as described by client [20]. It entails partnership between the customer and a development team of small size. The growth team consists of 2–10 people who work on software small components like an issue to for addressing a novel useful necessity.
The crystal technique is a light methodology with minimal documentation, organization, and writing requirements. It makes the procedure adaptable generically and flexibly. Conditioning on the project setting and team size, the adaption recommends different crystal approaches, including clear yellow shining, orange and red crystal [21]. Every methodology necessitates its own set of practices, procedures, and policies. The emphasis in this strategy is on human interactions, with process adaption based on what works best for the team, building on the finest practices in software engineering.
The Kanban approach [22] provides a visual SDLC workflow management framework. The three primary practices of Kanban are visualization of work in process limitation, and enhancement of workflow. Limiting work in the process means all pending tasks are completed before moving on to the next stage of the process.
In business, the most utilized framework of agile is Scrum. It is worth noting that it’s the framework of agile listed in the area of the world’s most famous job search sites [23]. This popularity stems to improve the process of software development, as well as the rapidity with which it is delivered and the quality of the program.
The digital world offers new issues that necessitate a creative approach to identifying effective solutions while keeping the larger ecosystem in mind. In a digital world, current agile architecture trends and practices should be thoroughly evaluated. There has never been a systematic research studies trends and practices of agile architecture based on data availability. Several technological innovations are emerging that are having a substantial impact on agile architecture and design [24]:
Integration – new technologies and services must be able to link and integrate with existing technologies and services.
Micro-services – Such services are on the rise, with a slew of little add-ons, apps, and other specialized and specialized technologies and services enhancing user functionality, technology customization, and flexibility. Microservices are an important part of the evolutionary and revolutionary development chain for technologies, software, infrastructure, and consumers.
Digital Behaviors and Routines – Users will no longer need to shift systems and technologies since digital architecture and technology are becoming increasingly invisible and incorporated into their daily work. Many technologies are now speech or behavior activated, and they learn from the users’ behavior and routines, resulting in increased productivity through automation.
Agile Adaptation – Adaptation and anticipating user requirements are at odds. While many agile software and technology development cycles are adaptable, they also require a high level of creativity, invention, and foresight into future technologies, architecture, and software.
Speed – The increase in the speed with which technologies adapt and respond to user requirements and demands has been an important trend in technology-based evolution and revolution. As a result, many modern technologies and software are intrinsically flexible to user preferences to some extent and have some level of learning capability built-in, which accelerates their progress.
Continuous monitoring – Many modern technologies and applications are ‘linked to the base,’ allowing designers to collect real-time data about usage, issues, and, to a degree, demands. Furthermore, the capacity of designers to update technology or software on-the-fly and discreetly to the user is becoming increasingly popular. It has been discovered that this improves technological adaptability and learning.
The Systematic Literature Review (SLR) approach and the Kitchenham criteria [25] were used to experiment on the agile architecture trends and practices in the digital era. SLR is a technique for conducting secondary research based on the findings of primary research. The SLR procedure was used to specify the following: research topic, searching procedure, addition/prohibition criteria, quality valuation, information-gathering technique, and analytic method. The purpose is to find answers to the below mentioned research-based questions (RQ):
RQ1-What are the recent trends in Agile architecture, given the rise of multiple software engineering methodologies such as Continuous, Lean, and Evolutionary?
RQ2-In a modern digital context, what are the best approaches for building and executing Agile architecture?
A greatly expanded project is defined by a company objective or by complete measures like the count of developers participating, the size of the budget, the complexity, or the count of developing expanded teams [25]. Agile adoption is quickly replacing traditional approaches, and the positive performance and possible achievement rate of agile adoption in small grouped projects piqued curiosity of teams of software development and the agile adoption by industry in large projects. The authors illustrate how the environment aids and supports distributed agile frameworks in [26].
The large-scale adoption of software project coding may provide management of project issues. Despite challenges, the implementation of agile at a broad stage is fast expanding [27, 28].
According to the analysis by Jørgensen [29], the results of many software projects have been reviewed, and they show that the implementation rate of agile methodology is high in various ranges of projects. The results of Projects as compared to agile application rate are shown in Figure 1.3.
On the other hand, adopting agile at scale has significant limits in some circumstances, for example, SCRUM is best suited for short projects with less team size, and used on larger projects which slows down expansion. Abrar et al. [30] identified 21 promoters for large-scale agile implementation. Furthermore, they were analyzed and classified, for example, into essential factors, using predetermined criteria. Studies, questionnaires, and an experiential investigation of the availability and assistance of agile software development experts validate the identified motivators. The challenges for the SCRUM technique in a distributed context were identified by Khalid et al. [31].
Figure 1.3 The agile implementation rate over projects.
Apart from the specific field of large-scale agile transformations, various challenges are a recurring issue in agile techniques study. Examples include exploring agile method adaption and building on development related to process customer, developer, and organization-related difficulties for a better understanding of organizations’ motives to modify agile techniques [32]. Furthermore, earlier studies discuss the difficulties of applying agile techniques in enterprises SD departments, addressing concerns like selecting an effective agile method and the problem of a lack of developer competence [33]. Current empirical investigations, however, provide useful information on this subject. This article provides a thorough analysis as well as relevant decisions and suggestions. The goal of the study is to discover problems and challenges that small-, mid-and large agile projects face when it comes to requirement engineering, which designs various suggestions for improving the agile process based on literature. Table 1.2 lists the public challenges encountered in agile projects at the time of the requirement engineering phase, as well as their actions.
Table 1.2 Summary of agile requirement engineering challenges and actions.
Requirement engineering (phase)
Agile activities
Challenges
Effect
Elicitation
Questionnaire and Interview
Problematic scoping, mistake
requirement analysis is affected by the ill-defined requirements.
Elicitation
Brainstorming
Group Brainstorming
Ambiguity
Elicitation
Prototyping
Safety, Scalability, and Strength
Maintenance issues
Investigation
Prioritization
Idea Conflicts
Uncertainty
Documenting
User feedback
Absence of customers
Misleading code
Documenting
Product Accumulation
Reduced documentation
Knowledge Loss
Authentication
Client stories
Unavailability of proper prototyping issues
Reduced Quality
Managing
Change control
Tool selection
Time Consumption
Managing
Traceability of Requirements
Ineffective requirement management
Non-traceability
Although agile implementation addresses the shortcomings of the serial paradigm, it nevertheless has limitations [34]. The problems of Requirements Engineering are incompatible interfacing, non-functional requirement neglect, lack of clarity, and Requirements Engineering activities. Agile techniques reduced a solid framework for sufficient citation and documenting user requirements, and because requirements are variable, labor must be redone. De Lucia and Qusef offered few rules for their long term because a lack of good documentation could cause problems for the team. These criteria include assigning certain employees to write minimal documentation, modeling with computer tools, and developing reverse engineering procedures [35]. The challenges analyzed by the authors are presented in the Table 1.3:
Table 1.3 Summary of challenges for small to mid-scale and large-scale agile projects.
Requirement engineering (phase)
Challenges
Elicitation Requirements
Clarity issues, requirement prioritizing, and tricky scoping
Management Requirements
Prioritization, Absence of variable management, and adequate managing tools
Documentation Requirements
Absence of enough documentation, non-availability of customer representative
Validation Requirements
Non-availability of approaches or tools
Software businesses are concentrating on adopting agile approaches in disseminated environments known as distributed software development, due to rapid development rates and lower development costs [36]. The research focuses on identifying desired challenges and prioritization in an agile development context in a dispersed setting. To discover these problems, a literature review was undertaken, and they were then classified into four divisions: team, process, current technology, and management.
Agile methodologies are becoming increasingly popular in the software business due to their multiple advantages. If a predictable process model is employed in complicated projects of software development like supply chain management with unbalanced and variable requirements, implementation becomes complex [37]. Understanding and managing high-level needs are essential in large development initiatives. As a result, understanding and handling high-level needs are critical, as this is widely known that issues in requirements have an impact on quality.
The following are the issues with the software, according to Lee et al. [38]: (a) Due to scheduling slippage, it is seldom delivered on time, resulting in cancellation; (b) ineffective software that is unable to tackle the correct problem because the software requirement is incompatible with the need; (c) When employees depart or their interests shift, they become burnt out; and (d) modest adjustments take a lot of time and effort. Issues we discovered in the literature are listed below:
Less Direct Client/Stakeholder communication – The issue of requirement trackless is caused by less direct communication [
39
]. It can happen for a variety of reasons, including a lack of time, a distance element, a lack of client councils, and so on. Client engagement and presence have a direct impact on requirement change and validation from a business standpoint. Requirements are prioritized when users aren’t engaged in the process of decision-making process.
Solution – Direct conversation, questionnaires, and meetings should be performed to address this issue. When acquiring requirements from clients, avoid collecting long-term requirements and conducting lengthy formal interviews.
Reduced Documentation Focus – Shortage of sufficient reports can generate challenges for the development team as well as the issue with requirement tracking. Minimal documentation throughout the requirement gathering process leads to challenges such as a lack of staff assistance and no support for reverse engineering procedures [
40
].
Solution – Do some documentation, and pay more attention and care to the criteria, as it will help to trail, manage, and check them. As a result, the agile process and RE activities must be standardized.
Missing Ambiguity and Conflicting Requirements – The inconsistency of user stories and the multiple levels of abstraction generate issues. As a result, unclear criteria have a significant impact on quality and schedule. More rework in the future version due to a missing interface between requirements [
41
].
Solution – To accommodate the missing, confusing, and contradictory needs, more formal methods for requirement formulation are required. To integrate evolving requirements, use more explicit techniques to specify requirements. RE-COMBINE is a model used to formally express needs and is more adaptable to change.
Prototyping Issues – We can pick design thinking based on empathizing, defining, ideating, prototyping, and testing over traditional approaches. The usage of prototyping and agile development creates a misunderstanding regarding development speed among stakeholders. Too much coding in early prototyping generates concerns like excellence issues caused by the practice of code reusability in prototypes, and investors may be unwilling to adopt more scalable and resilient development cycles [
42
].
Solution – Prototyping should not include a lot of implementations. It is preferable for using paper prototyping rather than wizard prototyping, which saves time and eliminates user confusion by displaying a wizard prototype that you implemented quickly. In this scenario, paper prototyping will aid in a variety of ways, including acting as a design test before coding, being readily adjustable, and eliminating the specific technology variables.
Tacit Knowledge – Tacit knowledge is what one knows but can’t say; it’s what we’ve learned from personal experience and can be difficult to describe at times. Because this data is not specified in the requirement, transferring business information to the development team is difficult.
Solution – Tactic information is commonly reduced via direct conversation, observation, surveys, and interviews. The three aspects of domain experts, the conversion process, and the audience will assist in overcoming the tacit knowledge issue. Allowing practice for information distribution of both positive and negative experiences, will benefit team members and allow them to get from, as knowledge allocation is a significant achievement concern in the phase of development.
Changing Requirements – The produced product in a prior iteration may cause interface compatibility concerns due to changing client needs [
43
]. The agile project gets costly as requirements change, resulting in increasing project and maintenance costs. System failure is caused by a failure to manage to change needs.
Solution – ARCM-RM (agile requirement change management readiness model) was proposed consisting of primary modules: maturity, factor and valuation level. The prototype encourages worldwide software development for ARCMRM measurement and improvement.
Figure 1.4 Generic guidelines for improving agile transformation in the digital world.
Requirement Prioritization – Because investors are not participating in the process of decision-making and customers are not always available for daily meetings, prioritizing requirements in an agile approach after each step is difficult owing to the lack of technique.
Solution – In agile development, a methodology for prioritizing requirements builds a framework consisting of identification, verification, estimation, and prioritizing. The methodology offered will also assist in dealing with change at any phase of the software development.
Negligence of non-functional requirements – There is no approach for obtaining and evaluating non-functional requirements (NFRs), agile techniques, extreme programming, and SCRUM are famous because of yielding high-quality functional requirements. The excellence of the developed product is assessed after each iteration.
Solution – NORMATIC, a java-based simulation tool for non-functional requirement modeling in the process of agile development, is proposed. To implement the NFRs in agile projects, a planning and visualization approach is proposed [44–46]. By conducting experimentation on master’s students from the SED (software engineering department), we were able to examine the process of NFR elicitation and acquire encouraging results.
Many academics have provided a variety of guidelines and approaches, including agile implementation processes, agile principles, guidelines, and conventions for corporate distributed plans, among alternatives. The Figure 1.4 depicts some broad suggestions for improving the requirement engineering process, which will aid in incorporating agile development issues.
Requirement elicitation, clarification, analysis, prioritization, documentation, and decision are all major issues connected with agile Requirements Engineering activities. It has been claimed that the agile software development approach also mixes and ensures software security. The authors suggested a strategy for developing acceptably safe software that provides security assurance and claims to partially mitigate associated hazards. These discoveries represent obstacles to agile development success.
It has been remarked that the Agile implementation as a Scrum framework module is apt, as evidenced by the Strongly Agree grade, as an effect of their evaluation of the Learning Process Design in a digital world. This chapter emphasizes that Agile Software Development is adaptable, which allows students to maximize their learning capacity. Students are more forceful when they are motivated and stimulated to think systematically at every step. It encourages students to share their expertise while also strengthening relationships and friendships. The challenges and recommendations from the study may be utilized to improve the abilities and competencies of development organizations during agile software development.
Researchers interested in this field may find our findings useful as a starting point. It’s ideal for researchers who want to get involved in this subject, which necessitates realistic discoveries and studies employing several agile approaches including crystal and extreme programming. Conflicts and difficulties that occur after the procedure are non-stated. As a result, the study indicates that the agile domain is still in its early stages and that establishing standards and standardizing the process is key to achieving better results. There is a requirement for rules and uniformity in our industry.
1. Kanbul, S. and Uzunboylu, H., Importance of coding education and robotic applications for achieving 21st-century skills in North Cyprus.
Int. J. Emerg. Technol. Learn.
, 12, 1, 130–131, 2017.
https://www.onlinejournals.org/index.php/i-jet/article/view/6097/4264
.
https://doi.org/10.3991/ijet.v12i01.6097
.
2. Cavus, N. and Uzunboylu, H., Improving critical thinking skills in mobile learning.
Procedia Soc. Behav. Sci.
, 1, 1, 434–438, 2009.
https://doi.org/10.1016/j.sbspro.2009.01.078
.
3. Resnick, M., Kafai, Y., Maloney, J., Rusk, N., Burd, L., Silverman, B.,
A Networked, Media-Rich Programming Environment to Enhance Technological Fluency at After School Centers in Economically-Disadvantaged Communities
, Proposal to National Science Foundation, Cambridge, United States, 2003.
4. World Economic Forum,
New Vision for Education: Fostering Social and Emotional Learning Tthrough Technology
, pp. 4–5, 2016, retrieved from
http://bit.ly/2NWzer3
.
5. WEF & Accenture,
Digital Transformation Initiative
, 2017, Retrieved March 12, 2018 from:
https://www.accenture.com/t20170116T084450__w__/us-en/_acnmedia/Accenture/Conversion-Assets/WEF/PDF/Accenture-DTI-executivesummary.pdf
.
6. Ochodek, M. and Kopczynska, S., Perceived importance agile requirements engineering practices-a survey.
J. Syst. Softw.
, 143, 29–43, 2018.
7. Sebega, Y. and Mnkandla, E., Exploring issues in agile requirements engineering in the South African software industry.
Electron. J. Inf. Syst. Dev. Ctries
, 81, 1, 1–18, 2017.
8. Rolland, K.
et al.
, Problematizing agile in the large: Alternative assumptions for large-scale agile development.
39th International Conference on Information Systems
, Association for Information Systems (AIS), 2016.
9. Sharma, M. and Gupta, A.K., An algorithm for target detection, identification, tracking and estimation of motion for passive homing missile autopilot guidance, in:
Mobile Radio Communications and 5G Networks
, pp. 57–71, Springer, Singapore, 2021.
10. Sales, E., Shuffler, M., Thayer, A., Bedwell, W., Lazzara, E., Understanding and improving teamwork in organizations: A scientifically based practical guide.
Hum. Resour. Manage.
, 54, 4, 599–622, 2015.
11. Fatema, I. and Sakib, K., Factors influencing productivity of agile software development teamwork: A qualitative system dynamics approach.
24th Asia
-
Pacific Software Engineering Conference
, Nanjing, China, December 4–8, 2017, pp. 737–742, 2017,
https://doi.org/10.1109/apsec.2017.95
.
12. Bansal, A., Mehta, K., Arora, S., Face recognition using PCA and LDA algorithm.
2012 Second International Conference on Advanced Computing & Communication Technologies
, IEEE, 2012.
13. Mehta, K. and Kumar, Y., Implementation of efficient clock synchronization using elastic timer technique in IoT.
Adv. Math. Sci. J.
, 9, 6, 4025–4030, 2020.
14. Garg, R., Garg, M., Chadha, A., Mehta, K., Brain gate technology-an analysis.
Int. J. Adv. Sci. Technol.
, 28, 19, 890–93, Dec. 2019.
http://sersc.org/journals/index.php/IJAST/article/view/2676
.
15. Szalvay, V.,
An Iintroduction to Agile Software Development
, vol. 3, Danube Technologies, Bellevue, WA, 2004.
16. Arora, T. and Dhir, R., Geometric feature-based classification of segmented human chromosomes.
Int. J. Image Graph.
, 20, 01, 2050006, 2020.
17. Hussain, A., Mkpojiogu, E.O., Kamal, F.M., The role of requirements in the success or failure of software projects.
Int. Rev. Manage. Mark.
, 6, S7, 306– 311, 2016.
18. Kumar, S.A. and Kumar, T.A., Study the impact of requirements management characteristics in global software development projects: An ontology-based approach.
Int. J. Softw. Eng. Appl.
, 2, 4, 107, 2011.
19. Fojtik, R., Extreme programming in the development of specific software.
Procedia Comput. Sci.
, 3, 1464–1468, 2011. [CrossRef.]
20. Wells, D.,
Extreme Programming
, 2009, Extremeprogramming.org., [Online], Extremeprogramming, US. Available online:
http://www.extremeprogramming.org/
(accessed on 20 November 2020).
21. Jones, C.,
Software Methodologies: A Quantitative Guide
, Auerbach Publications, Boca Raton, FL, USA, 2017.
22. Zayat, W. and Senvar, O., Framework study for agile software development via scrum and Kanban.
Int. J. Innov. Technol. Manag.
, 17, 04, 2030002, 2020.
23. García-Barriocanal, E., Sicilia, M.A., Sánchez-Alonso, S., Cuadrado, J.J., Agile methods as problem-based learning designs: Setting and assessment, in:
Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM’18)
, Salamanca, Spain, October 24–26, 2018, Association for Computing Machinery, New York, NY, USA, pp. 339–346, 2018. [CrossRef.]
24. Dragičević, Z. and Bošnjak, S., Agile architecture in the digital era: Trends and practices.
Strategic Manage.
, 24, 2, 12–33, 2019.
25. Conboy, K. and Carroll, N., Implementing large-scale agile frameworks: Challenges and recommendations.
IEEE Softw.
, 36, 2, 44–50, 2019.
26. Lous, P., Tell, P., Michelsen, C.B., Dittrich, Y., Kuhrmann, M., Ebdrup, A., Virtual by design: How a work environment can support agile distributed software development, in:
Proceedings of the 2018 IEEE/ACM 13th International Conference on Global Software Engineering (ICGSE)
, IEEE, Gothenburg, Sweden, pp. 97–106, May 2018.
27. Moe, N.B. and Dingsøyr, T., Emerging research themes and updated research agenda for large-scale agile development: A summary of the 5th international workshop at XP2017, in:
Proceedings of the XP2017 Scientific Workshops
, Cologne, Germany, pp. 1–4, May 2017.
28. Fuchs, C. and Hess, T., Becoming agile in the digital transformation: The process of a large-scale agile transformation, in:
Proceedings of the 39th International Conference on Information Systems (ICIS 2018)
, San Francisco, USA, December 2018.
29. Jørgensen, M., Do agile methods work for large software projects?, in:
Proceedings of the International Conference on Agile Software Development
, Springer, Montreal, QC, Canada, pp. 179–190, May 2018.
30. Abrar, M.F., Khan, M.S., Ali, S.
et al.
, Motivators for largescale agile adoption from a management perspective: A systematic literature review.
IEEE Access
, 7, 22660–22674, 2019.
31. Khalid, A., Butt, S.A., Jamal, T., Gochhait, S., Agile scrum issues at large-scale distributed projects.
Int. J. Softw. Innov.
, 8, 2, 85–94, 2020.
32. Rai, V.
et al.
, Automated biometric personal identification-techniques and applications.
2020 4th International Conference on Intelligent Computing and Control Systems (ICICCS)
, IEEE, 2020.
33. Mehta, K.
et al.
, Enhancement of smart agriculture using internet of things.
ECS Trans.
, 107, 1, 7047, 2022.
34. Rasheed, A., Zafar, B., Shehryar, T., Aslam, N. A., Sajid, M., Ali, N., ... & Khalid, S., Requirement engineering challenges in agile software development.
Math. Probl. Eng.
, 2021, 1–18, 2021.
35. Heck, P. and Zaidman, A., A systematic literature review on quality criteria for agile requirements specifications.
Softw. Qual. J.
, 26, 1, 127–160, 2018.
36. Mehta, K., Kumar, Y., Aayushi, A., Enhancing time synchronization for home automation systems.
ECS Trans.
, 107, 1, 6197, 2022.