Maybe you are correcting the wrong paradigm
I have a problem with this article on a fairly fundamental level. The model you suggest is the same old tired "The developer shouldn't deal with the users" approach.
If you don't have developers that can deal with users and perform well as Systems Analysts (To use an old, but accurate term) then you shouldn't be doing the project.
Having BA's or Project Managers making any type of technical assesment or decision is a sure recipe for disaster.
The developers themselves should be completing the detailed Use Cases alongside appropriately selected users.
Agile methods can be used or not, depending on preference, but final requirements gathering and detailed design belong to people that understand both the business impact and the technical impact of design decisions.
The more layers between the developers and the day to day business users, the more a project is doomed to fail.