There's never enough time: Doing requirements under resource constraints, and what requirements engineering can learn from agile development
Bernd Waldmann
Abstract
Bernd Waldmann
Abstract
While Requirements Engineering textbooks state that a requirements specification must be complete, in real-life projects we are always starting too late, with too few resources, so we can't do everything. The software development community has solved a similar problem (not having enough resources to implement everything that was asked for) by introducing agile development methods, which offer ways of segmenting the overall project, and choosing which parts to allocate resources to. This paper is about how insights from that agile development community can be applied to requirements engineering activities for any (agile or non-agile) development project. Key terms in agile development, such as “working product” and “user story”, must be mapped intelligently to terms in requirements engineering - and not simply copied: the “product” of requirements engineering is not the same as the “product” being implemented by developers.
OpenAlex reports 17 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
While Requirements Engineering textbooks state that a requirements specification must be complete, in real-life projects we are always starting too late, with too few resources, so we can't do everything. The software development community has solved a similar problem (not having enough resources to implement everything that was asked for) by introducing agile development methods, which offer ways of segmenting the overall project, and choosing which parts to allocate resources to. This paper is about how insights from that agile development community can be applied to requirements engineering activities for any (agile or non-agile) development project. Key terms in agile development, such as “working product” and “user story”, must be mapped intelligently to terms in requirements engineering - and not simply copied: the “product” of requirements engineering is not the same as the “product” being implemented by developers.
Key concepts: Agile software development, Requirements engineering, Computer science, Requirements analysis, Requirements management, Requirement, Systems engineering, Resource (disambiguation)