Modelling the critical success factors of agile software development projects in South Africa

There are several critical success factors suggested for why agile software development projects succeed, including organisational and process factors. Although there are an increasing number of identified critical success factors, IT professionals lack the modelling techniques and the theoretical framework to help them meaningfully understand their influences. To solve this problem, this study developed a model by employing the following theories: Theory of Reasoned Action (TRA), Theory of Planned Behaviour (TPB), and Unified Theory of Acceptance and Use of Technology (UTAUT) to create a fit model for agile software development projects. The research sought to answer the question: What are the critical success factors that influence the success of agile software development projects? The literature review considers the continued failure of agile and traditional software development projects which have led to the consideration of, and dispute over, critical success factors — the aspects most vital to a methodology’s success. Though TRA, TPB and UTAUT have previously been applied to agile methodologies, empirical models have not been completely integrated to develop a fit model. This research sought to fill this gap. Data was collected in South Africa through a web-based survey using structured questionnaires and an interview guide. Face-to-face interviews were done to identify the critical success factors in agile projects. The data was captured and analysed for descriptive statistics, convergent and discriminant validity, composite and internal reliability, and correlation in order to inform the structural equation modelling (SEM). SEM was used to test the research model and hypotheses to answer the research questions. The results informed development of a comprehensive model that could provide guidelines to the agile community. The study contributes towards understanding the critical success factors for agile projects. It examined direct, indirect and moderating effects, and the findings contribute towards developing a framework to be used by agile professionals. These key result shows that organisational factors have a great influence on performance expectancy characteristics. To ensure success of agile projects, managers are advised to focus on the effect of the organisation’s environment, culture and policies on performance and effort expectancy.


Introduction
It has long been understood that a large portion of software development projects fail. Recent estimates note that approximately 65% of software development projects, in general, do not meet their time frame and incur high costs to the organisation (Bossini & Fernández 2013). Organisations are spending a large amount of money adopting agile development processes with an expectation that the software projects are going to be completed on time with less cost (Ambler 2009;Chow & Cao 2008). However, many software development projects, even those adopting an agile methodology, continue to incur costs to the company which were not budgeted for, and are completed beyond the initially agreed time frame (Dyba & Dingsøyr 2015).
The selection of inappropriate methodologies to manage software development projects contributes to the failure of these projects (Bossini & Fernández 2013;Stankovic et al. 2013). Currently, there is confusion over which software development process to choose in different circumstances. Consequently, there is a need for software development managers to understand when it is appropriate to use agile and when to use traditional methodologies (Taromirad & Ramsin 2008).
Although a number of software development methodologies exists, each with related critical success factors (CSFs), software project managers find it difficult to select the most appropriate one (Nguyen 2016). This is partially because software development professionals tend to be passionately devoted to and subjective towards the software engineering methodologies in which they have vast experience (Bossini & Fernández 2013).
When the CSFs of agile software development projects are not logically connected with project objectives and their specific environment, this leads to failure to deliver software projects on time, and at a higher cost to the software project than budgeted for by the organisations (Chow & Cao 2008;Misra, Kumar & Kumar 2009). There is no complete research framework to identify and develop insights into all relevant CSFs for agile development and their linked constructs which have a vital meaning to the software development community and organisations (Dyba & Dingsøyr 2015;Misra et al. 2009).

Problem statement
Software development projects adopting agile methodologies face a number of challenges which have emerged through various studies, including: • Many agile professionals were not equipped with the necessary skills (Chow & Cao 2008). • Most agile professionals studied lacked training (Misra et al. 2009), with outsourced training sometimes provided by private consultants who themselves had insufficient knowledge and practical training experience (Misra et al. 2009). • The agile methodology was designed to resolve concerns in traditional software development projects but these continued to be problematic (Misra, Kumar & Kumar 2006). • Although many agile professionals and managers received training on agile, they still struggled to appreciate the value thereof and some of them preferred traditional software development approaches (Chow & Cao 2008).

Primary research question
The primary research question is: • What are the CSFs that influence the success of software development projects using agile methodologies?

Secondary research questions
The secondary research questions are: • How do agile professionals perceive the adoption of agile software development projects in South Africa? • What is the most appropriate theoretical framework which can be adapted to model the CSFs of agile software development projects? • How can CSFs be structured into a framework that can inform agile professionals and the community?

