Agile and Requirements
Hello
In the olden days, before embarking on a software delivery project (either internally developed or via a vendor) we would have a list of requirements. Sometimes, this list of requirements would be in the realm of 2000 or so. Honestly, by the time we had a response to those 2000, they would have changed anyway and the whole exercise would be somewhat futile. We'd meander through and then eventually deliver *something*.
What is the agile take on requirements? Clearly, there needs to be some, but how do we get that list down from 2000 to something manageable that is actually of use to developers?
What would be the minimum for a team to get started, so value can be delivered by the end of just one Sprint?
>> What is the agile take on requirements? Clearly, there needs to be some, but how do we get that list down from 2000 to something manageable that is actually of use to developers?
In addition to Ian's response, Scrum encourages planning based on empirical process control, meaning that your Product Backlog's requirements will emerge based on experimentation and knowledge, then using evidence from your Sprint review to get feedback from stakeholders to inspect and adapt the Product Backlog. You will also want to release early and often to get evidence and feedback from customers. Sometimes this is called a Minimal Viable Product.
In other words, just get started rather than try to list out 2000 requirements. As Agile practitioners we have a saying 'at the last responsible moment'. It is okay to put some ideas into the Product Backlog, just ensure the Product Backlog has the appropriate detail. If the PO feels a high degree of confidence that items will be take in at the next Sprint Planning, the those items will have more detail and be in a 'Ready' state. No need to go into much detail for items that may never be worked on.
Agile tells us to "Respond to change over following a plan".
In addition to previous responses: ask the future user (or his representative): is there something you could want to see accomplished that can be done, more or less, within a month? And after that we can look at what was accomplished, and plan another iteration...