I have been developing Advanced Analytics models for nearly 20 years, covering areas from Credit Risk to Customer Intelligence to Fraud Detection. Over that time, I have used the CRISP-DM project management framework time and time again and it has never failed me. In recent times I have worked with a number of clients who use Agile frameworks as their project management methodology of choice and insist that we use these approaches in our Analytics projects. I am not one to let a project management process stand in my way of delivering a good project so have worked hard work with the project managers on the various projects to make it work. In this blogpost I am going to explore some of the challenges that we face when using Agile frameworks for running Analytics projects.
Let’s start with some history, where did both frameworks come from?
CRISP-DM was developed between 1996 and 1999 by a consortium of 300 practitioners. It was developed due to the need for a specific project management methodology that worked in a ‘Data Mining’ context. It has stood the test of time and is still the most widely used methodology for Advanced Analytics and Machine Learning projects.
Agile methods have been developed based on the Agile Manifesto which was created by a group of 17 software developers in February 2001. It was developed due to a need for a specific project management methodology that worked in software development. Agile is an overall philosophy for running projects and has spawned many different specific methodologies including SCRUM, Kanban, Lean, and Extreme Programming.
So, both methods were designed at the about same time in response to deficiencies in the project management frameworks that were being used at that time. How do they differ you ask?
One key difference between the two approaches is what is being delivered. The deliverable for a CRISP-DM (Analytics) project is a piece of insight embedded into a decision space. The deliverable for an Agile (Software) project is a working piece of software or a product.
Another key difference is the concept of the minimum viable product, or MVP. In software development the concept of an MVP works really well. Within Analytics projects the idea of an MVP doesn’t really work because once we create a viable model our job is done.
Software projects developed using Agile methods focus on the needs of the end user. Gathering requirements using user-stories is a very powerful tool and works really well for software projects. Focusing on the end user may not always work well in an analytics context. Usually, focusing on the business objective works much better, because in most cases, the end user will never know of the existence of the analytics output.
Another difference is that for software projects it is usual that a team is assembled at the beginning of the project and the team work together on a full-time basis until the project it delivered. With analytics projects there are some resources, such as the data engineer, that are only required at certain stages in the project.
Agile methods focus on delivering working, tested product though multiple iterations. Iterations should be delivered within a relatively short time frame, normally 2-3 weeks. This concept works well for software projects but doesn’t really work for Analytics projects. Once you have created a tested workable model you are done!
So, in my opinion Agile methods in their current form are not a perfect match for Analytics projects. There are lots of aspects from CRISP-DM that still work really well, but there are some aspects of Agile that I really like and can be applied alongside CRISP-DM to form a better methodology for modern Analytics projects. Stay tuned for the next blog post, where I will discuss my thoughts on how you can adapt CRISP-DM with a healthy sprinkle of Agile.