Linux

How GitHub coordinates product releases with GitHub Projects and GitHub Actions


Looking to supercharge cross-functional work at your organization?

Here at GitHub, we take pride in using GitHub to release new products and features. Each new product and feature that we release requires a great amount of cross-functional collaboration, and touches nearly all our teams, from engineering to social media. But it’s not a challenge to share information across teams thanks to GitHub Projects—a tool that allows our Product Operations team to track, manage, and inform the right teams about what’s needed and when for any given release. We also use GitHub Actions to provide a variety of services for teams across the company, including informing teams of key data points like timelines, project scope, and even customer feedback once a new release is shipped. GitHub Actions lets us leverage event-based triggers and scheduled jobs to keep the right teams prepared and aligned each time we deliver a new feature to our customers. These tools help us supercharge our workflows and enable clear, predictable communication among stakeholders.

Below, we’ll explore how GitHub Projects helps us supercharge our workflows and enable clear, predictable communication between stakeholders. Let’s dive in!

With every ship, an issue is born

A month before we want to ship something, we’ll open an issue in the Release repository. In this issue, we’ll detail the type of new product or feature, like the product category and target customer. Then, we’ll format the issue to include the desired type of GitHub Actions automation, like flags for missing campaign content or uncompleted sign offs. With an Actions workflow, the issue is added to the greater project board. Any other relevant information, including Docs, FAQs, other releases, and formatting needs are included, as well. We’ll also create separate go to market (GTM) and customer readiness issues, which are automatically bundled with the main release issue on the project board, so everyone can view all the pertinent information in one place. Whenever there are any changes to the issue, like date changes, a comment is automatically created on the bottom of the issue, so everyone can easily see the latest updates.

From issues to projects and back

One of the nicest things about GitHub Projects is it provides a seamless experience, no matter where we’re making updates or changes. Need to add metadata to the issue? Boom, it’s automatically included in the project board. Someone changed something directly on the project board? That change is instantly reflected in the issue. With real-time integration, we can work wherever is most convenient.

Using the Add-to-Project GitHub Action makes things even easier. This automatically creates a workflow that runs when issues or pull requests are opened and labeled in our repo. It also supports adding issues to our project, which get transferred into the main repository. As a bonus, we can configure filters we may want to add, such as a filter that adds issues only with certain labels. We can even match labels with an “AND” or an “OR” operator, or exclude labels with a “NOT” operator.

Example of filters used with the Add-To-Project GitHub Action.

Views you can use for everyone

GitHub Projects creates a delightful visual experience. Our team can see what any given project table is about with one glance. This is useful in our weekly launch review meetings, where different team members show their project boards and give their updates.

Screenshot of a team's GitHub Project board filtered to show work for the months of June, July, and August. Tabs at the top of the screen show options for other ways to filter, such as by product area.

The visual display can be easily filtered depending on what you want to see. This is great for the different product and GTM teams who want to see views for their specific ships. For instance, our leadership team wanted to see what was being shipped in the summer of 2022. With a quick change of the filter, they instantly got the information they needed. Likewise, the Docs team continually needs to see if there are any doc-related features shipping in the upcoming weeks. GitHub Projects makes this a snap. Our comms teams can easily view what things are shipping soon and then craft their communications accordingly. Even the customer success team can view how their input waterfalls off the releases repo.

The bottom line

No matter how big the release or how huge the cross-functional scale, GitHub Projects enables us to get releases out the door with ease by providing a seamless and elegant experience that lets us work together effectively while keeping everyone informed and happy.

Ready to begin using GitHub Projects? Get started now.



Source link