1. Introduction
Developing successful software systems requires paying close attention to software quality assurance (SQA). SQA encompasses various activities that are carried out throughout the software development process. When these activities are performed well, the outcomes are software systems that meet requirements and expectations with quality and, in return, greater user satisfaction. There are various benefits of developing well-established SQA practices such as reducing development and testing costs, improving the quality and productivity of the software systems developed, and increasing customer satisfaction [
1]. Organizations pay close attention to software development as high-quality products meet customer needs, protect their reputation, and improve business operations [
2]. A recent study suggests that the success rate in software projects is 37%, in which further efforts should be placed during software development [
3]. SQA activities include planning, defining and implementing quality standards, reviewing and auditing, testing, and reporting on the outcomes. Requirement validation is considered the cornerstone, with prototyping, inspection, knowledge-oriented, test-oriented, modeling and assessment, and formal models as important elements [
4]. The trend in validation techniques is toward solutions that combine machine-learning techniques with knowledge from dictionaries and ontologies [
4]. Machine learning has been used for quality risk assessment and error detection [
5]. The majority of difficulties in software development revolve around how to express requirements and respond to client feedback. Quality assurance involves other areas such as SQA techniques, tools, programming languages used, professional demographics, certification, capabilities, and education [
6,
7]. Other studies suggest that software systems are evaluated based on their efficiency, effectiveness, compatibility, and traceability while factors such as security, availability, performance, conceptual integrity, and usability may go unperformed [
8]. Another study looked at the new product delivery and new service delivery based on TQM, which is divided into four categories: strategic, tactical, operational, and product with the goal of tracking the progress of software development in order to achieve the desired outcomes [
9]. The literature suggests that the majority of issues are related to human factors and that there are significant knowledge gaps due to the rise of the IT market, technological advancement, and the rising number of individuals with non-IT backgrounds [
7]. Various tools and standards have been developed in recent years to cope with the advancements in software development such as agile delivery methodologies and white box testing approaches [
6,
10].
This research has examined SQA practices and models as the foundation of this research. At first glance, this may imply that business divergence from an industrious background would result in a variety of points of view and a disjoint of quality needs and objectives. For some organizations, it is either jurisprudence or partial effort of the software quality aspect. For many reasons, some organizations lack knowledge and awareness; for other organizations, due to severe competition and product delivery, they may have to skip many steps or only apply the minimum; for others, the main barrier is applying SQA as a standalone function [
11]. In some instances, the SQA team may only emphasize the development scope but overlook overall activities in the entire software development life cycle [
2]. Lastly, for some organizations, a lack of resources would consider quality assurance a luxury, and a preliminary level of quality practices would be sufficient. The authors of [
12] support the fact that, in IT overall, there is uncertainty when it comes to quality assurance of the return of investments of quality factors such as investing in automation testing. As a result, there has not been enough literature and models investigating the SQA practices and models, both comprehensively and in a structured way. The literature review of this paper provided a wide overview of SQA, and where it is standing in both the point of view of the research and the industry. It is noticeable that most software quality application practices focus on one area and disregard others, such as completing the technical aspect and neglecting the human aspect such as leadership or focusing on the standard or the process and not taking testing metrics seriously. We promote this as the research gap and our expected outcome was to deliver a model that can assess SQA maturity, which will cover various aspects and perspectives. In this research, we have considered the telecommunication industry as the main segment and the lens of this study. Thus, the goal of this research is to develop a structured and comprehensive model to assess the gap, help telecommunication companies understand the most important factors, and pinpoint areas where they need to focus their effort to improve their SQA practices’ maturity. The foundation of this research is based on an extensive literature review and the real-world experience of SQA experts, demonstrating the gap of not all quality practitioners being unified or, perhaps, coming to the same standing when it comes to perusing SQA. The expected outcome of this research is to structure a maturity model for SQA that can be used in assessing SQA practices in the telecommunication industry.
Paper Organization
The paper is organized as follows: the literature review is the starting phase of this research framework. Secondly, the methodology is presented. Following this, an initial model based on the literature has been structured, followed by the formation of expert panels that include a variety of experts’ backgrounds and knowledge bases. Then, the model development phase includes validation and quantification. The paper will then test the model against case studies to examine its practicality. Finally, the result will be analyzed and the findings showcased.
6. Discussion
In this section, the 35 SQA and IT Expert responses were utilized. All of them have agreed with a positive level of assertiveness that the proposed model will be useful and helpful to assess the SQA and there is a significant need for such a model due to the fact there is no standing point to pursue software quality end-to-end in some organizations.
As a starting point, experts in the field of SQA have been personally interviewed to enhance the understanding of the SQA practices landscape. The objective of this interview was to determine two preliminary inquiries: first, whether there is a need to develop a SQA maturity model within the telecommunication industry. Furthermore, to initially confirm the usefulness of the proposed model through the full review of the proposed model. Both inquiries come with affirmative responses, confirming the high need to have a maturity model for software quality assessment practices, which the proposed model would help achieve. Then, 19 subject matter experts in the field went through the proposed model, validating twenty-five factors embedded within the five perspectives. The validation phase objective is to confirm the main concept, structure, and model elements as well as ensure that the model provides a great representation of the landscape. The result for this phase confirmed that the model is appropriate and useful for assessing the maturity of the SQA practices.
Furthermore, 23 subject matter experts were asked to contribute to quantify the research model, assign weights to all perspective’s level, and assign weights for the included factors within the different perspectives. In the quantification phase, the objective is to gain more insight into the importance of both perspective level and factor level. The result declares that the requirement validation perspective as the most important perspective across the model. This perspective holds the highest relative weight of 25.75%. The requirement validation is a common practice but is not necessarily empowered during the delivery phases. The testing perspective comes next with a relative weight of 22.19%. The third perspective is the software change management control perspective with a relative weight of 17.57%, followed by organization and culture as fourth with a relative weight of 17.81%. The last important perspective is technology, with a relative weight of 16.81%. Practices that have more human tendency such as organization and culture or product management methods showed higher importance in terms of software quality influence.
In the testing perspective, the testing objective factor is ranked as the most important factor with a relative importance of 23%. This is consistent with what the author emphasized in [
12], which is that the testing objective is mainly focused on defining the purpose of the testing, such as acceptance testing, quality of service testing, and regression testing. The testing objective has been marked as a quality factor 20 times in a study count, as per the finding in this paper. The second most important factor in this perspective is a testing activity with a relative importance of 22%. The third raking factor is the testing level with a relative importance of 21%. At the testing level, the main interest for this factor is how far testing should be conducted, either unit testing, system testing, or integration testing. As indicated by [
51], the ideal testing level should be mostly focusing on unit testing, then integration testing, followed by system testing “GUI”. Supported by automation testing tools, the fourth-ranking factor is the testing approach with a relative importance of 18%. Lastly, the test artifact factor takes the lowest rank in the testing perspective with 15%.
For the requirement validation perspective, consistency is ranked as the most important factor, with a relative importance of 21%. Correctness comes second, with a relative importance of 18%. This result comes in alignment with the findings of [
13], where the author described these two factors as the main quality requirements. Also, those two factors will jointly come into tandem in favor of the verifiability factor, which is the third-ranking factor with a relative importance of 17%. The validity factor comes as the fourth-ranked factor with a relative importance of 16%. Lastly, with a relative importance of 14%, realism comes as the lowest factor of validation requirement perspective. Adaptive behaviors of keeping requirement validation factors presented across the delivery process and technique. The author in [
13] believed that starting from an initial requirement gathering, passing by prototyping a testing-oriented activity such as test case generations, will deliver a decent and acceptable threshold in validating the software requirements.
In the technology perspective, testing tools are the most important with a relative importance of 31%. From a technology perspective, the testing tool is the largest enabler of software quality. According to [
12], using testing tools and products with service management tools along with the right test will adhere to quality. The study shows that using testing tools in unit testing will deliver technical wealth that will offer faster, cleaner, and better-quality deliverables, which require a very low cost of required maintenance. The second-ranked factor is the framework and environment structure with a relative importance of 27% and the third-ranked factor is performance with relative importance of 25%. The last-ranked factor is automation level with 17% of relative importance. As concluded by the author in [
12], based on a survey, automation testing is difficult to achieve in organizations and only 6% of professionals think it is doable. Executives are looking forward to executing the test cases in an automated manner to save cost and time and increase reliability by detecting defects in early stages. Automation testing needs to be adopted more and more in organization practices. On the other hand, the authors in [
12] indicated in their research the need to set a proper return on investments while applying automated testing, and this should be considered by following the metrics: test coverage, teat effectiveness, test strategy, tools, cost of test automation and peoples. As for designing the survey, which was distributed among professionals from products and service organizations, the result showed that testing represents 28% of overall IT spending in 5 years [
12], and automation has a low contribution of return on investment, which is a sign for baring more attention into this factor.
In a software change management control perspective, agile has ranked as the most important factor with a relative importance of 32%. This finding comes in alignment with the result presented in [
16], which states that agile nowadays is associated with a productive method of delivery and is directly enabling testability, maintainability, and reusability of the development process of software. The study shows that the agile method has a positive impact on the organization’s targets and measurement of the level of satisfaction. Furthermore, the result of analyzing the quantitative data of 325 participants in [
67] showed the real added value through the use of agile, which has been accepted in many corporate cultures in various areas such as structure, methods discipline, direction, or work instruction, cooperation executive and team. The second important factor is DevOps with a relative importance of 26%. DevOps has a stronger impact on the quality assurance concept. According to DevOps features, automation process, sharing, and direct measurements contribute to quality favors. In DevOps, fast feedback assuring quality can be reached by practices not only in a theatrical context [
19]. The next factor in rank is the internal process with a relative importance of 21%. The author in [
54] concluded that constant review and management of internal process improvement attempts make the software process more operational and raise the quality of the software product. On the other hand, the release factor has the same level of importance with 21%. According to [
68], the sequence of project changes can be viewed as small projects because they may have their own impact and business case feasibility, as well as a unique method of execution and testing, business acceptance, and documentation. All the preceding changes are essential to keep the quality of this change. Furthermore, any changes should not be regarded as separate units when they are connected with other units to provide collaborative activities or duties. A priority for the scope of modifications, essential and noncritical, must be determined and scheduled within the releases. A release may include more than one change request. A change request scope must be signed, developed, and accepted by the change requester before it can be documented.
In the organization and culture perspective, the documentation factor is the most important in this perspective with a relative importance of 19%. The documentation aspect has become a more and more emerging aspect when it comes to quality. The finding in [
68] showed that the quality of documenting user stories for testing, requirements, changes, documentation of code, and amendment comes as an insightful practice of the ISO/ICE 19761 guide, and with other ISO version guides as well. In addition, the result in [
55] emphasized that documentation is becoming a required aspect in rapid delivery methods such as agile. The second factor is reporting with a relative importance of 18% and the third factor is team building with a relative importance of 17%. According to [
6], team building is a very important topic in quality as a team should consist of business analysis developers and software testers. The “know-how” is a primary driver to improve the quality. Quality standards and leadership are the two factors that come in the fourth rank with 16% of relative importance. The quality standard refers to the followed quality foundation and practices within an organization, as referred to ISO with the verity of versions or ISQTB, in many factors such as agile and DevOps, which we have studied above. To those factors, human interpersonal skill is a game-changer when it comes to enabling those factors in favor of quality assurance. Interpersonal skills and lack of leadership is an area that needs further studies and examination in the existing models as highlighted by [
16]. As indicated by [
7], the educational background would be an accelerator to the software quality domain, since the tendency of professionals emerging with non–IT domain practices and backgrounds due to high growth and demand in the IT industry. The study showed that this might produce a knowledge gap because of the differences, which might cause a risk of quality due to these challenges between two aspects: technology and humans. On the other hand, another human factor that comes in the lowest rank in this perspective is technical skills, which is a certificate with a relative importance of 14%. This factor is the lowest factor in this model.
The model has been applied in two real-world case studies to test its reliability and applicability. Thus, it has proved its capability to measure the maturity of the SQA practices. A few insights can be stated from the cases to show how these two cases performed in the model. Case 1 scored/performed better in all perspectives (Testing, Requirement validation, Software Change Management Control, Technology, and Organization and Culture) compared to Case 2. This is due to that Case 1 is a well-established telecommunication company with a history of developing software systems as well as it being considered as the leading telecommunication company in the telecommunication industry in Saudi Arabia and has benefited much from government support in the early days of its launch. Case 2 was established decades after Case 1 and the competition was intense with Case 1. Yet, Case 2 has much potential in improving and benefiting from this research outcome.
7. Conclusions
The intensive literature review on the SQA practices along with conducting interviews with IT experts and survey applications showed the high need for having a quality assurance maturity model within the telecommunication industry practices with respect to software development. A complete view of the maturity is established by incorporating multiple perspectives into the model for the benefit of software development. Therefore, this study is intended to propose a maturity model that assesses SQA maturity in the telecommunication industry. The proposed maturity model classifies the important factors into five perspectives: Testing, Requirements validation, Technology, Software quality management control, and Organization and Culture, in which the importance level of each factor in the SQA model was determined based on its evaluated weights. This proposed model has been reviewed and validated with the help of 35 SQA and IT experts, in which the responses have confirmed that the model is appropriate and useful to assess the maturity of the SQA practices. Moreover, the model has been quantified by 23 of the involved experts where weights have been assigned to all the perspectives level, along with the included factors within these perspectives. The result of the quantification phase showed that the most important perspective across the model is the requirement validation perspective with a relative weight of 25.75%. Technology is the least important perspective with a relative weight of 16.81%, which means that technology is the least to worry about when it comes to the maturity of the practices than other perspectives. This research allows for a better understanding of the different dimensions of SQA practices. It helps in increasing the knowledge of how telecommunication companies assess their software development maturity. With respect to the research gaps, it provides a structured and comprehensive investigation of the important factors and assesses their impact on the SQA practice maturity in a multi-perspective approach using both quantitative and qualitative metrics. On the practical side, this research helps software developers and decision makers in the telecommunication industry to classify and organize their priorities and pinpoint areas of strength and weakness in order to develop successful software systems.
It is important to note the limitations of this study. The outcomes of this research are time and context dependent, in which the dimensions examined may change in the future due to technological advancements and the software development landscape as well as the continuous advances in the SQA practices. This model was applied to two telecommunication companies, yet applying it to more cases should certainly improve its accuracy and ensure a robust and more generalizable model. Furthermore, finding knowledgeable and qualified experts is one of this approach’s challenges. The quality of the outcomes depends on the quality of the expert’s inputs. While experts invited to participate in this research were selected carefully to ensure better results, experts’ judgments may be impacted by human biases, interests, and errors. This issue was controlled by conducting proper selection procedures for the expert panels. Also, the model considers a large number of factors that were grouped into perspectives. The factors’ weights are calculated using pairwise comparisons performed by experts. The more factors an expert is asked to perform pairwise comparisons for, the more they tend to feel bored and lose concentration, resulting in the accuracy being impacted. This research design tried to avoid this issue by constructing multiple expert panels and breaking down the model into smaller and manageable tasks to facilitate the experts’ judgments.
For future research, this model can be expanded to go beyond the telecommunications industry that it was intended for by incorporating input from subject matter experts from other industries. The model can be applied to other industries and sectors to test its validity and make the necessary changes accordingly. Other SQA maturity factors can be added to the model as the SQA maturity models advances. In the future, pairwise comparisons can be repeated by new experts in order to keep the model weights relevant and up-to-date as SQA practices advance.