It's not a pipe dream, but it's also not all about "salespeople rushing sales to clients".

I work in analytics at an agency holding company, which involves a heavy dose of both dev work across dozens of clients/accounts. But my work isn't really seen as a dev project, so instead of the typical "client <-> account team <-> PM -> Me" telephone game devs get shoehorned into it's usually "client <-> account + me" (with PM being informed of any timelines as an FYI).

I get brought in directly to clients by the account teams when they have a need tangentially related to analytics. And even getting to own the conversation from the outset and throughout, I still have to deal with what you're talking about. It comes down to two things:

- The account team. Account and PM teams tend to "own" a particular client, and all work from that client goes through that team. If your agency focuses on a particular type of project/niche, this isn't usually an issue. But if your agency does a variety of things for clients, this can suck as the account (and PM) team may entirely unrelated backgrounds from the type of projects that come your way, such that they absolutely botch it on the frontend. That tends to be the biggest issue in my case, but might not be for you. Out of the dozens of accounts teams I work with, there are exactly three that I truly enjoy working with. Those three teams knew what they understood (and what they didn't), deferred and set client expectations as necessary, and were completely willing to listen to internal concerns and push back on the client when appropriate.

- The clients themselves. Even with the best account team, sometimes the acceptance/execution of the project itself acts as a forcing function with the client. It's not that selling the project was rushed - it's that the project needs would have been perpetually fuzzy until it was sold and started. The client lacks the resources (either in time or in skills) to truly understand and define everything upfront, and their exposure to the project as it is underway serves that role. Every now and then you'll have clients that are both aware of this and willing to acknowledge it, and will allow you to create a timeline that lets you resolve all of the planning with an explicit upfront phase in the timeline. Usually that's not the case though, and it takes an account team that's either generally incredibly shrewd or at least well seasoned with the type of project at hand to able to put mitigations in place to soften the impact of the trainwreck to come. Sometimes though it just can't be avoided - even being the one that would ultimately feel the impact of it, I've knowingly signed myself up for trainwrecks because situationally there just wasn't any alternative (either the client was too important/big to say no to anything or the project was too critical to the overall client engagement to say no).

The only way to really get out of that situation is to work for a specialized agency with an industry-leading reputation. By being a specialized agency, your account teams and PMs won't be "generalists" and will be well versed in selling and running the types of projects the agency specializes in. And they'll be able to use that industry reputation as both leverage with clients to do things right and as cover to turn down projects that are obvious trainwrecks and could damage the agency's reputation.