The Effect of Requirements Quality and Requirements Volatility on the Success of Information Systems Projects

—This study aims to identify the effect of poorly written requirements specifications of software development and its continuous changes; on information systems’ projects success and its influence on time and cost overrun of the project based on empirical understanding in practice. As the world is moving towards the internet of things and due to the dramatic increase in demand on complex information systems projects, the development of information systems became more difficult and handling the customers’ requirements became very challenging. This research follows a conclusive design, Using a descriptive research design was held first to reveal and discover the characteristics of a good requirement, and then a quantitative method was used through conducting questionnaire and distributing to more than 400 participants in the software industry in Egypt, to understand the relationship between variables and how to improve the quality of data based on real world observations or experiment. The data collected was analyzed using python and R analysis techniques. The results indicates that, the organizations with the highest quality of requirements and less requirement volatility, have higher software success rates in terms of Project’s efficiency as well as Business and direct organizational success, while the requirements volume doesn’t have significant effect on success rates. From this analysis we developed an initial model.


I. INTRODUCTION
Within the huge and speedy development in computers and information systems, along with the covid-19 pandemic is forcing governments all over the world towards technology to deal with the huge amount of data and to provide reliable information to undertake right decision [1]. Also many governments designed apps to assist in COVID-19 battle [2].
In addition to the increase in number of enterprises that use computers and systems and as the worldwide IT Expenditure in 2019 was almost USD 3.7 trillion [3]. According to the Standish Group Chaos Report, it stated that more than 31% of the projects were failed before they completed, and that only 16.2% failed the project schedule and budget [4]. And since the software products development is very complex and mainly based on customer requirements. Thus the research main objective is to provide deeper interpretation of requirements specification phase; reduce the requirements vagueness, and identify how they affect the project success, dictates the good requirements specifications measurements then how to enhance requirements quality based on empirical study in the real-world practice within the Egyptian IT industry. This research is one of the few research applied on using empirical study in Egypt industry. As the faster-growth of Egyptian IT investment over the medium term, according To Egyptian ICT, growth rate of ICT GDP has increased from 14.1% in 2017/2018 to 16% in 2018/2019; ranking the sector among the highest growing sectors in the economy [5]. The research objective is not only concerns with defining the impact of requirements' quality and requirements volatility on the success of information systems' projects but also to define an equation that calculates the estimated percentage of project success given the percentage of requirements volatility and quality.

A. The Antecedents of a Successful Project
As -project‖ is authoritative well-defined by -BS 6079-2:2000 Project Management Vocabulary‖ as number of activities to be completed within a specific interval of time and budget to build certain product originally intended human resources [6][7]. According this definition, the success of projects can be stated that it depends on three main factors: Time, Cost and functionalities that meets the stakeholders' needs. The ultimate focus in this research is whether the quality of requirements, requirements volume and the rate of requirements volatility affects the success of software development (SD) projects or not. There are different definitions and criteria for measuring the project success [8][9][10]. Ramos & Mota, 2016, stated that there is a different point of view on project performance for every project stakeholder. E.g., the project manager and the team members of a project may consider it successful while it may not be successful for the CEO [11]. Hence, the success parameters vary depends on each stakeholder [12][13].
Common success factors were noticed that can be measured to identify whether the project is successful or not. It is categorized into two different categories; the first www.ijacsa.thesai.org category is the project efficiency which measures whether -the project has been completed within its budget and on schedule‖ [14][15][16][17], and whether the product met the customers' requirements and the end users are satisfied by the end product or not [18][19][20]. The other category is the Business organizational success; which measures if the project increased the profitability of the organization, contributed to the direct performance of the organization [21] and developed better managerial capabilities or not [22] [32].

B. Requirements Engineering Process
Requirements engineering process also known as requirements analysis; it is one of the main critical stages of any system development process as it is the first phase [26], in which the requirements is gathered analyzed, documented, along with defining the purpose and the scope of the software system are discovered and documented [23]; as well the stakeholders are identified with their demands and desires [24]. Its main objective is to provide a common understanding and vision of the system to be developed between technical and business stakeholders [25].

