Should the first step in a machine learning project be to build a production system?
Deploying early solves a multitude of problems according to Bodywork ML. It forces you to think about and solve deployment issues early and encourages best practices at a stage when they are easy to implement.
This sort of approach (described as the Tracer Bullet approach in the excellent Pragmatic Progammer book) is popular in agile programming and allows iterative improvement to a basic system.
I like the thinking behind this approach, but must say I don't always follow it. I tend to find that I need a different mindset for MLOps vs data exploration. Building a production system given a limited understanding of the data and domain can lock you into an initial conception of the problem. I like to keep initial data exploration and model building as lightweight as possible until I really understand both the data and solution. However, getting something deployed and tested in reality early is certainly a good idea.
🛎️Why this matters: Model deployment can be tricky, thinking about it upfront can make things easier later.