1 Introduction

The Agile Software Development paradigm has become increasingly popular in the last few years, since it claims lower costs, better productivity, better quality, and better business satisfaction (Mishra et al. 2012). The acceptance of Agile is often in response to the perceived failure of the traditional approach, usually in relation to the quality of software development, its slow speed of delivery, its difficulty in handling changing contexts and requirements, and its ineffective engagement of business stakeholders (Russo et al. 2013). The benefits of Agile adoption, such as flexibility and short delivery times, have led many large organizations to adopt Agile at scale (Dikert et al. 2016; Paasivaara et al. 2018).

Management support is one of the success factors in large scale Agile transformation in organizations (Karvonen et al. 2018). Hoda et al. (2011) found that it is essential for self-organizing agile teams to establish and flourish by senior management support, in terms of providing freedom and establishing an organizational culture of trust. Organizational support consists of strategy, structure, culture, environment, top management, and leadership support. Additionally, communication flow and channels, integration among teams and projects, and deeper agile adoption is also part of it (Kuusinen et al. 2017). In terms of team structures, agile roles and empowerment of teams, cross-functional longer-lived team structures were considered as a potential outcome, along with Agile methods such as AgilePM, Scrum, Kanban and Scrumban outline guidelines (Karvonen et al. 2018). They further argued the most acute problems were related to which agile method to adopt, how to form teams, how to redefine old roles and define new roles and how to ensure empowerment of teams. A prevailing hierarchical culture also caused challenges to enable empowerment of people and teams. Recently Šmite et al. (2020) confirm in their study that organizational and national cultural barriers may inhibit collaboration in general and acceptance of agile ways of working in particular.

Few studies have been conducted related with the adoption of Agile methods. See, for example, Chow and Cao (2008) and Kumar and Goel (2012). Nuottila et al. (2016) also supported that there are only a few studies discussing agile adoption in public sector organizations. Recently Wadood et al. (2020) also recognized that Agile methodologies transformation from traditional software development methods for market-driven software development is successfully evidenced in private sector; whereas, its potential benefits in the public sector are still unknown. Abdalhamid and Mishra (2017) presented success and failure factors that affect the process of agile methods adoption in software development organizations. Conforto et al. (2014) recommended for further research on use of agile practices and project management in software and other industries. As a result, there is not enough research focused at embracing Agile in Small and Medium Enterprises (SMEs) in comparison with large enterprises. There is still paucity of research in this area and, as such, the present work aims to fill this gap, as well as to explore the combination of Agile approaches with traditional methods in SMEs and selection of specific methods of Agile for different types of projects. It will also be examined if adopting Agile in large projects is the reason for the project to succeed or fail. The findings of this paper provide new insight on Agile methods adoption in software development within various organizations in seven countries.

The remainder of the paper is structured as follows: Sect. 2 presents related work with study. Section 3 presents research methodology. Section 4 presents data analysis and results. Section 5 discusses the study results. Finally, Sect. 6 provides a conclusion and future research directions.

2 Literature review

Evidently, nowadays organizations are tested by fast-changing and constantly improving business surroundings and fully-experienced clients with continually rising anticipations so as to reduce the time and obtain the best possible services (Cooke 2014). During the development of any software, there are always certain challenges to be faced due to uncertainty. This is because from the beginning of the developing venture, it is hard to tell if a project’s requirements were identified in the right way (Abdalhamid and Mishra 2017). There is also a possibility that the requirements change during the process of development. Such problems can be solved by using Agile development methods, and one of the reasons that force many companies to announce an adoption of Agile methodologies is that the specialists related to Agile made strong and compelling claims with regards to the benefits of using Agile (Thakur and Kaur 2013). For quite some time, organizations have been progressively deploying Agile methods in their product development ventures. It was found in a survey that 41% of software development projects have adopted one of the Agile methods, and that such techniques are being used in 65% of those projects (Ambler 2006).

