Search

Browse Subject Areas

For Authors

Submit a Proposal

Agile Software Development

Trends, Challenges and Applications
Edited by Susheela Hooda, Vandana Mohindru Sood, Yashwant Singh, Sandeep Dalal and Manu Sood
Copyright: 2023   |   Status: Published
ISBN: 9781119896395  |  Hardcover  |  
375 pages
Price: $195 USD
Add To Cart

One Line Description
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.

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.

Description
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.

Back to Top
Author / Editor Details
Susheela Hooda, PhD, is an assistant professor in the Department of Computer Science & Engineering, Chitkara University Institute of Engineering & Technology, Punjab, India.

Vandana Mohindru Sood, PhD, is an assistant professor in the Department of Computer Science & Engineering, Chitkara University Institute of Engineering & Technology, Punjab, India.

Yashwant Singh, PhD, is an associate professor & Head of the Department of Computer Science and Information Technology, Central University of Jammu, J&K, India.

Sandeep Dalal, PhD, is an assistant professor in the Department of Computer Science & Applications, Maharshi Dayanand University, Rohtak, Haryana, India.

Manu Sood, PhD. is a professor in the Department of Computer Science, Himachal Pradesh University, Shimla, India.

Back to Top

Table of Contents
Preface
1. Agile Software Development in the Digital World – Trends and Challenges

