Why collecting, modeling, and analyzing requirements? We might realize
that the resources available for the project are not enough
to satisfy all of them. For example, there's not
enough time, not enough money, not enough manpower. And therefore,
there are some requirements that we won't be able
to satisfy. In these cases, we must prioritize our requirements,
by classifying them in one of three classes. The
first class is mandatory requirements, and these are the requirements
we must satisfy. Then there are the nice to have requirements that are the
ones that we will satisfy if resources
allow. And finally, there are the superfluous
requirements, and those are the requirements that
we're going to keep around, but that we're
going to postpone. For example, we might decide
to satisfy them in the next release.