It’s been only recently that I have been responsible for requirement gathering and I am quite overwhelmed by my inability to capture ALL requirements. At the end of a release requirements slip and I am, to say the least quite annoyed with me.
In the upcoming release I seem to be going crazy. I have one too many questions that I would like to ask the client as I don’t want to MISS ANYTHING.
Now the client would very much like something so accurate, but I have this feeling he might not want to be nagged day in and day out or bothered with every minute detail. (The only problem being, once delivered this detail that seemed so minute is not so minute anymore. Do I make any sense?)
Am I allowed to / supposed to ask the client ALL doubts that could lead to possible requirement gaps? Or should I just do what seems most rational to ME - hope things go fine, and if not just deal with it after the release?
All answers below (and all discussions I have had with colleagues) seem to recommend Agile / TDD / Prototypes / Iterative development. I am very pro some of these ideas and would love to follow them given a choice. I however don’t seem to have one at the moment, as the project follows (for over 2 years) a very “traditional” approach to software development.
From what I gather, the only way to move forward is to look for resources that would help me move (an existing project) from a traditional to an agile environment. Any leads? (Is this a terribly daunting task or is it just my imagination?)