Agility framework for software development: An investigation into agility concepts in the software development industry
Context: With agile software development, agile values and principles (stated in the agile manifesto) may lead to agility with software development. In this study, agile organization concepts are investigated through the survey method with agile software development to identify agile practices that will support agile values and principles to guide adoption and adaptation of agile processes and method practices for achieving agility. Objective: This thesis shows agile organization concepts are influencing agile software development through practices to support agile values and principles to help shape the agile development environment for teams to achieve software development agility. Through this study, eight agile organization concepts (knowledge management, organizational culture, organizational learning, competencies, responsiveness, speed, team effort and workforce agility) and their relating agile practices are identified for driving the agile software development environment for agility. Method: A quantitative approach involving the survey method was used for this investigation. The survey questions were developed and tested based on the literature review on agile organizations and agile software development. A list of possible participants, consisting of agile software development practitioners (software vendors, in-house software development teams of business organizations or institutions and software development contracting companies) was compiled, and they were invited to take part in this investigation. The statistical analysis tool, SmartPLS was used to conduct the analysis of the data collected. Results: The research reveals eight (8) agile organization concepts that are critical factors driving agile software development for achieving agility. The results of the survey identify organizational learning as the most critical agile organization concept for agility. Hence, learning relating to product development and management in a software development environment is as critical as producing the actual software. Through the survey results, based on the eight agile organization concepts, a number of agile software development practices have been identified which can guide adoption and adaptation of agile method practices for gaining agility with software development. Conclusion: This study investigated the agile organization concepts that influence agility capability in the software development environment. From this investigation, it can be concluded that agile organization concepts must be recognized as critical for shaping agile values and principles, so that achieving agility with software development is reinforced as the mind-set for agile method practitioners.