One additional factor for success:
Hire with the right expectations. If most of the value from the role comes from data analysis, communicate that. Often ML/data roles are hired by dangling the carrot of developing and deploying complex machine learning products. ML is sexy, a lot of managers want to manage ML projects and a lot of engineers want to work on them. In reality, most teams need someone that is good at SQL and can code a simple metric/heuristic. It’s also important to communicate to the team that shipping simple solutions and simple analysis is a great outcome. Your analysis showed that you can achieve 90% of the initial goal with a simple if/else on one metric? Great! Deploying and maintaining ML models is hard and should be a last resort. I’m saying that as someone whose entire career depends on complex machine learning models.
I've historically seen the ML team be separate from Data Science/Analytics, I wonder if that helps with this
First question, how do you see definitions getting managed between the client team and data team?
eg “this is the canonical definition of churn”
Second question, where do you think custom and 3rd party infrastructure management sits (especially in the case where the data team doesn’t sit under the engineering org)?
Second question, I think platform teams make sense, and at a large enough org this could be multiple layers with "data platform" sitting on top of "cloud platform". It's much less clear to me how to allocate those responsibilities when all the folks involved fit in a team or two instead of 3+. It's also unclear to me if something like Kafka is more "cloud platform" or "data platform".