[An extract from a conversation on making machine intelligence work well in a corporate environment]
Which hard skills and prior knowledge shall we look for at a minimum, or as a starting base to build on? How would you rate the importance of prior knowledge in the following areas:
Business analysis/domain knowledge
In my view, Python, along with a basic awareness of data science, are typically the most useful skills with regards to implementing machine learning. Math/stats, and business skills aren't necessarily needed, although still very helpful. Java is most applicable when connecting to production systems to extract data, especially legacy industrial systems, or embedded systems, PIDs, and microcontrollers.
Data science teams should be able to demonstrate various projects that they have created. One should always look more at their GitHub than the resume. The code itself is a great way to validate if someone truy has the skills that they claim to.
Which skills and prior knowledge should we look for a Product owner role (Data scientists’ team lead)?
The product owner should ideally have experience with bringing experimental business technologies to an early-to-mid Technology Readiness Level, and demonstrating its value.
When deciding to invest in internal employees, an intensive training plan must be put in place. How would you tailor it in terms of content, duration, etc?
There are a lot of opportunities to learn Python online, via Coursera, EdX, CodeAcademy, etc. However, being able to work with an experienced mentor in person when one gets stuck is by far the most ideal. I recommend fast courses that are practical, hands-on, and can make something fun at the end, such as a game, or control the color of an LED bulb, etc, that feels like an accomplishment.
Those that gain an affinity with Python should then be given a basic overview of Data Science, and basic Machine Learning techniques. The focus should not be on trying to create anything original, but simply in knowing where to find the right elements (ML models, datasets, etc), which are appropriate to the problem case, and how to plug all of those together into a demonstrator.
A more experienced mentor can then help to select those projects that have the most real-world feasibility and added-value.
There may be colleagues who are interested in machine learning and data science, but which are part of other project teams. How would you recommend keeping them connected or involved?
I typically recommend that employees have an opportunity to learn basic data science and Python skills, in order to better solve the problems that they face in their own departments. It can be difficult for an outside team to understand the tricky issues of some process, or to create a solution that truly adds value for the actual users, in the way that best makes sense to them. I'm a big believer in allowing those with enthusiasm to get a chance to prove themselves.
For those who have an interest but lack the time, a small informal demo or presentation once a month might be a great way to keep everyone informed, and allow folks to feel that they have some emotional buy-in to a project as it develops, which might assist with any changes that could come from deploying such technologies.
What is a realistic expectation in the described context, in terms of time for delivering a first project as PoC?
As little as 6 months of training may be sufficient for someone new to the field, if they are engaged and have some technical awareness of computing systems.
If one has an experienced data team already, they should be able to solicit and prioritise 'sticking points' from various departments within the organisation in a few weeks, and begin to prototype potential solutions with another 4-6 weeks of effort.
Such prototypes may not be ready for immediate usage, so expectations must be managed, but they should be able to give a statistical, quantifiable improvement over the past method. If they cannot demonstrate this, they should be deferred whilst one looks for other solutions that might be able to perform with more satisfaction
Which are, in your opinion, the key success factors in this journey?
Keep a focus on the business/process benefits, and ensure that value is being demonstrated, not just cool technology.
Try to add value for the end-user as well as saving money or time.
The cultural and political factors of introducing new technology are often far more challenging than the challenges of creating technology itself.
It may be helpful to have a change management consultant available ad hoc if such issues arise.