2.1 Agile methods in SME

It is commonly known that software is an indispensable part of everyday life, and in proceeding with the development of better software, new organizations in industry (small- and medium-size) have appeared over the past decade. The quick pace with which such organizations are established makes them face a few downsides, for example, casualness in the product improvement procedure and technological insufficiencies. Software development organizations are beginning to realize the significance of adapting software development methods according to project conditions (Mishra et al. 2018) and found in Agile methods a conceivable answer for developing their practices and procedures (Escobar-Sarmiento and Linares-Vásquez 2012). Small- and medium-size software development companies are shifting to Agile methods in light of the fact that these approaches are beneficial for small groups without complex organizational structures (Escobar-Sarmiento and Linares-Vásquez 2012). The Agile programming advancement strategies have been considered as an extreme-quality new model for product improvement, with small work groups without order or bureaucracy (Dyba and Dingsoyr 2009; Nerur et al. 2005).

2.2 Agile methods in large projects and organizations

The fact is that Agile methods were initially intended for use in small, single-group projects (Boehm and Turner 2005). Nonetheless, their actual and potential advantages have made them applicable both for larger projects and in bigger organizations (Dikert et al. 2016). Many large organizations are embracing agile software development as part of their continuous effort towards higher flexibility and shorter lead times (Paasivaara et al. 2018). However, the pertinence of Agile approaches to large organizations is frequently regarded as challenging (Simons 2002). The fundamental acceptance of agile development are challenged when applying the methods at a very large scale (Dingsøyr et al. 2018).

Agile approaches are also effective in other situations, where large and complicated software items frequently require orderly training with the required extra procedure to guarantee achievement. In very large-scale projects, this matter becomes even more so as the complication of the application space is frequently beyond the experience or expertise of certain clients, not to mention the developers. For this reason, there is an evident requirement for continued client engagement in large-scale complex projects as the main key for XP project achievement (Cao et al. 2004).

2.3 Organizational factors important for agile adoption and agile benefits

Recently Gupta et al. (2019) examined the impact of the different forms of organizational culture on success of using agile software development practices. Iivari and Iivari (2011) also analyzed the relationship between organizational culture and post-adoption deployment of agile methods and concluded the relationship between organizational culture and the deployment of agile systems development forms a rich and interesting research topic. They suggested further research in this regard. The adoption of agile development has reported some challenges in agile adoption such as slow participant buy-in, opposition to pair-programming, lack of detailed cost evaluation, scope creep, reduced focus on code base’s technical infrastructure and maintainability, difficulty evaluating and rewarding individual performance, and the need for significant on-site customer involvement, management support, competent managers and developers, and extensive training (Vijayasarathy and Turk 2008).

Practitioners frequently observed in surveys that Agile methods provide many benefits including better communication and coordination, improved quality, greater productivity, and higher morale (Tolfo et al. 2011; Van Oyen et al. 2001; Versionone 2008). A study at Microsoft also revealed that similar benefits were realized by the users of agile development approaches (Begel and Nagappan 2007).

3 Research methodology

The aim of this research is to examine the use of Agile approaches in general in addition to the use of Agile methods in small- and medium-scale software development organizations and the factors that influence the decision to choose one method over the others for a particular project. In addition to answering other research questions, this work is also focused on identifying organizational factors that can help the adoption of Agile methods easier and more productive. However, to define the research hypotheses of success factors, certain related attributes are needed to delineate the general view of success for a specific venture. In this respect, Cohn and Ford (2003) and Lindvall et al. (2004) recommend these criteria: quality (i.e., providing a working item), scope (meeting all prerequisites set by the client), timeliness, and cost. In addition, Misra et al. (2009) identified decreased delivery agenda and increased return on investment (ROI) as success attributes, adding that output, functionality and client satisfaction can also be seen as quality criteria. Considering the above mentioned studies, the research model related with organizationsal success factors are shown in Fig. 1 followed by the related hypothesis.

