Using Agile to Deliver Machine Learning Projects
If you are a Scrum Master, RTE or Agile Coach, there is a Machine Learning project in your future! Companies are committed to move forward with Machine Learning as a top strategic priority, so you should count on one of these projects to show up in your inbox, sooner or later! So should you worry? Yes! A Machine Learning project is different than a software development project, and I'll explain how. Due to the nature of a Machine Learning project, Agile is the best methodology to manage the unknown, the iterative nature of the work, and the ML team and the stakeholders. Consider also the metrics – Agile provides great solutions for reporting on the work status when the work is coming in spikes. I will also talk about how the predictive models (your project’s ultimate deliverables) are basically immortal, so when the Machine Learning project closes there will be specific tasks you should still address. With this presentation, you will be ready to work with the Machine Learning engineers and Product Owners, and be on your way to a successful project delivery.
Outline/Structure of the Talk
- There is a Machine Learning project in your future
- AI and specifically Data Science and Machine Learning are expanding rapidly across companies. Machine Learning is a number one priority in companies like Google and Facebook, but also in ecommerce, financial and insurance companies. If you work for a corporation, chances are that sooner or later there will be a ML project in your future.
- Why is a Machine Learning project different than a software development project
- We'll quickly explain what Machine Learning is, and what are the development phases of a ML project.
- Regular software development projects have a rough scope as they begin, and the work can be estimated based on past projects. However, ML projects have a lot of unknown built in, which makes any kind of roadmap definition, release planning, and scalability quite challenging.
- Why Agile is the best methodology to manage Machine Learning projects
- ML development work is: experiment - feedback -- adapt, and this is exactly what Agile is great at.
- Managing the unknown in the project
- I will discuss techniques to deal with the uncertainty, specifically at the Data Exploration phase where creating good user stories is very challenging given that the team does not know what the data will say.
- Managing the iterative nature of the work correctly
- During the modeling phase, I am arguing that Agile professionals should help the team by making sure there are enough iterations defined, and having the correct Epics and user stories that show the team's progress.
- Managing the ML team and the stakeholders' expectations
- Communication is a big part of what the Scrum Master or RTE has to do, and managing the expectations of the business customer is very important. If the stakeholders understand some of the subtleties of how ML works, there will be less friction during development.
- Consider the metrics
- Many stakeholders are complaining that they have to visibility into ML projects. I am suggesting some Agile metrics that worked for me, to show the team's progress in terms that the business customers understand.
- I present some best practices I've developed for managing ML projects, such as specific questions to ask during release/PI planning, how to slice user stories, etc.
After this presentation, you will be ready to work with the Machine Learning engineers and Product Owners to efficiently use Agile to tactically execute your project, and be on your way to a successful product delivery.
Scrum Masters, RTE, Agile Coaches, Product Owners, Project Managers, Product Managers
Prerequisites for Attendees