Background
Despite the potential benefits of using agile, software development professionals have been slow in adopting agile methodologies. In a global study, Chan and Thong (2009) discovered that 60% of companies surveyed were using neither agile nor any traditional methodologies, only 6% followed a methodology rigorously and 79% of those not using any methodology did not intend to adopt one. One of the reasons for the lack of acceptance of agile specifically is that early adopters of technology are highly resistant to changes to new technology. Further, agile methodologies are assumed to be universally applicable and people assume that they can be adjusted to software development during a project. The acceptance of agile software development methodologies remains a persistent challenge that attracts agile professionals' attention (Chow & Cao 2008). Joseph (2013) explained that more than 65% of software projects in South Africa were perceived as being failures and facing challenges in 2013 (as shown in Figure 1). This might have been because software development projects were not completed in time or within the estimated budget. Joseph (2013) further explained that 34% of the software development projects were perceived as successful (as shown in Figure 1). In a similar study, Marnewick (2012) found that 59% of the software development projects surveyed in 2011 were perceived to be successful and 41% of the software projects were perceived to be unsuccessful and facing challenges in South Africa (as shown in Figure 1).
The Industrial Development Corporation (2012) predicts an increase in software project spending in South Africa of R154 billion in 2016. This implies that R18.48 billion could be wasted in 2016 based on the 2011 failure rate shown by Marnewick (2012). This amount could potentially increase to a staggering R49.28 billion if the current 32% failure rate is considered (as shown in Figure 1) (Joseph 2013). Joseph (2013) showed that approximately R30.8 billion could be lost in failed software projects (as shown in Figure 1). This raises this concern whether all software development project managers are professional who know what they are doing. All software development project success depends on several factors such as having a software project leader with an effective management style and decision making. The main building blocks for the success of an agile project specifically are time, acceptance and understanding of agile methodologies, quality, budget and scope. On the other hand, there are several factors which agile management and agile professionals lack even though they have experience from previous agile software projects, namely people factors, organisational factors, culture factors, process factors, project factors, political factors and technical failure factors (Chow & Cao 2008;Cohn & Ford 2003;Dyba & Dingsøyr 2009;Koch 2005;Lindvall et al. 2004;Misra et al. 2009).
A quantitative research method was used in this study to understand the practical experience of agile professionals with the agile project success exploring the human, project, process, organisational, technical, political and technological factors in South African organisations (Table 1). Government in South Africa and agile organisation has created a conducive  environmental for creation and growth or transformation of enterprises. This consists of good communication, good accessibility of resources, project preparation, budget allocation and modification control process of software projects, just to name a few (Chow & Cao 2008;Dyba & Dingsøyr 2009;Joseph 2013;Misra et al. 2009). However, there is limited information available pertaining to the CSFs that have an effect on agile software development projects (Joseph 2013).
The scope of the current study is solely within South Africa. This study has implications for positive social change in organisations as they will be better able to understand the CSFs of agile software development projects. This study will also enable organisations to develop strategies to improve agile software development projects and cost benefits leading to higher profitability and productivity of software projects.

Methodology
The study used both quantitative methods of collecting data. An administering online questionnaire was distributed to all the 800 agile professionals and agile management in South African organisations. Four-hundred and sixty questionnaires copies were returned. This gave a respond rate of 58%. Quantitative data were analysed statistically using AMOS version 23.0 and SPSS version 23.0.
The sampling technique used in this research study is the purposive sampling method. The purposive sampling technique is a method whereby an experienced individual selects the sample based on his or her judgement about some appropriate characteristics required of the sample members (Creswell 2013).

Formulation of hypothesis
To guide the research and data analysis for the categories, the following hypotheses were formulated:

Performance expectancy
The factors that affect agile software development projects include perceived usefulness. Perceived usefulness has been discovered to affect user perceptions of different technology innovations, such as mobile commerce and agile software development projects (Chan & Thong 2009;Venkatesh et al. 2003).
Perceived usefulness (performance expectancy) refers to the degree to which an individual expects that adopting software development methodologies will improve the individual's job performance (Hardgrave, Davis & Riemenschneider 2003). Prior studies on acceptance of software development methodologies (Hardgrave et al. 2003) have found that perceived usefulness is a significant factor in predicting the usage and success of software development methodologies. Generally, prior research suggested that the more a methodology is perceived as enabling an increase in job performance, the more likely that it will be accepted. This leads to the following hypothesis: H1: Performance expectancy has a positive effect on the success of the agile software development projects.

Organisation factors
Numerous researchers such as DeLone and McLean (2002) and Curtis and Payne (2008) suggest that organisational factors play an important role in the use of agile methodologies which lead to positive performance expectancy and success of agile software development projects. Similarly, research on agile methodologies showed that one of the top most CSFs of agile methodologies is organisational factors (DeLone & McLean 2002;Koch 2005). Therefore, scientists have found that top executive or management support as one of the first priority with regard to the agile methodologies CSFs (Chow & Cao 2008). These scientists claim that executive or top management needs to show and tangibly give sustenance in implementation of the agile methodologies in the project (Ramesh, Cao & Baskerville 2010). This sustenance can be in the form of giving help or support to users such as team members of the group, hire the services of consultants, train users, psychological and financial and moral support. This leads to the following hypotheses: H2a: Organisational factors have a positive effect on performance expectancy for the success of the agile software development projects.
H2b: Organisational factors have a positive effect on the success of the agile software development projects.