C. Phases of Requirements Engineering Process
Requirements engineering is divided into two main parts that aren't completely separated which are requirement development and requirements management [26]; it consists of Requirements Elicitation, Analysis, specification and validation shown in Fig. 1 [28], and Requirements management is focusing on the minimization of the disruptive impact on the project by accommodating the very real changes [27].

D. Requirements Quality
As requirements started with the stakeholders' intentions and it express the needs and expectations from different stakeholders; it is very difficult to measure or quantify how good the requirements are written. Several books describe how to write good requirements specification [29][30]. According to (ISO-IEEE) a good requirement should fulfill these quality criteria: -Correctness, unambiguousness, completeness, consistence, prioritization, verifiability, modifiability and traceability‖ [31] Then it was replaced by -ISO-IEEE 29148 which introduces feasibility, necessity, free of implementation, and singularity as new characteristics for requirements, while removing prioritization, correctness, and modifiability‖ [32].
ISO/IEEE 29148:2011 divided the quality characteristics into two categories: first, the characteristics that should be followed by an individual requirement, which are: atomic, complete, consistent, feasible, unambiguous, verifiable, traceable, necessary and should be free of implementation details [32].

E. Requirements Volatility
Requirements volatility relates to changes, deletions, addition and adjustments to requirements during the life cycle of the system development. Handling requirements volatility leads to additional work in coding and design, and it has a huge effect on budget, schedule and performance of the project; which may intimidate the project success [33][34][35]. Although some of these changes are essential for the effective development of the project [36]. But managing requirements volatility is a challenging job [37]. This paper analyzes the volatility of requirements along with the development phases after the requirements phase freeze. According to Mohammad D., (2016) study; maintenance phase has the maximum number of changes requests while design phase has the least number of changes requests [38]. Although agile development is known for its flexibility with requirements volatility but it also has an impact on the continuous change of requirements [39].

F. Requirements Volatility Factors
There are two main factors that lead to volatility of requirements; the first one is Business environment changes; the changes by external factors affecting the development of project as regulation and laws of government, sources of finances, organizational policies, technological factors, taxes laws and changes in management [40]. And the second is the Development environment changes; the changes during the development of the project, as number of requirements errors, evolving technological needs with the users, turnover of the team members and missing requirements. And there are several other factors as requirements uncertainty caused by lack of detailed information, changing user needs, communication issues and stakeholders dependencies [39]. Requirements Volatility Causes can be categorized to Human errors [41], Process Errors, and Documentation Errors.

G. Requirements Volume
Measuring the size of software is different from software effort estimation. Software size estimate represents the set of deliverables that should be implemented, it also consider calibration size adjustment and the other software that will be integrated with the new system. Software size can be driven from several techniques; the main two methods are: 1) expert judgment/analogy, in which an expert gives an estimate for the software based on his previous knowledge and experience [42][43]; 2) functional analysis which is based on requirements specifications and it represents the number of functionalities with several techniques IFPUG [44], NESMA [45] and COSMIC FFP [46].

1) Research Hypotheses:
H1: Quality of requirements has a positive influence on the success of the whole information systems' development.
H2: Requirements volume affects requirements specifications quality.
H3: There is a negative effect of requirements volatility on the quality of requirements. www.ijacsa.thesai.org