Fig. 1
figure 1

Research model of organizational success factors

In terms of success factors, the relationship between success factors and success attributes is positive, meaning that when the independent variable Xi (success factors) increases, the dependent variable Yi (success attributes) increases, and vice versa.

  • H1: The culture of organizations (OC) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H2: Team structure (TS) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H3: Management support (MS) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H4: Team organization (TO) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H5: Maintaining agility (MA) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H6: Universal acceptance of agile methods (UA) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

In terms of failure factors, the relationship between failure factors and success attributes is negative because when the independent variable Xi (failure factors) increases, the dependent variable Yi (success attributes) decreases, and vice versa. The research model is shown in Fig. 2 followed by related hypotheses.

Fig. 2
figure 2

Research model of organizational failure factors

  • H7: The absence of management support (MS) has a significant impact on on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H8: Bigger organization size (OS) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

  • H9: Organizational culture (OC) has a significant impact on the adoption of agile approach in terms of BC, CR, IQ, EE, CS, DS, RI.

4 Data analysis and results

The Google form was employed to gather the data. The target audience are individuals from companies that have adopted Agile. The questionnaire was filled by 52 software development companies from 7 different countries, but most of the responses are from Turkey (30), followed by India, Brazil, and Malta as 8, 7, and 4, respectively. Also, Finland, Saudi Arabia, and U.A.E. are represented by 1 company from each country.

As the purpose of this research is to explore the adoption of Agile methods in SMEs, most of the responses were collected from companies of such size, namely 24 small companies (less than 20 staff members) and 11 medium companies (comprising 20 to 200 staff members). For the comparison of the outcomes, responses were also collected from 17 large companies having more than 200 staff members.

To analyze the data, a statistical approach is adopted and, for this purpose, the IBM SPSS version 20 program is used. There are four different sections regarding the survey data, namely: the background information about the companies and the respondents who participated in the survey, the characteristics of the projects using Agile methods, organizational factors affecting the success of agile projects and finally the data on the Agile acceptance along with the comments provided by the respondents concerning the various aspects of the usage of Agile methods.

This section may be divided by subheadings. It should provide a concise and precise description of the experimental results, their interpretation as well as the experimental conclusions that can be drawn.

4.1 Reliability and validity test

Since this study is of exploratory nature, there is a need for a reliability analysis, for which purpose the Cronbach’s alpha is used as it is the most well-known and efficient technique today to calculate inner consistency reliability (Rubin and Babbie 1997). Higher estimations of Cronbach's alpha respectively demonstrate more noteworthy consistency in variance of the specimen test scores when the value exceeds 0.7 as the standard in a survey study.

Cronbach’s alpha for a set of test scores in this research yield 0.8 for the failure factors and acceptance of Agile, while for success factors this value stands at 0.9. According to these results, there is an indication of clear accuracy of the statistical deductions from the information; that is, there are no issues with the inner consistency reliability tests.

4.2 Background information

4.2.1 Respondents’ profile

This section presents the profile of respondents according to their positions in the companies. Table 1 shows the break-down.

Table 1 Profile of responders

4.2.2 Experience levels

In terms of years of experience in Agile development, differences can be observed from organization to organization; nevertheless, the highest number stands at 17 years of experience, while the lowest is one year. Most organizations have 3 to 10 years of experience in Agile development. The details are displayed in Table 2.

Table 2 Years of experience in Agile development

4.2.3 Level of projects complexity

Most companies—32 out of 52 develop their projects at a medium level of complexity, while the other 20 dealt with projects of high levels of complexity. None of the companies dealt with projects of low complexity.

4.2.4 Number of Agile projects

The number of the projects which used Agile methods ranges in the companies under study from 1 to 30. One of the companies developed thirty projects using Agile and 8 companies developed at least 10 projects in this way. The modal value is 4 with the frequency 10. More details are provided in the Table 3 below.

Table 3 Number of projects that used Agile

