My team has a serious problem with forgetting seemingly obvious requirements. The 1-2 weeks before a release are full of "oh wait, we forgot about x. But it's an easy change, no big deal." Simple omissions are bound to happen, but by the time we release, the list of omissions we caught is usually bigger than the list of initial requirements.
What's a good starting point for systematically determining requirements for new features up front?
Questions to consider:
- are there any checklists you use?
- are there any particular areas where more requirements are forgotten than others? (ex. security, UI layout, etc.)
- any useful / widely accepted books addressing this subject?
- have you been on a team that successfully addressed this problem; if so, how did you fix it?