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.
Table of ContentsPreface
1. Agile Software Development in the Digital World – Trends and ChallengesKapil 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 SectorsAnita 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 ApproachPooja 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 IoTBharti 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 DevelopmentS. 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 SystemsZakir 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 TechniquesAjmer 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 DevelopmentDipti 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) ProcessSamli, 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 EnvironmentMadan 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 TestingSharanpreet 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 AssuranceMitali 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 DevelopmentGagandeep 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 StoryEsha 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 ReviewRitu 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 SoftwareSharanpreet 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 CycleSima 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 SystemSaindhab 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