Agile requirements engineering via paraconsistent reasoning
Innovative companies need an agile approach towards product and service requirements, to rapidly respond to and exploit changing conditions. The agile approach to requirements must nonetheless be systematic, especially with respect to accommodating legal and non-functional requirements. This paper examines how to support lightweight, agile requirements processes which can still be systematically modeled, analyzed and changed. We propose a framework, RE-KOMBINE, which is based on a propositional language for requirements modeling called Techne. We define operations on Techne models which tolerate the presence of inconsistencies. This paraconsistent reasoning is vital for supporting delayed commitment to particular design solutions. We evaluate these operations with an industry case study using two well-known formal analysis tools. Our evaluations show that the proposed framework scales to industry-sized requirements model, while still retaining (via propositional logic) the informality that is so useful during early requirements analysis. HighlightsMotivates importance of managing software variability via paraconsistent reasoning.Introduces RE-KOMBINE for solving inconsistent requirements problems.Creates language T1 for expressing inconsistent requirements problems.Specifies and implements operators for querying requirements problems.Evaluates the RE-KOMBINE framework with a retrospective industrial case study.