Discussion Managing AI/ML projects versus software engineering projects
While traditional software engineering projects typically have quantifiable deliverables or outcomes, AI/ML projects have an added complexity of experimental components to work towards the desired outcome. They involve a lot of data and require specialized skills and knowledge in machine learning, data science, and other related fields. From the project management perspective, below are some of the differences observed.
Unlike traditional software engineering projects, AI/ML projects are experimental in nature in most of the development stage. Tasks for downstream work may change depending on the findings gathered from the initial/upstream phases. It may not be possible to identify all the tasks in a work breakdown structure manner at the onset of projects.
Due to the inherent uncertainty on project activities, project planning and scheduling for AI/ML projects are mostly based on estimation unlike traditional software engineering projects where schedule can be deterministic. For AI/ML projects, there are tasks that may need to be repeated/reiterated due to data considerations and some tasks may have residual tasks in order to conclude the phase a project is in.
Furthermore, code testing for AI/ML projects is not as straightforward as traditional software engineering projects. In some AI/ML projects, the output could have an intended randomness in order to build a better ML model.
What are the other key differences that you have observed?
I completely agree on the points above. Data is of great significance to AI/ML projects. It is also important to note that data preparation is a time-consuming process. Educating customers about the importance of data curation and the impact it has on model accuracy is a crucial aspect of project management in AI/ML projects.
We should reiterate the need for good quantity and quality of data to ensure that the models are trained with the best possible data to get better results.