Kapil Mehta and Vandana Mohindru Sood
1.1 Introduction
1.1.1 Organization of Chapter
1.2 Related Work
1.2.1 Teamwork Development
1.2.2 Project-Based Learning (PJBL)
1.2.3 Planning the Agile Software Development Methodologies
1.3 Agile Architecture Trends in the Digital World
1.3.1 Agile Implementation at Scale
1.4 Challenges Faced in the Digital World Through Agile Software Development
1.4.1 Challenges for Small to Mid-Scale and Large-Scale Agile Projects
1.4.2 Reported Challenges – Cause and Potential Solutions
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
Anita Sardana and Vidhu Kiran Sharma
2.1 Introduction
2.1.1 Human-Human Linkages
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
Pooja Anand and Yashwant Singh
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
Bharti Rana and Yashwant Singh
4.1 Introduction
4.2 Agile Software Development
4.2.1 Scrum Methodology
4.2.2 Extreme Programming (XP)
4.2.3 Adaptive Software Development (ASD)
4.2.4 Dynamic Software Development Method (DSDM)
4.2.5 Feature Driven Development (FDD)
4.2.6 Kanban Method
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.6.1 Interoperability Aspects
4.7 Conclusion
References
5. Functional and Non-Functional Requirements in Agile Software Development
S. Saroja and S. Haseena
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
Zakir Ahmad Sheikh and Yashwant Singh
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
Ajmer Singh, Anita Singhrova, Rajesh Bhatia and Dhavleesh Rattan
7.1 The Motivation for Systematic Review
7.1.1 Existing Literature Reviews on Test Case Prioritization
7.1.2 Resources Used for SLR
7.1.3 Search Criteria
7.1.4 Research Questions
7.2 Results
7.2.1 What is the Current Status of Test Case Prioritization?
7.2.2 How Various Test Case Prioritization Techniques are Classified? And What are Those Classifications?
7.2.2.1 Code Coverage-Based
7.2.2.2 Requirements-Based
7.2.2.3 Model-Based Prioritization
7.2.2.4 Time and Cost-Aware Prioritization
7.2.2.5 History-Based Prioritization
7.2.2.6 Risk Factor-Based Prioritization
7.2.2.7 Fault Localization-Based
7.2.2.8 Soft Computing Techniques-Based
7.2.2.9 Web-Based
7.2.2.10 Object Oriented Testing-Based
7.2.2.11 Similarity-Based
7.2.2.12 Combinatorial Interaction Testing-Based
7.2.2.13 Machine Learning-Based
7.2.2.14 Adaptive Random Testing (ART)-Based
7.2.2.15 Prioritization for Continuous Integration (CI) and Software Product Lines (SPL)
7.2.2.16 Hybrid Approaches
7.2.2.17 Comparative Studies
7.2.2.18 Surveys and Reviews
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.3.1 What is Research Status in Model-Based Test Case Prioritization?
7.3.2 What Evaluation Criterion Has Been Used to Evaluate Model-Based Prioritization and How are The Results Reported?
7.3.3 How Model-Based Test Case Prioritization Has Evolved Over the Years? Which Studies Have Discussed the Benefits of Model-Based Test Case Prioritization in Object-Oriented Systems?
7.3.4 What Subject Systems Are Used to Evaluate the Model-Based Test Case Prioritization?
7.3.5 What is the Research Status of Test Case Prioritization for Object-Oriented Testing?
7.3.6 What Specific Parameters of Object-Oriented Testing Have Been Highlighted by Various Studies?
7.3.7 What Studies Exist Based on Multi-Objective Algorithms for Test Case Prioritization in Object- Oriented Testing?
7.3.8 Whether Comparative Analysis of Multi-Objective Algorithms for Test Case Prioritization in Object-Oriented Testing Has Been Performed? And What are The Results?
7.4 Research Gaps
References
8. A Systematic Review of the Tools and Techniques in Distributed Agile Software Development
Dipti Jadhav, Jyoti Kundale, Sumedha Bhagwat and Jyoti Joshi
8.1 Introduction
8.1.1 Why Agile?
8.1.2 Distributed Agile Software Development (DASD)
8.1.3 Challenges of DASD
8.1.3.1 Documentation
8.1.3.2 Pair Programming
8.1.3.3 Different Working Hours
8.1.3.4 Training on Agile Practices
8.1.3.5 Distribution of Work
8.2 Literature Review
8.3 Techniques for DASD
8.3.1 Effective Communication
8.3.2 Face Visits or Contact Visits
8.3.3 Team Distribution
8.3.4 Distribution of Work
8.3.5 Documentation
8.4 Tools for DASD
8.4.1 Monday.com
8.4.1.1 Features
8.4.1.2 Pricing
8.4.2 nTask
8.4.2.1 Features
8.4.2.2 Pricing
8.4.3 Jira
8.4.3.1 Pricing
8.4.3.2 Version Control
8.4.3.3 Key Features
8.4.4 ActiveCollab
8.4.4.1 Pricing
8.4.4.2 Features
8.4.5 Pivotal Tracker
8.4.5.1 Features
8.4.5.2 Pricing
8.4.6 Clarizen
8.4.6.1 Software Features
8.4.7 Axosoft
8.4.7.1 Software Features
8.4.7.2 Pricing
8.4.8 MeisterTask
8.4.8.1 Software Features
8.4.8.2 Pricing
8.4.9 GitLab
8.4.9.1 Features
8.4.9.2 Pricing
8.4.10 Productboard
8.4.10.1 Features
8.4.11 ZohoSprints
8.4.11.1 Features
8.4.11.2 Pricing
8.4.12 Taskworld
8.4.12.1 Features
8.4.12.2 Pricing
8.4.13 CoSchedule
8.4.13.1 Features
8.4.13.2 Pricing
8.4.14 Nostromo
8.4.14.1 Features
8.4.14.2 Pricing
8.4.15 Todo.vu
8.4.15.1 Features
8.4.15.2 Pricing
8.4.16 VersionOne
8.4.16.1 Pricing
8.4.16.2 Features
8.4.17 ProofHub
8.4.17.1 Features
8.4.17.2 Pricing
8.5 Conclusion
References
9. Distributed Agile Software Development (DASD) Process
Samli, Monisha Gupta, Abhishek Sharma, Susheela Hooda and Jaswinder Singh Bhatia
9.1 Introduction
9.2 Distributed Software Development
9.2.1 Factors Influencing Agile Distributed Software Development
9.3 Distributed Agile Software Development Team
9.3.1 Distributed Agile Development/Teams
9.3.1.1 Some Common Practices for Agile Teams are Specified as Below
9.4 Scrum in Global Software Development (GSD)
9.4.1 Aim and Objectives of Scrum Practices in GSD
9.4.2 Background
9.4.3 Scrum Practices in GSD
9.5 Tools and Techniques for Agile Distributed Development
9.6 Conclusion
References
10. Task Allocation in Agile-Based Distributed Project Development Environment
Madan Singh, Naresh Chauhan and Rashmi Popli
10.1 Introduction
10.1.1 Traditional Software Development
10.1.2 Agile Software Development (ASD)
10.1.3 Distributed Software Development
10.1.4 Motivation and Goal
10.2 Task Allocation
10.2.1 Traditional Task Allocation Methods
10.2.2 Need of Machine Learning in Task Allocation
10.3 Machine Learning-Based Task Allocation Model
10.4 Conclusion
References
11. Software Quality Management by Agile Testing
Sharanpreet Kaur, Susheela Hooda and Harsimrat Deo
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
Mitali Chugh and Neeraj Chugh
12.1 Introduction
12.2 Background Work
12.2.1 Factors of Quality Assurance in Agility
12.3 Understanding Agile Software Methodologies
12.3.1 Need for Agile Software Methodology Framework
12.4 Agile Methodology Evaluation Framework
12.4.1 Extreme Programming (XP)
12.4.2 Scrum
12.4.3 Lean Development
12.4.4 Crystal Methodology
12.4.5 Kanban Methodology
12.4.6 Feature Driven Development (FDD) Methodology
12.4.7 Dynamic System Development Method (DSDM)
12.5 Agile Software Development – Issues and Challenges
12.6 Conclusion
References
13. Factors and Techniques for Software Quality Assurance in Agile Software Development
Gagandeep Kaur, Inderpreet Kaur, Shilpi Harnal and Swati Malik
13.1 Introduction
13.1.1 Values of the Agile Manifesto
13.1.2 The Twelve Agile Manifesto Principles
13.1.3 Agile for Software Quality Assurance
13.2 Literature Review
13.3 Agile Factors in Quality Assurance
13.3.1 Success Factors
13.3.2 Failure Factors
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
Esha Khanna, Rashmi Popli and Naresh Chauhan
14.1 Introduction
14.2 Software Risk Management
14.2.1 Risk Assessment
14.3 Literature Review
14.3.1 Review
14.3.2 Risk Factors in Distributed Agile Software Development
14.3.3 Current Challenges
14.4 User Story-Based Classification of Risk Factors in Distributed Agile Software Development
14.4.1 User Stories
14.4.2 Classification of Risk Factors on the Basis of User Story
14.5 Future Scope
14.6 Conclusion
References
15. Software Effort Estimation with Machine Learning–A Systematic Literature Review
Ritu and Pankaj Bhambri
15.1 Introduction
15.2 Method
15.2.1 Questionnaires for Research
15.2.2 Search Process
15.2.3 Criteria for Inclusion and Removal
15.2.4 Data Gathering
15.2.5 Analyzing Data
15.3 Result
15.3.1 Findings
15.4 Discussion
15.4.1 What Kinds of Research are Being Conducted?
15.4.2 Who is the Research Leader in SLR?
15.4.3 The Study’s Limitations
15.5 Conclusion
15.6 Future Scope
References
16. Improving the Quality of Open Source Software
Sharanpreet Kaur and Satwinder Singh
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
Sima Das, Ajay Kumar Balmiki and Nimay Chandra Giri
17.1 Introduction
17.2 Literature Survey
17.3 Proposed Work
17.3.1 Advantages and Limitations of Agile Software Development
17.4 Conclusion
References
18. Machine Learning in ASD: An Intensive Study of Automated Disease Prediction System
Saindhab Chattaraj, Taniya Chakraborty, Chandan Koner and Subir Gupta
18.1 Introduction
18.2 Overview of ML
18.2.1 Types of Machine Learning
18.2.1.1 Supervised Machine Learning
18.2.1.2 Unsupervised Machine Learning
18.2.1.3 Reinforcement ML
18.2.2 Popular ML Algorithm
18.2.2.1 Artificial Neural Network (ANN)
18.2.2.2 K-Means Clustering Algorithm
18.2.2.3 Hierarchical Clustering
18.2.2.4 Linear Regression in Machine Learning
18.2.2.5 Support Vector Machine (SVM)
18.2.2.6 Decision Tree
18.2.2.7 Random Forests
18.2.2.8 Agile Software Development (ASD)
18.3 Case Study
18.3.1 Methodology
18.3.2 Result Analysis
18.4 Conclusion
References
Index

Back to Top



Description
Author/Editor Details
Table of Contents
Bookmark this page