4.2.5 Types of systems developed

There are many types of systems that can be developed using Agile methods. Generally, companies develop more than two types of systems, where the majority of developed system are of the Windows-based followed by business systems. Embedded systems and safety–critical systems present the least popular ones as shown in Fig. 3.

Fig. 3
figure 3

Type of systems developed

4.2.6 Companies’ CMMI certification and CMMI level

The study reveals the majority of firms that responded to the survey were not CMMI-certified. To be specific, only 17 out of 52 have CMMI certification. To be more specific, 12 companies have the certificate of Level 3: Defined, 3 companies have certificate of Level 5: Optimizing, and two have either Level 2: Managed or Level 4: Quantitatively Managed. In addition, the responses reveal than none of the companies have any other software process assessment and improvement certifications such as ISO/IEC 15504.

4.3 Preferred Agile practices and methods in different projects

This section aims to ascertain which methods were used more in small, medium, and large projects. In essence, the question is whether project characteristics can determine which methods are to be used.

4.3.1 Agile methods’ joint application

By far, the majority of the responding firms—that is, 56%—used Agile methods along with other structured methods. Only 36% of firms used Agile methods solely, and finally the lowest percentage is pertinent to those who used Agile rarely (8%).

Since most companies use Agile along with one or more traditional software development methods, it is essential to determine these methods. The results show that most of the companies use the Waterfall model while the Spiral method is the least used one. The relevant data are summarized in Table 4.

Table 4 Methods used with Agile

4.3.2 Agile practices in companies

There are many practices of Agile and organizations use most of them, but some of them are more favoured, namely Scrum daily meetings, small release cycles, continuous integration, code and design reviews, use of design patterns, and code standard. See Fig. 4 for the details.

Fig. 4
figure 4

Agile Practices in Companies

4.3.3 Preferred Agile methods

There are many methods under the umbrella of Agile, and, in general, most companies used more than one of them. Our goal was to identifying the most preferred ones. The summary of the responses appear in Fig. 5, reveals that Scrum is the prevailing one, followed by the Extreme Programming (XP). The Dynamic Systems Development Method (DSDM) and Crystal have the lowest percentages.

Fig. 5
figure 5

Popular Agile methods

4.3.4 Preferred Agile methods in projects of different sizes

It was probed which Agile methods are preferred in small projects. According to the results, the situation is resembling the one described in the preceding section. More precisely, Scrum and XP are the most commonly used in this respect, while the Crystal and the Dynamic Systems Development Method (DSDM) represent the lowest percentages. All details are exhibited in Fig. 6.

Fig. 6
figure 6

Preferred Agile methods in small projects

The situation is somewhat different for medium sized projects. Although most agreed that the Scrum method is the most preferred one to develop medium projects followed by the Lean and Kanban methods. Some expressed other insights, indicating the Crystal method as effective in developing medium-sized projects, but this presents only small percentage and, hence, is among the lowest ones as shown in Fig. 7.

Fig. 7
figure 7

Preferred Agile methods in medium-sized projects

In terms of large projects, most of the participants reported to be the Scrum, followed this time by the Feature-Driven Development and the XP. We refer to Fig. 8.

Fig. 8
figure 8

Preferred Agile methods in large projects

4.4 Organizational success and failure factors

4.4.1 Organizational factors with positive impact on the adoption of Agile approach

The Pearson correlation coefficient rij, is computed with the help of the SPSS software for each organizational factor Xi and each quality attribute Yj. It is well-known that uncorrelatedness of random variables is less restrictive condition than their independence. Nevertheless, a non-zero correlation coefficient indicates relationship between variables. In essence, this coefficient describes how close a relationship exists between the variables to a linear one, while the sign of r demonstrates whether the relationship is positive (r > 0) or negative (r < 0). After a correlation coefficient is calculated, each rij is tested as to whether it provides a significant relationship at the level of significance α = 0.05 and if Xi is a significant explanatory variable for Yj. This is done by using the hypotheses of the form:

  • H0: rij = 0 (Xi is not a significant explanatory variable for Yj).

  • H1: rij ≠ 0 (Xi is a significant explanatory variable for Yj).

