Agile software development trends, challenges and applications
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 (AS...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Hoboken, New Jersey :
John Wiley & Sons
[2023]
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009724218706719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright Page
- Contents
- Preface
- Chapter 1 Agile Software Development in the Digital World - Trends and Challenges
- 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
- Chapter 2 Agile Framework Adaptation Issues in Various Sectors
- 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
- Chapter 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
- Chapter 4 Interoperable Agile IoT
- 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.
- Chapter 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
- Chapter 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
- Chapter 7 A Systematic Literature Review on Test Case Prioritization Techniques
- 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
- Chapter 8 A Systematic Review of the Tools and Techniques in Distributed Agile Software Development
- 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
- Chapter 9 Distributed Agile Software Development (DASD) Process
- 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
- Chapter 10 Task Allocation in Agile-Based Distributed Project Development Environment
- 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
- Chapter 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
- Chapter 12 A Deep Drive into Software Development Agile Methodologies for Software Quality Assurance
- 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
- Chapter 13 Factors and Techniques for Software Quality Assurance in Agile Software Development
- 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
- Chapter 14 Classification of Risk Factors in Distributed Agile Software Development Based on User Story
- 14.1 Introduction
- 14.2 Software Risk Management
- 14.2.1 Risk Assessment
- 14.3 Literature Review.
- 14.3.1 Review.