Effects of common requirements engineering techniques on requirements engineering success in agile environments: A case study from Sri Lanka
Requirements engineering is the process of exploring, analyzing, documenting and handling the needs to be facilitated through a computer-based system that is being developed. Though software solutions fail due to many reasons, Flawed Requirements Engineering (RE) is one of the main causes leading to failure of software projects especially in agile environments where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Therefore, succeeding in RE is an essential factor which influences success of the entire software project. In the light of achieving project success, various methods have been introduced to deal with RE. Main aim of this study is to explore the relationship between commonly used techniques and successful agile requirements engineering in agile environments with a special emphasis to Sri Lankan context. A secondary objective was to suggest innovative recommendations to software solution developers to achieve RE success. Five research questions were formulated to explore the relationship between mostly common techniques of requirements management and success of agile requirements engineering. Through key readings related to agile project development, authors have identified five key success factors as having an influence on successful project completion in an agile environment and are being tested in this research. Authors have designed the study taking an epistemological standpoint of positivism, using quantitative methods and case study strategy to derive conclusions. The entire population 130 employees of the case organization been considered for this study. The quantitative analysis of was conducted based on 105 valid responses gained through a five-point Likert scaled questionnaire from the case organization. It has been discovered that these common requirement engineering techniques are correlated with project success in agile environments. Further, scrutiny of each requirements engineering phase, led to finding a set of most effective techniques to be utilized in an agile environment contributing to software development project success.
Keywords: Requirements engineering, agile software development, project failures