In a product development (PD) or project management (PM) context, we build a mathematical model (e.g., formulate an optimization problem or a DSM model) to calculate how long the PD project would take (or cost) given the various activity durations and rework probabilities. If we want to use a machine learning (ML) approach to address the same problem, we would consider available historical PD project data (e.g., number of activities, nominal activity duration, rework probabilities, etc.) and feed it into the selected ML algorithm and also tell the algorithm the project duration. Then, the ML algorithm would gradually develop the ability to predict how long the project will take given a particular set of inputs.

obviously, the ML approach requires a lot of historical data to be useful, but its main advantage is that the “intelligence acquisition” and refinement can be automated. On the other hand math models require accurate input and assumptions to be useful and provide accurate answers. Also, the dynamics of the process must be fully understood, in which case exact solutions would likely be possible. Finally, the constraints of the model may not produce solutions that are as robust in a real-world context as the machine learning model.

The ideal model combines both elements of mathematical modeling and machine learning. Such a solution would have exact solutions and low computational requirements of the mathematical model, but could introduce some robustness to the model through machine learning.  For example, ML can be used to figure out (from analyzing historical data) which activities are iterated / repeated the most and under what conditions, learning by doing, or other forms of project disruptions.