Looking at the requirements, and knowing that we have only two
that we can satisfy for sure, it makes sense to first mark
as mandatory the ability to withdraw cash, which is the most typical
use of an ATM machine. We are therefore going to mark this requirement
with an M, for mandatory. It also makes sense to mark as
mandatory the fact that the ATM system checks the PIN of the
card being used by the customer, as that's the typical level of
security that the customer would expect,
therefore we're going to mark as mandatory
also the first requirement here. And of course we
could also perform biometric verification, but based on our knowledge
of the domain, it seems like that should be
an additional verification, rather than the main and only verification
for the system. We will therefore mark it superfluous.
That is something that we can postpone until a later
release, the second requirement. Finally,
another typical operation that customers
perform at ATM machines is depositing. Whereas changing an ATM
card's PIN is not such a common operation. We'll therefore mark
it nice to have this fourth requirement and as superfluous, the
last one. So at the end, what we have is that
we have two mandatory requirements which are the two that we can
satisfy for sure. One, nice to have the requirement, which is
the possible third requirement which we might have time to satisfy. And
the other two that are marked as superfluous, as something that
we might do later, for example in a subsequent release. And of
course there is something subjective in these answers. But
again, based on our knowledge on our understanding of
the domain, these are the one that makes more
sense for an ATM system as we know it.