What are the ways of managing the evolving requirements without turning them into a mess?
We do not have a dedicated analyst in our team so this role is shared by all the members.
Our reoccurring workflow is the following:
- Users send us the initial version of requirements for new functionality which is then followed by a discussion with many questions and clarifications.
- After functionality is implemented and new version of application is deployed users can play with it, and decide what they like, and what they don't. Very likely they ask for some changes or additions. And the cycle repeats.
- Nobody summarizes the requirements in a document approved by the users. We just store msg files in the archive.
- After N iterations it's quite painful to restore the whole discussion and understand why system behaves now as it does and what its evolution was. Especially it is difficult to explicitly emphasize client's decisions.
Ideally I'd prefer to have some system which allows to store and compare versions of documents, and attach discussions both to the whole document and the particular change. Yet, I am unaware of such a software.
Could you provide some advice or methodology for managing requirements?