III. RESEARCH METHODS
The research design represents the framework that helps to deeply understand the research problem and plan the strategy, and its main purpose is to control and validate the study through examining the research questions [47]. While this study purposes to identify the effect of requirements quality and requirements volatility on the degree of projects' success, this study used a descriptive method to provide a comprehensive and in-depth interpretation of the characteristics of a good requirement and to identify the success measures of information systems' project within the Egyptian ICT sector. The researcher believes that studying the Egyptian ICT sector can provide new insights and results, given the continuous growth of Egyptian IT investment. This study followed a quantitative design through conducting questionnaire and distributing it in different system development companies around Cairo and Giza, to examine the relation between the research variables. The research population was determined to include all different roles that involved in the requirements of system development in Egyptian Companies. The measurement instruments were derived from earlier validated scales and were revised through piloting by academic experts. The first edition of the questionnaire was pre-tested by seven different experts in software development companies. Some modifications were applied on the pre-test findings in order to improve and clarify the questions.

A. Survey Design
The questionnaire inquired about respondents' background information and profile using six questions tackling "age, gender, occupation, years of experience and the number of requirements he worked on". The measures' of validity and reliability data are presented in the results section. Then it was divided into three thematic blocks: i) project success factors, ii) requirements quality criteria, ii) requirements volatility measurement, all related to the respondent's recent project. These variables were encompassed 33 statements under study of -5 points Likert scales whereby -1‖ represents -strongly disagree‖ and -5‖ represents -strongly agree‖‖. The criteria of success of Information systems projects were defined and validated by Serrador [31][32], the questions were validated by Abelein, U (2015) [50].

B. Data Collection
The questionnaire were disturbed online through google forms, it targeted the IT practitioners from different organizations with different industries, who were, due to their job, able to give an expert judgment on how projects are seen and rated in their organization. This research followed convenience non-probability sampling in which the questionnaire was filled by 400 respondents from the software industry chosen randomly from different organization. The research population was determined to include all different roles that involved in the requirements of system development. The sample was randomly selected to represents the population of SD companies in Egypt. The target sample was based on the role of the respondent, in which the respondent should be an employee from the IT sector, who was due to his/her job, able to have an expert judgment on their recent projects. It was tired to mainly recruit IT project managers. Requirements engineers, system analysts, developers, quality managers and executives from the IT sector for participation in the survey. In total, 400 usable returns were won. These were evaluated with Python and R.

A. Descriptive Statistics Results
The respondents' demographics are presented in Table I. As shown the respondents to this survey varied widely in relation to their primary position within the organization. However, middle-aged respondents who worked in senior positions on high-value projects were particularly strongly represented, so it was construed that the responses provided were based primarily on respondents' experience. Respondents' roles that stood out in the sample were: Scrum Master/Project Manager, with 110 of the respondents; Requirements Engineer with 100 respondents; Quality Manager/Test Manager and executive managers with 50 respondents each, followed by Programmers/Developers and Business/ system Analysts with 30 respondents each. Out of the total survey participants, most of the respondents have 2 to 5 years of working experience in system development industry (32.5%) followed 6 to 9 years (27.5%) and more than 10 years (25%), this reflects on a better understanding of project life cycle. Only a minority had less than 2 years and more (15%) working experience Information technology industry; which represents that the responses of the questionnaire is based on the responders' experiences, as years of experience play vital role in decision making.

B. Factorial Analysis
Factor analysis method were applied towards observed variables to find out subsets of variables, to describe the validity correlated variables and to test the proposed hypotheses based on validated and reliable item. The researcher generated the factor analysis using programming language R which provides a wide array of statistical techniques to capture the right model for your data in order to assign each item to its construct. Table II presents the demonstration of the Factor Analysis results. As shown the sampling acceptability equals 0.718 that is well-accepted (as it exceeds 0.6). The sphericity test by Bartlett was found to be significant as shown as well (value is less than 0.05). A total of 3 factors measuring the effect of requirements quality on the managerial capabilities were extracted, this is similar as the number of proposed constructs.

