Todd covers quite well (+1!) the reason from an agile team perspective. I'd like to add a parallel perspective to it - why a developer would want to work on an agile team.
First of all, agile is not for every developer. Not that's a problem per se, as there's still a lot of projects out there that are follows Command and Control approaches (some even using ...
IT IS! People forget this or gloss over it all the time. Pushing authority down the hierarchy has a lot of benefits for the organization and the individual but it is definitely harder - and for some people, it isn't worth it. For those that find it worth it, some of the most common reasons are:
1) Pride - Along with ownership comes a pride in the work that ...
Why should a developer want to work Agile?
Because a properly-implemented agile framework improves the pacing of a project and the sustainability of the developers' work efforts. It also increases collaboration between developers and stakeholders. If it doesn't do all of these things, then the team (or the organization) is probably Doing Agile Wrong™.
These sections of the PMBOK (Project Management Book of Knowledge) form the basis of what you're looking for.
Part 1, Chapter 5 (Project Scope Management)
Section 5.2 (Collect Requirements) and its three subsections;
5.2.1 (Collect Requirements: Inputs)
5.2.2 (Collect Requirements: Tools and Techniques
5.2.3 (Collect Requirements: Outputs)
These are the steps of gathering requirements:
Ask Questions to domain experts
Analyze and observe the old process and opportunities to add features
Brainstorming is a must... if you put quality time on it, then you will ask questions and in return you will have answers. Make an activity or flow diagram based on what you have gathered... ...