Best Practices in Prototyping

Cross-Functional Teams

Like any new project, a collaborative, hard-working, well-functioning team is needed to ensure success of AI/ML prototype efforts. But unlike many business projects, which are often functionally managed in a single department, AI/ML projects require significant cross-functional expertise.

The number of people required varies based on the complexity of the project, but as with all good software development efforts, a handful of fully committed resources will always produce superior outcomes than a larger, highly fragmented team.

The following figure highlights five key roles in any prototyping effort: data scientist(s), data engineer(s), project manager, product manager, and developer(s).

Infographic

Figure 28: A cross-functional team is required to prototype AI/ML applications

The data engineer(s) extract, wrangle, and unify big data from source systems (like data historians or databases). They are responsible for collaborating with data scientists to ensure the data are correlated and normalized in a manner conducive to the machine learning models.

The data scientist(s) explore, test, and evaluate machine learning models using historical data. They are responsible for visualizing data, training machine learning models, computing performance metrics, and visualizing results.

The developer(s) create the software interfaces that enable end users to consume and act on ongoing model inferences. Such interfaces can include APIs (or other hooks) to existing systems and applications or full workflow-enabled, browser-based application user interfaces.

The product manager defines the scope and requirements of the AI/ML application, including the AI insight(s) necessary, how to surface those insights to users, and the best approach to operationalize those insights within a business process. The product manager is a bridge between business users, data scientists, and data engineers. The product manager has to understand the economic value drivers of the machine learning problem while structuring and guiding the problem-solving effort.

The project manager tracks the activities, timelines, deliverables, and status of the development. The project manager aligns work activities, tracks progress, identifies solutions to project barriers, and escalates issues early and often to senior leadership.