The test is a two-tailed t-test, with t (n − 2) = t (50) distribution and the t-statistic

$$\text{t} = \text{r}\frac{\sqrt{\mathrm{n}-2}}{1-{\mathrm{r}}^{2}}$$
(1)

From the observed value of the test statistic, the P-value is obtained and the null hypothesis is rejected if and only if P < 0.05. The following Table 5 shows which of the correlation coefficients appear to be significant (in bold). It can be observed that organizational culture, team structure and management support are crucial success organizational factors that have significant impact on the adoption of agile approach in terms of CR, IQ, CS, RI.

Table 5 Results of correlation test for success factors

4.4.2 Organizational factors negatively affecting the adoption of agile approach

The Pearson correlation coefficient rij and P-value for each organizational factor Xi and each quality attribute Yj is calculated as described in preceding Sect. 4.4.1. The following Table 6 shows which of the correlation coefficients appear to be significant (in bold). It can be observed that absence of management support, large organizational size and traditional culture in organizations have significant negative impact on the adoption of agile approach in terms of BC, CR, EE.

Table 6 Results of correlation test for Failure factors

4.5 Acceptance of Agile methods

4.5.1 Role of Agile methods in project failure

Agile methods are being used to develop various projects, but adoption of these methods may cause obstacles if the nature of the project is not well suited for the Agile development or if there is not enough skills/culture to support Agile development. The participants were asked about this issue. However, the outcomes of the questionnaire demonstrate convincingly that the adoption of Agile methods is not considered as a reason for project’s failure by 76.9% of respondents, and only 23.1% think otherwise. This indicates that adopting Agile methods was, indeed, beneficial and not the other way.

4.5.2 The benefits of Agile methods

The purpose of this research question is to indicate the main benefits gained by adopting Agile methods. Specifically, the following nine characteristics are selected for consideration:

  1. 1.

    The use of Agile provides better control over the work.

  2. 2.

    Using Agile methods allows to finish the tasks quickly.

  3. 3.

    Agile methods are used because they cope with changing user requirements in a better way.

  4. 4.

    Agile adoption allows to achieve better quality.

  5. 5.

    Agile methods are selected because of the type of the project.

  6. 6.

    Agile is used because it helps in effort estimation (cost, schedule).

  7. 7.

    Agile methods are used because they help to provide customer satisfaction.

  8. 8.

    Using Agile methods help to reduce the delivery schedules.

  9. 9.

    The Agile methods are used in order to increase the return on investment.

Furthermore, the size-related aspects (large, medium, and small) of companies are analyzed separately. The responses to the questionnaire are summarized in Table 7. To compare the realization of each statement after incorporation of Agile methods, the weighted Borda count is used where the score of each benefit is calculated as follows:

$$ {\text{Score}} = 3 \times {\text{S}} + 2 \times {\text{A}} + {\text{N}} $$
(2)

where S is the number of “Strongly Agree” responses, A is the number of “Agree” responses, and N stands for the number of “Neutral” responses. In the case when the score values are equal, the numbers of the “Strongly agree” replies are compared to determine the preference.

Table 7 Reasons for accepting Agile

Based on the aforementioned calculations, the following conclusions are reached:

The main benefit obtained by using Agile methods is 1: “Agile provides better control over the work” (score: 117). The next ones—rather close to each other in the opinion of the respondents—are 3 (“Agile methods cope with changing user requirements in a better way”) (score: 111) and 2 (“Using Agile allows to finish the tasks quickly”) (score: 110). If we compare these outcomes with the data of the companies with different sizes, we observe that 1 is still viewed as the primary advantage of the Agile methods within large and small companies, while for the medium-size companies, the priority is switched to 3, and 1 comes at the 4-th place.

