# 6 — The key for data science projects: Stand Close to the User
Invest your time in creating user value.
This is story #6 of the series Flight checks for any (big) machine learning project.
Now that we already have KPIs, we already have a team, we’ve managed to productize a baseline quickly but without losing sight of the accumulated technical debt, we reassess the importance of our project to be a good practice software project.
The next aspect to highlight, as it is often a common mistake, is where to invest time when iterating a machine-learning initiative. Long story short: time investment is correct, but only if time is invested in the generation of short or long term value for the user.
To that end, there are 2 key aspects:
- From the standpoint of investment in KPI design, we need to understand the user’s needs well.
- From a development perspective, we should stand on the stack as close to the user as possible.
In a world full of startups, it is necessary to offer quick value and thus, “escape velocity” is key. The success or failure of the initiative depends, to a large extent, on the product generating value for the user and, to a lesser extent, on the technology stack being the most advanced (with exceptions such as when we are building technology for other companies). This means that as DS (Data Scientists), the closer we come to the users and the more we understand them, the better chance we have of delivering value.
The time we spend configuring low-level environments is time we are far from the user’s needs and close to our own needs. To iterate quickly, it is always a good idea to be as close as possible to the user in the stack, and to take advantage of existing services, make use of As A Service, of managed environments and of the high-level APIs of any available frameworks.
It doesn’t mean to be limited to them, or that it’s wrong to code an adapter of a deep learning framework in CUDA, but if it happens in the first iterations or very often, it may be a bad smell.
The closer we are to the user, the more successful the project will be. As a DS, proximity with the user allows us to better understand the behaviors or the domain we want to model.
A good team practice, cheap and effective, is to leave an empty chair in the meeting room when prioritizing the sprint backlog. Imagine the user sitting on that chair. What would he/she say to us? What would he/she think? An exercise that can help us focus and remember the reason behind what we do.
More flight checks are yet to come. Keep up & fly safe!