Software Engineering

Requirements Are Volatile: Design, Resource Allocation, and Lifecyles Aren't So Flexible

For the majority of software development initiatives, bad requirements are a fact of life. Even when there is a high quality elicitation process, requirement change throughout the software lifecycle model. This is expected, if not desired to build a system that the customers wants and will use. But, it's difficult to change design and resource allocation once these have been developed based on initial requirements. And, the lifecycle model itself makes adjusting processes to accommodate new requirements difficult, even when abandoning discrete models in favor of more continuous approaches.

Bad requirements happen for many reasons. But, of all the requirements engineering processes, requirements elicitation has the highest incidence of malpractice.

Too little time is spent on elicitation and it is difficult to get customers to communicate their requirements because they either do not know what they want,...
[ View Full Essay]