The importance of benefit 3 is indicated as the major one by the employees of medium companies, while mentioned as 3-rd and 4-th by large and small companies, respectively. The role of Agile methods in achieving characteristic 2 was considered to be the third important one, and also it was determined as the 2-nd for large and medium companies, and the 3-rd for small ones. As a conclusion, in the evaluation of the benefits coming from adopting Agile methods, the priorities are:

$$ 1\, \to \,3\, \to \,2 $$

Along with finding the benefits gained mostly from the use of Agile methods, it is also determined which of them can be considered as receiving the weakest effect from the adoption of those methods. The data supplied in Table 7 shows that the quality which gains the least is 6 (“Agile is used because it helps in effort estimation—cost, schedule”) (score: 91), which remains also true for SMEs, whereas large companies mention 7 (“Agile methods are used because they help to provide customer satisfaction”) as such attribute. The impact of attributes 5 (“Agile methods are selected because of the type of the project”) (score: 92) and 4 (“Agile adoption allows to achieve better quality”) (score: 95) are listed as the 2-nd and 3-rd least important ones. It has to be pointed out that, according to this questionnaire, the Agile is not used mainly to achieve better quality. To summarize, the least important reasons to adopt Agile can be listed as follows:

$$ 6\, \to \,5\, \to \,4. $$

4.5.3 Reasons for not adopting Agile methods

As shown in Table 3, most companies used Agile methods in more than 3 projects. Nevertheless, there were 4 respondents who stated that they were not going to use Agile anymore. The following arguments have been presented by each one on the matter:

  • In our organization, any kind of change meets with resistance;

  • Some projects are very big and possess well-defined requirements;

  • The projects we are carrying out not suitable for Agile methods;

  • We do not have enough experience and skills in Agile.

5 Discussion

This study explores the factors involved in the adoption of Agile methods in SMEs. In all, 52 respondents participated from around the world, including 35 belonging to SMEs and the rest to large enterprises. Descriptive statistics is used to analyze the data from seven different countries based on their years of experiences and number of projects developed using Agile and majority of these are SMEs. These were the expected results since Agile methods are initially intended for use in small, single-group projects and are, as a result, popular in SMEs (Boehm and Turner 2005). Most of the small and medium companies developed projects with medium levels of complexity that do not require much time and large number of people. Meanwhile, medium and large companies have some projects of high levels of complexity.

5.1 Preferred Agile methods in different projects

This study identified that primarily, companies use Agile methods along with other structured methods because both can co-exist, thus constituting the greater part of practically utilized hybrid approaches (Kuhrmann and Fernández 2015; Kuhrmann et al. 2014). In terms of the methods used alongside Agile, the Waterfall model tops the list. It is observed that a mix of the Waterfall/XP, and Scrum/XP are the most widely embraced combinations (Solinski and Petersen 2016), and this was supported by the responses to the present research (see Sect. 4.3.1). The second method used together with Agile is Prototyping, which is the best choice to combine with Agile when the customer cannot participate in developing the project. Solinski and Petersen (2016) discovered that Scrum and XP are the most well-known endorsed methods, and this was also reiterated by the responses in the present research in Sect. 4.3.3. To elaborate more, it is observed which methods are more effective with small, medium, or large projects. Specifically, the XP and Scrum are more effective with small projects, Scrum and the Lean and Kanban methods with medium size projects, and, finally, the Scrum and Feature-Driven Development are considered most effective in large projects. This is also supported by Heikkilä et al. (2017) that in large scale agile development combining agile methods with a flexible feature development process can bring many benefits. Recently Küpper et al. (2019) also observed that in seven Estonian companies, five reported using practices and other elements of Scrum. Five companies mentioned use of practices and other elements of Kanban.

5.2 Organizational factors conducive for Agile adoption

