Skip to main content

Enterprise Server 3.15 is currently available as a release candidate.

Transcript - "Using Projects for feature planning"

Audio and visual transcript.

[Fast-paced, techy music plays. On a dark background, GitHub's Octocat logo fades into view. Bright neon lines swirl and branch outwards. Each line leads to something different: a button labeled "Convert to issue"; a pull request merge button marked "Ready"; a comment on a pull request, a project board, and a search field. In a green box, text: "GitHub Issues: Using Projects for feature planning." A pixelated cursor clicks: "Let's go!"]

[The narrator shares her screen. She's looking at a table layout in a project on GitHub.]

Narrator: Welcome. Let's take a lap around GitHub Projects and see how it supports you in tracking your feature work from beginning to end. Here we've got our OctoArcade Invaders board, and I'm ready to pick up our next feature.

[She clicks a tab on the project labeled "Features".]

Narrator: On our team, we have a simple process where we label the issue as a feature and build a view that focuses on all items with that label. Here we see all issues labeled as a feature. This way I can instantly see that this item is ready to be picked up and go ahead and open it to learn more.

[She scans her cursor over rows on the table layout and clicks an item called "Player-to-player chat capability." The issue opens as an overlay over the board.]

Narrator: Given chat is not a small set of work, I've created another product board to track all the various tasks and items that we'll need to do to enable this functionality.

[She clicks a link in the issue comment, taking her to another project named for the issue. On the "By Area" tab, the project has a table layout, and the rows are separated into groups, like "Design," "Storage," and "Media support," based on labels in the "Area" field.]

Narrator: In this main view, I've got my work already categorized by this custom field: Area. This is so I can split up my various issues into their appropriate workstreams or buckets. Projects is powerful because you can use these custom fields to add flexible metadata to your issues. You're not just limited by labels or adding a keyword in brackets to your issue title.

And it's great because I can actually edit this view to group by any of these fields.

[She clicks a dropdown icon next to the tab name, selects "Group", then scans her cursor over field options like "Status", "Iteration", and "Assignees".]

Narrator: Now, as we're continuing to flesh out the work for this feature, I can quickly jot down additional items that we need to address by leveraging this "Add" bar.

[She places her cursor in a text field below the "Design" group, labeled "Add item".]

Narrator: I'll use this to add several draft issues. For example, our chat client needs a search UI, the ability to edit your friend list, and we definitely need dark mode.

[She adds a draft issue for each requirement.]

Narrator: You can see with this "Add" bar, I can write a title, press enter, and keep moving forward to add the next item. It's optimized to help you rapidly take notes on what needs to go into this capability.

These are draft issues now, but it's as easy as clicking "Convert to issue" to promote them to fully fledged issues in the appropriate repository.

[She clicks a dropdown icon next to the "Search UI" draft issue, clicks "Convert to issue", and selects from a list of repositories below a search field.]

Narrator: As development progresses, you'll want to be able to schedule and quickly see status for your work items. This is where our board view shines.

[She clicks a tab labeled "Iteration plan". Issues, represented as draggable boxes, are arranged into columns for different iterations.]

Narrator: I've created one here that is grouped by iterations so we can see what's currently planned, what's coming up, and we can quickly drag items to the appropriate iteration to create our plan.

[She drags items from "No iteration" to "Iteration 3". She clicks a "plus" icon to create a column for "Iteration 4", and drags an item there. Then, she clicks a tab labeled "By Status". Issues are arranged into columns for statuses like "Backlog" and "In Progress".]

Narrator: Finally, we have our board view grouped by status so we can understand the state of our items at a glance.

I'm going to add linked pull requests as a visible field here so that my teammates can hop into a PR with just one click to start reviewing and get this issue moved to done.

[She clicks the dropdown icon next to the tab name, clicks "Title, Assignees, and Status", then selects a checkbox next to a hidden field called "Linked pull requests". In some of the issue boxes, a tag with a pull request icon and number appears.]

Narrator: We'll be ready to ship the chat feature in no time, with Projects.

[Blocks cover the screen. The GitHub logo and the word "Issues" appear.]

End of transcript. For more information about Projects, see the GitHub Issues documentation.