Understanding the scope of our use case
Desirements (a word made up by combining desire and requirements) are functions that would be nice to have but not strictly necessary. For example, if we decided to add flashing lights to the robot because it looks cool, that would be a desirement. You may want to have it, but it does not contribute to the mission of the robot or the task it needs to perform.
Another example would be if we added that the robot must operate in the dark. There is no reason for this in the current context, and nothing we’ve stated in the use cases said that the robot would operate in the dark – just in an indoor room. This would be an example of scope creep, or extending the operation conditions without a solid reason why. It’s important to work very hard to keep requirements and use cases to a minimum, and even to throw out use cases that are unnecessary or redundant. I might have added a requirement for sorting the toys by color, but sorting...