Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Interview with an Expert: How Vrbo’s Michael King Tamed a Chaotic, Globe-Spanning Project

OG_Vrbo_Article.png

Large projects with distributed teams can be a nightmare to organize. Here's how one program manager brought an out-of-control project back into order.


Even experienced, well-organized companies lose control of projects. When teams can't see their progress or the context for their efforts, the work loses a sense of direction. Momentum stalls out completely.

That's the scenario Michael King was trying to fix a few years ago. King is a Program Manager for Vrbo, a vacation rental company that’s part of Expedia. This story is about their efforts to migrate Australian subsidiary Stayz onto the webstack of another Expedia property, U.S. vacation rental company Homeaway. 

This wasn't the company's first site migration — it had done plenty of "big bang" migrations before, where the database migration happens overnight. This time around, the combined web properties were too big, with too many bookings, listings, and moving parts to make it all happen at once. Instead, the idea was to migrate an MVP (minimum viable product), iterate, then repeat. This meant coordinating a whopping 75 teams to work on major issues like the shutdown of the legacy site, regulatory compliance, property migration, global ops, and more. 

And oh yeah, these teams were on the opposite side of the world from management. Is it any wonder things got messy?

Finding the right organizational strategy 

Teams were losing track of their work. They needed to create a system for prioritizing tasks and mapping them to the larger project. King searched for a system to tame the chaos. 

"I was really just trying to understand how work items connected to each other. Not just in terms of dependencies, but I just wanted to visualize the space. I just couldn't understand how broad the issues were or where they belonged in individual teams or organizations — or even individual developers, when multiple people were working on very similar issues."

His goal was to organize tasks by showing how they connect with each other. That meant breaking the bewildering pile of issues into understandable chunks so he could help the team visualize the space and see the entire scope of the project.

Using Jira in combination with the app Structure for Jira served those aims — especially their ability to easily group and visualize multiple epics and their child stories, so multiple epics could be viewed simultaneously even when they were dispersed across Jira projects.

How to get it done

For a project of this scale, he created incremental delivery/release plans, called milestones. As long as everyone got their work within that bucket done, King said, management knew the project was on track. King set about sorting and organizing with Jira plus Structure. 

Here's his process:

  1. Find all your issues. Once the effort was well underway, more than a thousand issues were dispersed across more than fifty Jira projects. Initially, issues were mainly identified by labels. King searched for all the relevant labels to organize things. (As an aside, King avoids labels these days — which can have misspellings or small differences that lead to confusion. Instead, he recommends using components, as they have more strict naming conventions.)

  2. Sort them into milestone buckets. King built a representation of each milestone using Structure. He used the Structure Automation feature to automatically insert all of the project’s related issues — current and future — into each milestone. He simply used the exact JQL query he had been using all along to find related issues. Using the Structure Group feature, he sorted and grouped the issues by labels (later, components), and organized everything into larger milestone buckets: Milestone 1, Milestone 2, etc. To confirm teams planned work and assigned milestones, King ran another JQL query to retrieve epics, and set about examining each epic's stories by using the Extend function to include stories under each epic, as well as sub-tasks. That provided a simple way to find child stories and their sub-tasks without slogging through each epic manually.

  3. Find out how issues connect. Linked Jira issues identify critical paths across Vrbo's dev pods. Developers were diligently linking issues together, but had no standardized method for showing dependencies clearly. King used Structure to make the case for using "blocks/is blocked by" in cases of dependencies — standardizing on the use of "blocked" for critical path issues was enormously helpful.

  4. Create a standardized method to involve teams working outside Jira. Some teams that were involved in the process —  the go-to-market team, for example, which needed to review and approve the homepage user experience —  weren't using Jira. Instead of creating another system to get those official approvals, King created tickets within Jira to consolidate the work there. That meant everyone had the same baseline understanding of the process and were themselves active participants in approving those tickets. The only drawback? "They don't love creating Jira tickets," King says. So King himself created them. That took some effort, he concedes, but it was ultimately much easier to consolidate within Jira, creating a single source of truth. The alternative — using several systems — would have made it impossible to see the whole picture.

  5. Take full advantage of communications tools. King used the app's communications functionality to keep users from getting lost amid the many hundreds of issues in the system. For example, he used the Structure.Pages extension to embed helpful Confluence pages directly into the milestone visualizations, making it easier for users to reference them without ever leaving Jira. Or, if people couldn't find their way to a particular epic in the hierarchy, King used the Structure Share Perspective feature to create a URL that showed a specific milestone view that contained the epic in question.

 

Overall, the main achievement of all this was the visualization of a very large and very complex project. King organized all of the epics and their child stories in simple hierarchical views so that the teams could, at a glance, understand where their work belonged. By reading King's JQL queries they could immediately know how to label their issues (or which component to use) so new issues would automatically show up in the right place.

Creating a process that lasts

Since that project, the King’s Jira-powered system has been replicated for a number of web consolidations in his organization. The system worked so well that other program managers in the company simply picked it up. The basic setup is already established and understood. The other project leaders simply focus on the variations needed for their unique situation — different formatting for street addresses in foreign countries, for instance, or regulatory wrinkles of one kind or another. 

 

It's a finely tuned process; it just required some legwork to establish the foundation. 

King had searched for the right system to bring a huge, complex, international project to order, and a big part of that battle was finding a way to visualize the project in a way that made sense for everyone. Once the process clicked into place, the company took up those ideas and has run with them ever since.

Screen Shot 2020-09-09 at 3.54.55 PM.png

 

For more detail on King's process, check out his presentation on this topic. To learn more about Structure or try it for yourself, head over to Atlassian Marketplace.

3 comments

Taranjeet Singh Community Leader Sep 09, 2020

Nice article!

Mohammed Amine Community Leader Sep 27, 2020

thank you for this share. Structure is great.

Vero Rivas Community Leader Nov 20, 2020

Hi

 Thanks for sharing

Regards

Comment

Log in or Sign up to comment
TAGS

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you