Emergent Requirements | Glossary

Definition: 

Emergent requirements are the features which cannot be identified in advance. User stories that are not defined, but rather emerge during the lifecycle of the software development. These exists on every nontrivial project, they cause problems. An up-front design phase will always be imperfect as it will be impossible for the designer to consider the requirements until they do emerge.

In sequential development process, emergent requirements are handled by adding contingency buffers to the plan and emergent requirement is viewed as a failure of the plan. Agile teams accepts the requirements that will emerge, no matter how carefully team members plan. The first step in dealing with emergent requirements is to acknowledge that we cannot thing of everything well in advance, some requirements will emerge as we develop the system. It should be accepted that we don’t need a perfect requirements document up-front that specifies all details of the system to be developed, rather it is better to specify features with different levels of precision based on when the feature with be developed.  It is not good idea to loc down requirements in a contract, we can’t. We can pretend requirements are locked down and won’t change but some always do. The best contract reflect this or at least acknowledge that change will happen. 

Further Reading:
Book: SUCCEEDING WITH AGILE Software Development Using Scrum by Mike Cohn