C. Reliability Test
The reliability test was conducted to ensure that all the variables are internal. Cronbach's alpha was used to calculate the reliability since it is the common reliability measure; as well it is described as one of the most significant and widespread statistics in research involving Likert-type scales www.ijacsa.thesai.org and it is used for dichotomous and continuously scored variables [59]. It was generated using R studio to perform the reliability test and to assign each item on its construct, as there are no Python packages with the required functionality.
According to Bernard (2017), for all variables Cronbach's alpha value must be above 0.6. Preferably it should be greater than 0.7 [57]. Concluded from the reliability assessment shown in Table III that all the items in this study had good internal consistency and were highly reliable and this implied helping us to carry out more statistical analysis needed.

D. Hypothesis Testing
Using correlation analysis, to identify and examine the relation between different variables. Correlation coefficient results from this analysis that calculates the linear relation between two variables. Correlation coefficient calculation is used to figure out how deep a relationship is between data points. Table IV summarizes the study findings of the correlations between the variables. The data in the table was generated by the researcher using Python. According to Table IV, there is a strong positive association between requirement quality and success of IS projects (r = 0.706356, p < 0.01). Therefore, H1 is accepted. This correlation indicates that the higher the quality of the requirements, the more successful the projects of the ISs.
Requirements Volume is weakly negative correlated with the success of ISs' projects. This relation can be Negligible (r = -0.140016, p < 0.01). This indicates there is no relation between requirements volume and the success of ISs' projects.

H2 is rejected.
There is a moderate negative relationship between requirements volatility and success of ISs' projects (r = -0.373626, p < 0.01). This indicates that the higher the requirements' volatility, the lower the quality of requirements specifications. H3 is accepted. The entire hypotheses with confidence level 99% which means even if the number of participants changes it won't affect the results.

E. Regression Analysis
Regression analysis is a statistical test in order to examine the data collected from questionnaire to define and quantify the impact of variables on each other. Regression analysis demonstrates the amount of change of the dependent variable (Success of IS projects) and the independent variables (Requirements Volatility and quality of requirements). Regression calculates the impact of variables by percentage.
Linear Regression was used that was introduced by Sir Francis Galton, to capture the effect of uncertainty in recognizing the relationship between two variables by Kumari K., et al., 2018 [58]; all the data below generated by the researcher using Python.

Pearson Correlation
Requirements Volume -0.140016

Sig. (2-tailed)
.000 -***Confidence level 99%, significance level of P-value ≤ 0.01, T-value ± 2.58‖ www.ijacsa.thesai.org Two different simple models were made with the data to know the relation between the Success of information systems' projects (dependent variable) and Quality of Requirements (independent variable) and Requirements Volatility shown in the supplementary material.

V. CONCLUSION
The purpose of this research was to examine and analyze requirements specifications quality and the percentage of requirements volatility impact on the success of development of information systems' projects, using the respondents' empirical experiences. Briefly, this research leads to a deeper understanding of how organizations in real life evaluate the success of projects and how they measure the quality of requirements with regard to software development. These findings were based on the 400 respondents who answered the questionnaire, the respondents were chosen randomly from different Egyptian organizations within the software industry; the sample was based on the respondents' role; to benefit from their real life empirical experience. The findings obtained from this research indicate that the organizations with the finest requirement specifications quality are the organizations with higher success rates in software development, which congruent with the results in [51][52][53][54]. Moreover, Organizations with lower percentage of requirements volatility accomplished more software development success, yet it shouldn't be presumed that the use of high quality requirements specifications alone ensures the accomplishment of such success.
Furthermore, the size of requirements affects neither the requirements quality nor the success percentage of the SD project.
Finally, it is found that requirements volatility and have statistically moderate negative relationship; which congruent with the results in [16,[18][19][20][55][56]. Based on the analysis results an initial model was developed by Python to predict the probability of project success, given the percentage of requirements quality and Requirements volatility from validation tools.
Future work is divided into two direction, first the extend of data collection to include different Geographic regions to gain further insights and provide a better understanding on the effect of poorly written requirements. Second, investigating how to assure the quality of requirements based on the 8 characteristics of ISO/IEEE that affects the success of information systems projects.