Clients pay your bills so they make the rules, in theory. In practice it’s only necessary that they feel they’ve made the rules - as a data scientist I can influence what the rules might be. Oftentimes clients are difficult out of ignorance. People who aren’t aware of the technical work required to create simple functionality can complain that progress is slow. It’s important to highlight why things take a long time (at the appropriate level of complexity, of course).
The old adage of ‘underpromise, overdeliver’ is very much alive and true. Because clients don’t have a good grasp of how long it takes technical people to complete their tasks, being eager to complete tasks ahead of time will often go unrewarded. By contrast, raised (and unmet!) expectations set you up for failure. I have found that providing conservative estimates of resources required to complete a task has little downside, with the benefit that you are now more likely to deliver ahead of schedule.
Who should manage expectations? While this isn’t a data science task, it requires a fairly intimate knowledge of the resources available and the rate at which work is being completed. Therefore, data scientists should advise their managers on what to expect (and ideally the team should present a united front on what constitutes reasonable expectations). Managing expectations, when done well, is a task handled by someone who is able to accurately convey technical accomplishments in a non-technical way. This means highlighting challenging technical tasks, and demonstrating the value (however indirect) that is provided to the client. Data scientists aren’t good at this by default!