Requirement Analysis in Agile Software Development of Distributed Systems

Mohammad Moshirpour, Farid Shirkavand, Armin Eberlein, and Behrouz H. Far

Keywords

Distributed systems, agile development, emergent behavior, message sequence chart

Abstract

Agile methodologies (DSDM, XP, Crystal, SCRUM, etc.) have been adopted as popular approaches to software development mainly because of their capability to deliver the end product faster and incorporate changes to the requirements. Agile follows iterative development, i.e. the implementation of software systems in successive releases. A side effect of multiple releases is introducing inconsistencies to the requirements that may lead to unpredictability of the system behavior at the run-time. Unpredictable systems are hard to debug and harder to manage. It is believed that agile methods can benefit from using more quantified and yet light-weight approaches across the entire development life cycle and particularly, the analysis of requirements for correctness. Checking for consistency of requirements prior to their implementation can remove the predictability problem and lead to significant savings in time and maintenance cost. This research proposes the utilization of a software tool which employs methodologies to automatically analyze system requirements in agile development and detect inconsistencies. The portrayal of requirements via user stories in agile development is used for this purpose. The advantages of adding requirement analysis methodologies to agile development are illustrated using a case study of a real-time drilling simulator.

Important Links:



Go Back