Introduction to Software Change ◾ 79
requirements need to be expanded so that the programmers are sure what
functionality is expected. e opposite is overspecification, where the
requirements contain things that should be decided by programmers dur-
ing the implementation, for example, what data structures, algorithms, or
elements of the user interface should be used, and so forth. ese require-
ments need to be pruned, and the parts that cause the overspecification
need to be deleted.
Ambiguity describes requirements that can be interpreted in more than one way.
ese requirements need to be reconsidered and clarified. e requirements
can even be unintelligible, and in that case, they have to be replaced by better-
formulated ones.
Noise ...