Hi Rahul Desai,
I think that generally the above is really solid for say an implementation of an ERP that may still be managed through a waterfall process of sorts. This is broadly generalising, but I think, even if the basic principles of the Agile Manifesto are core to your work process, the above type of documentation is less necessary.
The reason I say that is that it’s really hard to have a lot of these answers up front. A lot of revealed preference (either stakeholder or user/customer) is only revealed over time, and through deliberate attempts to engage in various testing mechanisms. Therefore something like Scrum, fed and informed by a strong user experience design process, and supported by user story mapping (or whatever your collabroative backlog process may be) is potentially a better framework.
The difficutly with broadly generalising is that it doesn’t fully account for situational context. The framework we have defined works for us because it caters to our situational context.
I would always advocate for collaboration over process. But that doesn;t mean collaboration without process.
Ultimately, what works for you is what works for you. I think in many ways we all apply similar basic principles and have a similar foundation. We just adapt where necessary to our situational context :)