Organizational culture has been found to have significant impact on the adoption of agile methods (see Sect. 4.4.1). As agile methods are essentially focused on human aspects, their application in organizations depends mostly on their adequacy to the current organizational culture (Tolfo et al. 2011). They also suggested that the analysis of the levels of organizational culture improves the understanding of how an agile culture should be established. Nerur et al. (2005) also stressed organizational culture has a significant impact on agile methods implementation in an organization as culture exerts considerable influence on decision-making processes, problem-solving strategies, innovative practices, information filtering, social negotiations, relationships, and planning and control mechanisms.

The results indicate that management support is a crucial success factor (Sect. 4.4.1.) in the adoption of agile methods. This result is aligned with multiple studies. Asnawi et al. (2011) noted that it is significant to have management support in the transition to the usage of agile methods. Pikkarainen et al. (2012) reported the significance of management providing the crucial goals and support for agile development. Management requires to support the changes needed in the software-development-related processes in order to optimize processes for agile methods (Boehm and Turner 2005). Management support is an absolute necessity and adopting agile, or implementing any significant change, requires an executive’s sincere support (Dikert et al. 2016). For Agile Methods, this is particularly challenging, as executive managers are risk and opportunity focuse—reluctant to induce risk without visibility (Coram and Bohner 2005).

Team structure is an important factor to achieve success in the adoption of agile methods as established in the present study (Sect. 4.4.1). In agile teams, team members, empowered with more discretionary and decision-making powers, are not confined to a specialized role. This increases the variation of the teams and empowers them to self-organize and counter with eagerness to coming scenarios (Nerur et al. 2005).

5.3 Organizational challenges in Agile adoption

The present study identifies that absence of suitable organizational culture can hinder the adoption of agile methods in an organization (Sect. 4.4.2). Nerur et al. (2005) concluded organizational forms and cultures helpful to innovation may adopt agile methods more easily than those built around bureaucracy and formalization. Agile transition is not an easy process as Gandomani and Nafchi (2016) observed in their study and challenges sometimes arise from organizational culture rather than people’s culture. In this case, focusing on organizational behaviors and improving them would be the only solution.

Further, the absence of management support can have adverse effects on agile adoption as reported in this work (Sect. 4.4.2). Vijayasarathy and Turk (2008) also identified management support as one of the challenges in the adoption of agile methods.

This study also found that large organizational size can negatively impact the adoption of agile methods (Sect. 4.4.2). There are many challenging issues related to development processes which are well-defined and essential in large organizations and might conflict with agile practices (Nuottila et al. 2016). Agile practices encourage self-disciplined decision making, feature development, integration on a team level while in large organizations mostly there are change control boards for system or architectural changes (Bowers et al. 2002; Lindvall et al. 2004). Agile methods promote self-driven, self-disciplined teams to plan testing, test-cases and quality control, but in large enterprises test case verification and quality reviews are often centralized controlled (Abrahamsson et al. 2009; Boehm and Turner 2005; Bowers et al. 2002; Cao et al. 2009; Lindvall et al. 2004). Further, agile methods suggest developers or team can integrate new software frequently into software architecture baseline but specifically in larger systems this is controlled and monitored because there is centralized architectural control over software development (Bowers et al. 2002; Lindvall et al. 2004).

5.4 Agile adoption as a potential reason for project failure

Majority of the respondents did not consider the adoption of agile methods as a reason for project’s failure (Sect. 4.5.1). This indicates that adopting Agile methods was, indeed, beneficial and not the other way. As most of the respondents are from small and medium enterprises, other studies also supported it (Asnawi et al. 2011; Boehm and Turner 2005; Cockburn and Highsmith 2001). Asnawi et al. (2011) observed researchers suggest two reasons in this regard: SMEs have more dynamic culture which is normally better suited to flexible and agile practices and secondly these companies do not have legacies to follow, and also not established formal and rigorous processes (Asnawi et al. 2011; Cockburn and Highsmith 2001). Nuottila et al. (2016) in their study in a public sector organization agile adoption (Scrum) on a complex system in a dynamic environment (not a large software development) found successful and observed remarkable improvements in efficiency of software development process compared to the traditional methods.

