In AI Singapore, we execute 100 Experiments (100E) projects which employ AI to solve problem statements and the pain points of our customers (also known as project sponsors) in various industries. We also execute in-house Bricks projects which focus on product development around AI.
I have been managing AI Projects in AI Singapore for more than a year. In a previous post, we shared about Agile AI engineering practices. We have also curated a project delivery framework that has a lightweight process and adopts the best of all Agile methodologies for managing our projects. In this article, I am going to share this delivery framework.
The diagram below describes the AI Singapore’s project delivery framework.
The framework/methodology follows the phases below to deliver a minimum viable product for the project.
We will go through each phase in more detail.
In this phase, we work with the project sponsor to understand the problem statement and to assess the incremental value expected from an AI solution and the technical feasibility to deliver the solution within the stipulated budget and timeframe. An overview of the methodology and potential solutions for the problem will be shared with the project sponsor. The project proposal will be reviewed by the key stakeholders within AI Singapore and we move to the next phase after approval.
The project team within AI Singapore is formed in this phase, comprising of the project manager, principal investigator, mentor and apprentices (Please refer to the terms of reference at the end of the article). At the same time, the high-level timelines of the project are prepared. The project has a fixed timeframe of 7 months and is managed with 10 sprints of 3 weeks (or 14 sprints of 2 weeks if the project sponsor requests for shorter sprints) to deliver the minimum viable product at the end of the project.
The project kick-off meeting is scheduled with the project sponsor in this phase to introduce the project team, discuss the project timelines and finalize the scope of the project. Following the kick-off meeting, a user story workshop is conducted where the members from the project sponsor team and the project team from AI Singapore jointly prepare the product backlog which is a list of prioritized features planned for the project.
Software tools: Google Sheets is used to capture the product backlog.
With the overall project plan and the user stories produced from the planning phase, the project is executed in this phase, sprint by sprint, to produce the minimum viable product. Typical activities performed by the project team in each sprint include, but are not limited to, the following:
- Literature Review
- Exploratory Data Analysis
- Data Pipelining
- Feature Engineering
- Model Development, training and evaluation
- Model serving APIs
- Model deployment in the test environment of the project sponsor
Each sprint consists of a series of meetings where the project progress is monitored and controlled.
Sprint planning is conducted at the start of every sprint. The project team defines the sprint goals and prepares the sprint backlog containing a list of user stories prioritized by the project sponsor to work on in the sprint. The user stories are decomposed into manageable tasks and the developers estimate the effort for each task and add it to the issue board (more details in the section “Monitoring and Control”).
The project team meets for the daily stand-up, timeboxed to 15 minutes, where the developers provide status update on the work done, inform next task to do and highlight any blocker issues which need to be addressed by the mentor and the project manager. The issue board is updated to reflect the latest status of the tasks
Sprint review is conducted with the project sponsor at the end of every sprint. The project team provides progress updates and presents the accomplishments in the sprint. The team also discusses and agrees with the project sponsor on the user stories to plan for the next sprint. Any feedback or changes from the project sponsor on the user stories are incorporated and updated in the product backlog.
Sprint retrospective is an internal event within AI Singapore where the project team brainstorms ways for improvement. It is conducted after every sprint or every alternate sprint. The outcome is documented along with agreed actionable improvements for future sprints.
Monitoring and Control
Project progress is monitored regularly to identify any deviation from the plan. GitLab Issue Board, illustrated in the screenshot below, is used to track the progress of all the tasks in each sprint. Each task goes through the lifecycle of To Do, In Progress, Review and Closed. The board will be updated by the project team daily before the stand-up.
Project issues are tracked closely throughout the project. Issues are logged in the project issue register along with their description, owner, due date and status for proper tracking till their closure.
Project risks are identified upfront in the planning phase and they are logged in the project risk register. Each risk entry contains information about its description, probability, severity, mitigation plan, owner and status, and it is reviewed every sprint to pre-empt it turning into an issue.
Software tools: Google Sheets is used to capture the project issue register and the project risk register.
In this phase, the project team prepares detailed code and project documentation and arranges for code walk-through sessions to facilitate the handing over of the minimum viable product to the project sponsor. With this, the project is closed and the project sponsor signs off the project.
In addition to the above processes of the project delivery framework, I feel that timely and effective communication within the project team and with the project sponsor team during every phase of the project is crucial to the project’s success. In this aspect, the project team uses the Google Chat for internal communication and the Basecamp Campfire for external communication.
I would be happy to know more about your experience in managing AI projects in the Agile way. Please feel free to share your knowledge and the processes you adopt for your projects, so that we can learn from one another.
Terms of Reference
|Principal Investigator||Provides consultancy on project directions|
|Mentor||Technical lead who provides guidance to the apprentices|
|Apprentices||Developers in the project team|
|Project Sponsor||Customers of 100E project|