Investigating the Applicability of Agile Practices in Software Organizations

Agile software development has gained significant importance the recent years. Software practitioners have recognized the importance of agile development due to the benefits offered. Therefore, agile software development has been identified as the replacement to traditional or plan driven style of development. There are different frameworks or methods, which follow agile principles, known as agile methodologies. SCRUM and XP are the most popular and widely used agile methods or framework. There are different types of agile methodologies, each containing a set of practices, which can be adapted and implemented in an organization. However, there is still a need for empirical studies to understand the factors like requirements/modifications, challenges and mitigation strategies/techniques, which can enable successful implementation of agile practices in software organizations. In this study, the primary objective is to provide a comprehensive model or framework to practitioners, which includes the list of important requirements/modifications, challenges and mitigation strategies/techniques while implementing agile, and also pertaining to adoption/implementation of individual agile practices specific to SCRUM and XP. This model also includes the categorization of the requirements/modifications and challenges into different levels of an organization, to which they mostly apply. This conceptual model or framework can aid the practitioners in understanding and implementing agile practices in a better way in their organizations. In this study, an industrial survey is conducted in order to identify the list of important requirements/modifications that are needed to implement agile, challenges faced during implementation, and mitigation strategies/techniques needed to address the challenges. Also, categorization of the identified lists into different levels of the organization is also performed using survey. A systematic literature review is performed in order to identify the primary lists of requirements/modifications, challenges and mitigation strategies/techniques, which are further validated and classified using survey. Also, systematic literature review is used to identify the list of requirements/modifications, challenges and mitigation strategies/techniques that are needed while implementing individual agile practices specific to SCRUM and XP. Based on the systematic literature review, 53 primary studies were identified which are relevant to the research area. Upon analyzing the primary studies, the list of requirements/modifications, challenges and solutions are identified for generic agile adoption/implementation and also pertaining to individual practices specific to SCRUM and XP. Thereupon, an industrial survey is conducted where, identified list of requirements/modifications, challenges and mitigation strategies/techniques are provided to the respondents. Respondents were asked to classify the obtained aspects based on the level of importance. Also, they were asked to categorize the obtained requirements/modifications and challenges into different levels of an organization. The survey has obtained 48 responses from different parts of the world. From the results of survey, requirements/modifications, challenges and mitigation strategies/techniques are classified based on the level of importance. Also, requirements/modifications and challenges are categorized into different levels of an organization. Using the obtained factors, a conceptual model or framework was constructed for practitioners that can enable them to understand and implement agile practices in their organizations in a better way. To conclude this research, a comprehensive model or framework was constructed using the final list of important requirements/modifications, challenges and mitigation strategies/techniques while implementing/adopting agile and also pertaining to the individual agile practices, and also based on the categorization of the requirements and challenges into levels of an organization, where they are applicable. The final list of identified lists of requirements/modifications; challenges and mitigation strategies/techniques pertaining to individual agile practices can help practitioners to understand the implementation criteria of agile practices in software organizations. It was observed from the results of survey that perception of literature and practitioners are different in terms of usage of agile practices, as some practices, which were given high focus in the literature, were not given equal priority by the respondents. Empirical findings also help to identify change in policies and procedures and change to open workspace as most important requirements/modifications, organizational resistance and lack of motivated programmers as most critical challenges and proper training and inclusion of experts as most used mitigation strategies/techniques. Moreover, it was concluded that there is also a need for further full-scale empirical works on identifying the factors that affect adoption of agile. Practitioners can identify the benefits from this research and researchers can extend this work to remaining agile methodologies.