Requirements analysis is important, however it is done. It could be a modern Use Case Model or a traditional Statement of Requirements. It could be provided by the client or developed by the contractor. Either way, client and contractor should agree what the requirements are before design and development work continues.
Good requirements analysis should allow future users of the proposed system to recognise easily that it will meet their needs – and it should be detailed enough to allow developers to implement a system which meets the users’ expectations. Well stated requirements underpin Acceptance Testing – does the system do what it was required to do?
Everyone knows that requirements change. But when they do the new requirements should be recorded – and the baseline documentation should be updated so that it remains valid.