As an Agile Coach for Machine learning projects, I work with teams to break through the unknown of the research in becoming predictable and launching effective solutions.
Every project deals with a completely new human issue, and together with the team, we must find a way to standardize the process and to break it into features and user stories. The user stories must be small enough to fit into a sprint but also to provide business value. How do I do that?
A standard workflow of a user story is:
TODO -> REFINEMENT -> READY -> DEVELOPMENT -> DONE
- To-Do = the user story is just added to the backlog. It is missing information.
- Refinement = the product owner, together with the team, is adding more clarity to the user story.
- Ready = the user story has all the information needed to be estimated and is selected for development.
- Development = the scrum team, is implementing the user story.
- Done = the user story is ready to be released to the users.
Below is a standardized workflow for time to market of new features that I used in one of my projects.
- Report problem. The Product Owner adds to the backlog an issue encountered in the existing solution or a request for a new feature.
- Identify the issue. When the Product Owner adds an item to the product backlog, it is not a straight forward implementation. The team needs to perform further investigation. At this stage, the user story is yet in the refinement part of the process.
- Prepare the data pool. Machine learning means lots of data! The team needs to perform the vital step of finding the right data that will be annotated. The data must be similar to the reported issue data. From this moment on, we are in the development part of the user story workflow.
- Data Annotation. Usually, the data annotation process is manual and laborious. It is the moment when the team takes the data from the pool and marks the needed information to the machine learning model can use it to learn to improve.
- Model training. We are teaching the machine how to do it based on the data annotated. This step is very resource consuming. Depending on the solution size and hardware capabilities, it might take from minutes to days and weeks.
- Model testing. The data prepared is divided into two steps. One set is used for training and the other for testing the model. We want to see progress and a clear way to measure it.
- Retrain. This step usually involves redoing steps 3–6. One training cycle might not be enough to get the results you want. What is very important in this situation is to measure the number of retraining cycles. It is useful to can estimate the user story size for more information on Agile Metrics for Machine Learning projects-ready my related article.
- Release. This step will include a high-quality, detailed checklist: Peer Review, documentation, deployment to production, release notes, notification of the users.
These eight steps define how long it takes from the moment the Product Owner adds a new user story to the board until the user story is available to the users. For the success of your business, you might want to keep this time as small as possible. From experience, I know that this entire process initially can be as long as a couple of months. One of the first goals I suggest to the companies I coach is to work with the team to reduce the time to market. The efforts translate into more satisfied clients and a higher return of investment.
You might be interested in:
How to build a roadmap in Machine Learning projects using Agile methodology in 5 simple steps?
I was recently agile coaching a team who’s aiming to improve our lives with Machine Learning solutions.
8 Metrics to measure in your Machine Learning projects to bridge the communication between Business
Machine Learning projects are based on a considerable amount of research, infinite trial and error cycles and never…