Enquire into the reasons for each requested feature
Where the requirements are presented in the form of a solution to a problem, ask “why?” to find what problem the solution solves.
Spotting a requirement that is giving a solution to a problem is a bit of an art. The distinction is between what must happen to fill the goal of the user, and what is one way to make it happen. Users like to be helpful and give the solution, but if the developers accept that as a requirement, they lose flexibility and might be forced to write the system as a whole series of ‘special cases’ to implement these requirements.
Where users are permitted to give specific ‘solution’ requirements is when describing how they want to interact with the system. This desired interaction is often captured in the form of a scripted dialog known as a UseCase.
1. Agile Requirements Challenge #7. Project Stakeholders Prescribe Technology Solutions