People factors
According to Triandis (1980) noted that, people beliefs play a significant part for users to believe a system as easy or difficult to use. This explains that when people believe that a system is easy to implement, they will implement it and if not they will avoid it (DeLone & McLean 2002). Therefore, the easier users see a system as easy to use and they go ahead to use it. This means that the easier it will be for them to understand its paybacks. Likewise, users' viewpoints have an effect on their societal beliefs. This leads to the following hypothesis:

Reliability, validity of the constructs and correlation
This study used discriminant and convergent validity to determine, the degree of correlation between the decision variables and other measures that have been predicted in theory to correlate with them (Hartung & Knapp 2005). Furthermore, to determine whether these decision variables are not correlating with those other variables that have been theorised not to correlate with them (Pallant 2013). Decision variables' reliability was also measured using Cronbach's alpha.

Reliability of the constructs
Before testing for the discriminant convergent validity and correlation, the decision variables were evaluated for the reliability. Cronbach's alpha (α) was used to check the internal consistency of the decision variables (Pallant 2013). The remaining values of the decision variables which are retained were above 0.7, meaning that their corrected item-total correlation is significant as shown in

Convergent and discriminant validity and correlation
Convergent validity defines the proportion of variance for each factor that are related (Al Tamimi 2014; Hair et al. 1995;Pomykalski, Dion & Brock 2008). Convergent validity is determined from the computation of the composite or construct reliability (CR) and variance extracted (VE) for each indicator of the construct. As recommended by Hartung and Knapp (2005) and Dion (2008), composite reliability and the average VE (AVE) were used to assess the convergent validities. While the discriminant validity was considered by examining whether or not the squared root of AVE exceeds the correlations between constructs and the reliability was evaluated by examining the internal consistency reliability as recommended by Venkatesh et al. (2003).
The SPSS version 23.0 and AMOS version 23.0 were computed and the generated results were summarised in Table 3; all factors in the measurement model had acceptable composite reliability and convergent validity because all factor loadings (the indicators' standardised loadings [λ]) are significant (p < 0.001), the composite or construct reliabilities exceeding acceptable criteria of 0.7, and the AVEs were greater than the threshold value of 0.5 in all cases (Fabrigar et al. 2010;French & Finch 2006). Table 3 is constructed where diagonal elements are the square roots of AVE, and off-diagonal elements are correlations between decision variables (constructs). The discriminant validity and reliability were supported because Table 3 shows that all diagonal elements were higher than the off-diagonal elements in the corresponding columns and rows as well as internal consistency reliability were above 0.7.

Structural equation results
The critical ratio values of the path between the hypothesised decision variables express that their paths are significant except that of hypothesis H2b, H3b, H5a, H5b and H6b.

Scale items Cronbach's alpha (α) if Item deleted Total cronbach's α
This means that the proposed hypothesis Table 4 also shows hypothesised relationship among H6a (β = -0.041; p < 0.05; project factors influence performance expectancy factors), H4a (β = 0.036; p < 0.05; process factors influence performance expectancy factors), H3a (people factors influence performance expectancy factors) and H2a (β = 0.721; p < 0.05; organisational factors influence performance expectancy factors) for performance expectancy is significant and supported. Lastly, hypothesis H4b (β = 0.230; p < 0.05) between process factors and success factors are supported meaning that it is significant as shown in Table 4.
The predictions were measured by using the indirect and direct effects of the decision variables as theorised in the model. The extracted standardised coefficient weights output from AMOS version 23.0 is displayed in Table 4. The standardised coefficient weights represent the direct effects between decision variables. Relying on direct effects, AMOS version 23.0 was computed to produce a matrix table from which the indirect effects of the decision variables may be explained and extracted.
Organisational factors have the highest effect towards performance expectancy (H2a; β = 0.721; p < 0.05). The framework decision variables explain 18.0% of variance with regard to success and 8.0% of variance with regard to performance expectancy factors of agile software development project. The total effect of each decision variable on success factors can be observed as the effect that decision variable has towards success factors without or with a mediating variable being involved. The direct effect is the effect a decision variable has on a dependent decision variable in this case success factors with no mediating variable. As from the model in Figure 2, performance expectancy and process factors where hypothesised to have direct effects to the success of agile software projects as shown in Figure 2.

Performance expectancy
Project factors have a positive effect on performance expectancy factors for the agile software development project success which was significant (H6a). The results exposed that agile user's performance expectancy to practice agile methods is highly dependent on the dynamic, accelerated schedule, project type that has variable scope with emerging requirements and project nature that has a non-life-critical software project; although it could be business missioncritical software, project had no multiple, independent teams working together, project had up front, detailed cost evaluation completed and approved and project had a small team size.
Process factors have a positive effect on performance expectancy factors for the agile software development project success which was significant (H4a). The outcomes exposed that agile user's performance expectancy to practice agile methods is highly dependent on the agile project management style, agile-oriented requirement process, project scope and objectives that are well -defined, projects which are honoured through regular working schedule, an agile-friendly progress tracking mechanism, and use flexible time-boxing or rapid-pace progress measurement techniques instead of document milestones or work breakdown structure, strong communication focus and rigorous communication schedule, agile-oriented configuration management process, strong customer commitment and presence and customer representative on the project to have a full authority and knowledge to make decisions on-site.
People factors have a positive effect on performance expectancy factors for the agile software development project success which was significant (H3a). The results showed that agile user's performance expectancy to practice agile methods is highly dependent on the project that imposed a well-defined coding standard upfront, the project that pursued simple design, the project that pursued vigorous refactoring activities to ensure that the results are optimal and to accommodate well all changes in requirements, the project that maintained the right amount of documentation for agile purpose, the project that followed continuous and rigorous unit and integration testing strategy for each and every iteration, the project that delivered working software regularly within short periods of time, the project that delivered most important features first, the project that employed proper platforms, technologies and tools suitable for agility practice and the project that provided appropriate technical or technological training to the team, including training on subject matter and agile processes.  Organisational factors have a positive effect on the performance expectancy factors for the agile software development project success which was significant (H2a). The results exposed that agile user's performance expectancy to practice agile methods is highly dependent on the project team working in a facility with proper agile-style work environment; all team members worked in the same location for ease of communication casual, constant and contact; organisation that had a cooperative culture instead of a hierarchal culture; organisation that had an oral culture placing high value on fluid, face-to-face communication style; and organisation that had a reward system that was appropriate for agile behaviour. Agile methodology was universally accepted in the organisation, and the project had a committed sponsor or a committed organisation manager and received strong management or executive support. In the urban areas of eight provinces in South Africa, several measures and campaigns have been put in place to promote agile software projects.

Success of agile software projects
Performance expectancy factors have a positive effect on the success of agile software development projects (H1); this hypothesis was supported. The findings are in compliance with Venkatesh et al. (2003) which supported that agile approach enables to accomplish tasks more efficient, useful and productive and increase chances of finding promotion in order to deliver good product or project software projects results, meet all requirements and objectives, deliver software projects on time and deliver software projects within estimated effort and cost of software projects.
Process factors have a significant positive effect on the success of agile software development projects (H4b), this hypotheses was supported. Venkatesh et al. (2003) supported that the validity of this hypothesis has been examined and confirmed true by Tibenderana et al. (2010), which supported that agile approach enables to accomplish tasks as follows: • agile project management style, • agile-oriented requirement process, project scope and objectives which are well-defined, • projects which are honoured through regular working schedule, • an agile-friendly progress tracking mechanism, use of flexible time-boxing or rapid-pace progress measurement techniques instead of document milestones or work breakdown structure, strong communication focus and rigorous communication schedule, • agile-oriented configuration management process, • strong customer commitment and presence, • and customer representativeness on the project to have a full authority and knowledge to make decisions on-site in order to deliver good product or project software projects results, • meet all requirements and objectives, • deliver software projects on time and deliver software projects within estimated effort and cost of software projects.

Conclusion
The research questions were reliable and valid as measured by composite reliability, Cronbach's alpha, exploratory factor analysis and confirmatory factor analysis. The research study examined the adoption of agile management and expert regarding success factors through the use of the study model. It was found that performance expectancy factors and process factors have a causal relationship with success factors. Furthermore, organisational, process, people and project have a direct effect on the performance expectancy factors of practicing agile software development projects. These results show that the dominant factors that determine whether individuals practice agile software development projects are organisational factors towards performance expectancy factors. Organisational factors regarding agile software development project were found to be statistically significant but the performance expectancy is the single most important factor which needs to be taken into consideration when promoting software projects in South Africa.
These findings will assist agile management and experts and researchers to concentrate on the most significant activities so that the most CSFs can be better understood and applied in the organisation. With regard to the structural equation modelling, organisational factors were found to be the dominant factor in the accomplishment of performance expectancy factors.