The Illusion of Requirements in Software Development
This addresses a foundational issue in software engineering by questioning the reliability of requirements for project success, potentially impacting all software development processes.
The paper challenges the concept of requirements in software development by arguing that insufficient overlap between plausible approaches or incomplete identification of approaches can lead to too few requirements, causing analysts to misrepresent design decisions as requirements.
It is widely accepted that understanding system requirements is important for software development project success. However, this paper presents two novel challenges to the requirements concept. First, where many plausible approaches to achieving a goal are evident, there may be insufficient overlap between approaches to form requirements. Second, while all plausible approaches may have sufficient overlap to state requirements, we cannot know that unless all approaches are identified and we are sure that none have been missed. This suggest that many, if not most, software projects may have too few requirements drive the design process, and that analysts may misrepresent design decisions as requirements to compensate.