Working on data science projects can often feel like a marathon of equations, coding, and testing. One way to change the pace is to use sprint planning to speed up data science teams. Using the sprint planning method can help transform your team from middle school to an Olympic-level data science team.
But before we go deeper into sprint planning, there are a few key terms you need to know:
- Sprint Goal – a clearly defined expected outcome for the sprint.
- Product Backlog – an ordered list of everything that is known to be needed in the completed product.
- User Story – a short description of the product from the end-user perspective.
- Story Mapping – method for prioritizing each user story and estimating the time for it to be completed.
What is Sprint Planning?
A sprint planning meeting is when a software development team comes together to agree on what can be built and how it can be built within a predetermined time frame. The team defines and reviews the sprint goal, reviews the product backlog, selects or creates user stories, and completes a task estimating exercise (story map) for the upcoming sprint.
The sprint planning meeting should discuss and prioritize upcoming user stories and plan work for each team member.
Why Sprint Planning is Important?
Having a sprint planning meeting is a great opportunity to assemble the core team and establish responsibilities for the next sprint. It allows you to bring buy-in from your team, provides a reference point for measuring team or sprint velocity, and helps team members stay focused on their daily tasks.
Lack of focus or getting side-tracked by investigations is a common issue in data science projects. This can be attributed to the innate curiosity that drives most scientists or the ill-defined nature of some data science problems in general.
Prioritizing tasks beforehand with clearly defined timelines help team members stay focused on their daily goals. Sprint planning sets the team on a path to deliver on project goals and gives members confidence in deploying a product at the end of a sprint.
Some of the most notable benefits of holding a sprint planning meeting at the start of a sprint are:
- Each team member has a common understanding of the product.
- Each team member knows exactly what tasks they should be working on.
- Boost in team communication and collaboration.
- Knowledge transfer and gaining different perspectives among teammates.
- Commitment from core team members to deliver results before the deadline.
Facilitating Sprint Planning for Data Science Teams
While being an elite athlete takes years of preparation and sacrifice, planning and executing an effective sprint planning meeting will only take a few hours.
Before the MeetingBefore the sprint planning meeting, the project manager (PM) needs to determine the length of the meeting, select which tools the team will use to track user stories and tasks, and fill the product backlog with known user stories – making sure the stories all follow a standardized layout. The PM should also consider meeting privately with the product owner to establish reasonable goals and confirm what the product owner wants to see accomplished during the sprint.
If the meeting will be held in-person, it should be done in front of the project Kanban board. If the meeting will be conducted remotely, the PM should share his or her screen and bring up a Trello Kanban Board or another Kanban board service.
Using the project’s Kanban board, the PM should prepare user stories, making sure they all follow a standard layout and put them in the product backlog. The more prepared you are before the meeting, the easier it will be to facilitate the meeting.
During the MeetingAt the beginning of a remote meeting, encourage everyone to turn on their cameras to help the team pick up on social and visual cues during the meeting. Challenging opinions and providing constructive feedback is much easier when you can see the other person’s face.
When the meeting officially starts, the product owner should explain what the priorities are for the upcoming sprint. Next, the development team begins to discuss how the features can best be delivered. Allow the team to be open to change but not too flexible. Then, using the project Kanban board, review user stories within the product backlog, discuss the next highest value stories, and decide which one(s) will be the focus of the sprint goal. Once a sprint goal is determined, then the risks, team velocity, and team capacity need to be discussed and confirmed.
The team will then need to decide what tasks need to be finished to complete the sprint goal. Start by breaking down each user story into smaller, more manageable bites and task out the top value sub-stories. The team can do this via a playful “planning poker” game or by simply establishing point values to each task. Each person then decides how they can contribute to each task. While dividing up tasks, make sure each person has work for the length of the entire sprint. You should also be sure that each member has at least one task to start on and no one is duplicating work.
Now that every team member has a clear understanding of the sprint goal and knows exactly what they will be working on in the following sprint, the team needs to confirm, commit, and start the sprint.
Before ending the meeting, be sure to get a verbal approval from everyone on the team about what they are committing to deliver at the end of the sprint.
After the MeetingWith tasks in hand and a clear end goal, the team can start working to complete the sprint in the predetermined timeframe. The PM may need to have periodic check-ins with team members to determine if tasks are on-track to be completed by the end of the sprint. When a task is completed, each team member can move it to the “done” section of the Kanban board.
If your organization is looking for assistance with sprint planning for data science projects, contact us at info@a42labs.io to learn how we can help.