I've seen different project styles of Tableau dashboard development and I found the Agile way of working to be very effective.
In a higher education initiative I was involved in, we had multiple teams developing different sets of dashboards for a specific function of the business. Each team consisted of a policy and impact expert, 3/4 Tableau developers who were subject matter experts and would design dashboards independently. Then there would be two data wranglers supporting all teams and providing the appropriately structure data, as well as Tableau/Alteryx expert training the developers and available for the technical questions. Then overseeing the whole project we also had someone in charge of obtaining all the data, in terms of negotiating access or purchasing it where relevant.
As for a single dashboard output, a good starting point is to ask dashboard requirements (i.e. a basic skeleton of what business questions it's meant to answer). This is most effective if it is done between the audience and the developer. Often the end-user will not know what is possible as they are new to Tableau, here my advice is to recreate elements of existing reports. Then the developer can put something together and ask for feedback. Once the end-user sees a product they start to become more involved and suggest changes. After applying these, it is a good point to launch the dashboard with a small user base and ask for feedback. There should really be one last iteration of fixing elements and then go to the final release. This is sometimes difficult because it is quite easy to get caught up in trying to adapt the report to satisfy everyone requirements.
There is a great blog post by Chris Love who describes the timeline of this process: https://www.theinformationlab.co.uk/2016/03/03/from-data-to-insight-agile-tableau/
Hope this helps!