I recently started reading the excellent book called Designing Machine Learning Systems by Chip Huyen.
In the first few chapters, the book illustrated very clearly the differing stakeholder expectations of an ML system, by using a restaurant recommendation app as an example.
Data scientists / ML engineers ➡️ Want a model that recommends the best restaurant for each user
Sales team ➡️ Want a model that brings in the most revenue
Product team ➡️ Want a model that has low latency in returning results
IT / Platform Ops team ➡️ Want a model that is easy to maintain (e.g. bug-free, scalable)
The book proposes a technical approach to satisfy these different objectives by framing them formally as objective functions and solving them with multiple models. I fully agree with this approach from a technical point of view (i.e. data science).
However as I straddle the two worlds of data science & business consulting in my day job, I started reflecting on how could I complement the approach by applying some techniques I learned from consulting.
In a business setting, we often need to also manage actual stakeholders themselves, that view the world (and the project) through their own lens shaped by their unique backgrounds and motivations.
To really ensure the success of the project (i.e. the ML system), often we (or someone on the project team like the project manager or product owner) need to manage the stakeholders carefully.
These usually involve:
➡️ Talking to the stakeholders to understand their needs (e.g. the real needs and the needs that they mentioned)
➡️ Aligning the interests of multiple stakeholders (e.g. finding common grounds)
➡️ Communicating the proposed approach/result to the stakeholders (e.g. ensuring everyone understands the pros & cons of the approach).
If we can tackle the seemingly technical question of designing an ML system by considering it from the perspectives of both computers and people, perhaps we can increase the success of any ML endeavour in a business setting by many folds.