5.5 The Benefits of Agile Methods

The results show that software development companies adopt Agile approaches because of their various benefits, which include better control over the work, cope with changing user requirements in a better way, and finishing the tasks quickly (Sect. 4.5.2). In addition, when comparing these outcomes with the data from companies of different size, one can observe that providing better control over the work is still viewed as the primary advantage of the Agile methods within large and small companies, while for the medium-size companies, the priority is switched to coping with changing user requirements (Sect. 4.5.2). This is a new observation, which has not appeared in the available literature.

Some of the results here are aligned with previous studies. Agile provides better control over the work (Sect. 4.5.2) due to the fact that developers are allowed to make decisions without having to go through a bureaucratic approval process (Highsmith and Highsmith 2002). There is not a strict hierarchy or chain of command as agile leaders act more like coaches facilitating the software development process (Chin 2004; Cockburn and Highsmith 2001). Agile methods cope with changing user requirements in a better way (Sect. 4.5.2). Agile methods ensures that changing user requirements and changes are continually accommodated (Bonner et al. 2010). This is achieved through an iterative, incremental development process that involves active commitment from clients (Cockburn 2001; Highsmith 2009; Martin 2002) since feedback and communication are key elements of an evolutionary development process (Boehm and Turner 2005; Highsmith 2009; Highsmith and Highsmith 2002). Finishing the tasks quickly is one of the benefits established here (Sect. 4.5.2) and also mentioned in other studies as Agile development has a tendency to concentrate on the right-on-time and quick properties of the methods applied (Cockburn 2001).

6 Conclusion, limitations and future work

Applying quantitative methods, this study used survey data to examine embracing of Agile methods in SMEs working on software development, to find out which Agile methods are used in large projects to determine whether the choice of a specific method is affected by the size of the project; to enquire which other methods are used along with Agile; and finally, to establish what critical success and failure factors exist in Agile software development projects. The data gathered from 52 Agile software development companies from different-size organizations and geographic locations provided sufficient data for statistical analysis to address core issues and arrive at conclusions.

The Agile methods dominating large and complex projects are Scrum, the Feature-Driven Development, Lean and Kanban, and XP. The selection of an appropriate Agile method depends on the project size and, for each size, there are specific methods preferred by different enterprises (See Sect. 4.3.4). The results show that most companies prefer to adopt Agile methods in combination with other methods, and that these methods are mainly Waterfall and Prototyping. Software development companies adopt the Agile approach because of its advantages, mainly that the results present better control over the work. Other benefits are of different importance for companies of different size. We refer to Sect. 4.5.2. After examining the influence of various factors crucial for achieving success while adopting Agile methods, the following three organizational factors for Agile software development ventures were identified: organizational culture, team structure and management support. In terms of failure factors, absence of management support, a large organization size and traditional organizational culture can negatively impact the adoption of agile approach.

Despite the fact that this research achieved its objectives, there are still certain unavoidable restrictions that should be taken into account. To begin with, this study is constrained by the presumption that the information acquired across various work functions are equally critical. It would have been more interesting to explore if there are any differences in terms of the outcomes in light of the work elements of the respondents. Nevertheless, this ambition requires a change in the design of the original survey and instruments of research and, as such, shall be left to future initiatives. Although samples were collected from different countries, the sample sizes of those countries were not quite close to each other, which makes it hard to compare the situations in different countries. More countries and bigger sample size of public sector and private sector may shed insight on comparative issues on identified attributes towards adoption in these organizations. Further research can study relationship of agile methods adoption and cultural environment in public and private sectors. There is one issue that deserves more investigation in the future, and that is expanding the number of respondents from different countries to be involved in the survey to compare the similarities or discrepancies between these countries in terms of adopting Agile methods in organizations.