DefinePK hosts the largest index of Pakistani journals, research articles, news headlines, and videos. It also offers chapter-level book search.
Title: Role of Agile Methodologies for Ensuring Quality in Complex Systems: A Systematic Literature Review
Authors: Ihsan ullah, Jaweria Awan, Fatima Gillani, Iqra Shahzad
Journal: International Journal of Innovations in Science & Technology
Publisher: 50SEA JOURNALS (SMC-PRIVATE) LIMITED
Country: Pakistan
Year: 2022
Volume: 4
Issue: 4
Language: English
Keywords: Agile methodologysoftware qualitysoftware quality attributescomplex systemscomplex systems quality
In software development, the selection of a software process model set the base for the success of a software product. An inappropriate selection may lead to a delay in project release, introduce defects and make the project difficult to update. This lack of quality characteristics may lead to the risk of losing customer expectations as well as the failure of the project itself. In the case of complex systems, the problems become more severe. To meet such expectations, agile methodologies are used to ensure quality in software and meet customers’ expectations. There is currently no literature that gives insights into the role of agile methodologies in ensuring quality in complex systems. The purpose of this paper is to evaluate the effectiveness and the impact of agile methodology in achieving the quality of complex systems.
For this, we perform a Systematic Literature Review (SLR) and define a review protocol. By performing a thorough search and screening, we selected 39 papers related to agile methods and complex systems. Our analysis shows that complex systems have various requirements of quality attributes some of the complex systems mainly focus on security, reliability, and efficiency whereas other emphasizes safety, response time, and maintainability. Our analysis also shows that agile methodologies are widely used for the development of complex systems because ensuring the quality requirements of complex systems is not possible with the use of traditional methods of software development.
To evaluate the effectiveness and impact of agile methodologies in achieving the quality of complex systems by identifying required quality attributes, commonly used agile methods, and how these methodologies ensure product quality.
Systematic Literature Review (SLR) following the standards set by Kitchenham and Charters. The process involved formulating research questions, defining and validating review protocols, searching digital libraries (IEEExplore, ACM, Science Direct) using keywords like "Agile" and "Complex software Product," screening papers based on inclusion/exclusion criteria, data extraction, and synthesis of findings using a Meta-ethnography approach.
graph TD
A[Formulate Research Questions] --> B[Define Review Protocol];
B --> C[Search Literature];
C --> D[Screen Papers];
D --> E[Data Extraction];
E --> F[Synthesize Findings];
F --> G[Answer Research Questions];
The study highlights that while complex systems have diverse quality attribute needs depending on their domain, common attributes like reliability, correctness, security, response time, and performance are frequently emphasized. Agile methodologies, particularly Scrum and XP, are well-suited for complex systems because their principles and values directly address the challenges of uncertainty and evolving requirements, leading to improved product quality. The research suggests that agile practices contribute to better quality management by incorporating best practices and providing flexibility.
Complex systems require various quality attributes, with common ones including correctness, consistency, security, extensibility/responsiveness to change, response time, maintenance, reliability, accuracy, and performance. These attributes can be categorized into SAFETY, PERFORMANCE, CHANGEABILITY, and RELIABILITY. Scrum and Extreme Programming (XP) are the most commonly used agile methodologies for developing complex systems due to their problem-solving capabilities and ability to handle changing requirements. Agile methodologies ensure quality through practices like test-driven development, pair programming, sprints, and customer feedback, overcoming limitations of traditional methods.
Agile methodologies play a crucial role in ensuring quality in complex software systems. Scrum and Extreme Programming are the predominant agile approaches used for this purpose, offering features, principles, and values that are key success factors for achieving desired quality attributes. The study identifies common quality attributes for complex systems and confirms the effectiveness of agile methods in meeting these requirements.
1. Number of papers selected: 39 papers were selected for the SLR.
2. Publication years for inclusion criteria: Papers published between 2008 and 2021 were included.
3. Commonly used agile methods: Scrum and Extreme Programming (XP) are identified as the most common agile methodologies for complex systems.
Loading PDF...
Loading Statistics...