How we leverage tools and techniques to get real-time forecasts for our Data Science initiatives
What do you do when you’re in a meeting and the Chief Technology Officer asks, “Are we on target to achieve our strategic initiatives?” Do you flip through your mental notes? Do you quickly message your team over Slack or email? Do you request some time to get back with an update?
Wouldn’t it be great if you could push a button and get realistic schedules based on actual team progress?
Before we begin
- If you want to know how to create strategic initiatives, visit whatmatters.com. The website explains the goal-setting system of Objectives and Key Results (OKRs) and that execution is everything.
- Although there are many project management software programs, no tool is perfect. For this post, I’ll be using Atlassian’s Jira and Portfolio for Jira. Jira helps manage work, and Portfolio uses Jira tickets and corresponding ticket details to create a realistic schedule.
- The forecasting topics I’ll be covering in this post are based on the Agile Scrum framework with two-week Sprints. If you want to know how to achieve this for Kanban teams, you may send me a request for a new post.
Other things to consider
While it’s important to be able to forecast dates for strategic initiatives, you need to have visibility in other areas as well. The following are some questions to ask yourself:
- Did we break down each initiative into projects?
- Did we break down each project into tickets?
- Are we overloading our teams?
- Are there any cross-functional dependencies?
You may also need to pivot, depending on priorities or changes. Therefore, you have to consider what-if scenarios, such as the following:
- What happens if we add a project or remove a project?
- What happens if we update team members?
- What happens if we want to expedite a project?
Purpose of this post
We’re going to explore
- how to set up Jira so you can organize and manage your work,
- how to set up a Portfolio plan so you get an accurate view for planning, and
- how to use a Portfolio plan to get real-time updates.
How to set up Jira
Initially, it may seem like a lot of work to get everyone onboard to set up this framework. However, once the setup is complete, all you have to do is backlog refinement every Sprint, check teams’ velocity, and track progress.
It’s important to have all the necessary issue types in your project so you can break down big initiatives into small individual tickets. I recommend the following:
- Initiative: An initiative is a very large body of work that spans multiple projects (epics) and can take multiple quarters.
- Epic: An epic (project) is a large body of work that can be broken down into several smaller tickets. The scope of an epic should be addressed within a few months.
- Story: A story is a requirement that expresses user needs. The scope of a story should be addressed within a single Sprint.
- Task: A task represents a technical activity, such as design a diagram, code a functionality, test a device, or prepare a dataset. The scope of a task should be addressed within a single Sprint.
- Spike (optional): A spike is a research story that is used to investigate and figure out answers to tough technical or design problems.
- Bug: A bug is a problem that impairs or prevents the functions of a product.
- Sub-task (optional): A sub-task is similar to a task. A story, task, spike, or bug can be broken down further into digestible workloads.
We can customize a Jira project to have several levels of hierarchy . I prefer a simple hierarchy that links high-level initiatives to individual tickets. It’s important to create tickets in the right project under the right initiative. Otherwise, we can run into the following issues:
- We may assume a project is complete when, in fact, we forgot to link some tickets or linked them to the wrong project.
- We may find unlinked/orphaned tickets and not know which project or initiative they belong to.
We have to prioritize the projects in the order we want to complete them. This lets Portfolio know which project to schedule first.
We have to link tickets in Jira if we must complete one ticket before another. This lets Portfolio schedule the tickets consecutively.
We have to assign values to some fields so that Portfolio can take the ticket details and schedule the tickets accordingly.
- Version: Assign the ticket to a version if it has to go out in a specific release. This is called Releases in Portfolio. You can add dates to Releases and check if you’re on target in Portfolio.
- Team: Assign the ticket to a Portfolio team. I’ll cover this when we discuss velocity under Portfolio management.
- Estimate: Add story points to the ticket to indicate how much effort it will require.
- Assignee: Assign the ticket to a team member if you know for sure that the team member is the only person who can work on it. If any team member can work on it, leave it empty.
- Sprint: Slot the ticket in a Sprint only if you know that ticket has to be completed in that Sprint. Otherwise, leave it empty.
Create a Shared Team
We have to create a team under Portfolio — Manage Shared Teams. Portfolio will use team information and velocity to calculate the capacity and let you know if your team is overloaded.
Set Up a Scrum Board
We have to create a Scrum board in Jira. Portfolio will use this information to figure out how many Sprints it will take to complete an initiative or project. My teams use two-week Sprints to plan and complete their work.
How to set up a Portfolio plan
Before you create a plan in Portfolio, you first have to decide who’s going to benefit the most from the plan.
- Are you creating a plan for a team who will have visibility only for their projects?
- Are you creating a plan for a product manager who will have visibility for all the projects for their product, regardless of how many teams are involved?
- Are you creating a plan for a program manager who will be able to track various initiatives and projects, regardless of how many products or teams are involved?
Create a Plan
Portfolio will walk you through a wizard.
- Name: Enter a name for your plan.
- Board: Choose one or more boards. Depending on the plan type, you may pull in multiple boards.
- Releases: Choose one or more releases.
- Team: Portfolio will automatically create a new team. You’ll have to update this later.
- Scope: Choose the initiatives and projects you want to view in your plan.
Note: Portfolio has two interfaces. I prefer the live plan and have turned off the improved interface .
Click ‘Calculate’ and watch Portfolio automatically schedule tickets and provide you with real-time forecasts for initiatives and projects. You can move projects or tickets around. If you do, you’ll have to commit the changes back to Jira.
Portfolio automatically assigns you a new team. In the Teams section, you have to remove this team and add your existing shared team and their velocity.
Portfolio will let you switch between initiative, epic, and ticket to see how long each will take.
Portfolio has a capacity view to check how many points are slotted in each Sprint and whether your team is overloaded.
How to get real-time updates
Add or remove a project
If you add a project, you have to slot it in the right priority order in Jira. If you remove a project, you have to exclude it from the Portfolio plan. Once you’ve done this, you can click ‘Calculate’ to check how much the schedule has changed. Then, perform stakeholder management to let them know about the changes.
Update team members
Any time you update team members, you have to calculate the new velocity and add it to Portfolio. Once you’ve done this, you can click ‘Calculate’ to check how much the schedule has changed. Then, perform stakeholder management to let them know about the changes.
Green or Red Indicator
Once you have your Portfolio plan in place, all you have to do is monitor the green/red indicator. Green means you’re on target to meet the release dates you’ve set. Red means you’re not. When you see a red indicator, you’ll have to review the scope and capacity and perform stakeholder management accordingly to agree on a new release date or reduce the scope.
The next time you’re in a meeting and asked to provide an update, simply pull up your Portfolio plan and provide realistic release dates for your initiatives. Just remember, before you attend the meeting, ensure everything is green!