Replies: 9 comments 33 replies
-
Overview of the new GitHub Projects. Blog post about the new Roadmap View |
Beta Was this translation helpful? Give feedback.
-
Project management tools are inextricably linked to the management structure of the organization. I think we should be clear about which we are proposing to change! For example, "project-based vs team-based boards" seems like a change to both. Changes are welcome but I think we should be careful not to conflate them and risk letting tool choices drive management choices instead of the other way around. |
Beta Was this translation helpful? Give feedback.
-
I agree that we should not stumble into a new management structure - thanks for flagging that @TrentonBush ! It sounded like there was a lot of pain around "the boundaries of our work don't line up neatly with our teams" - driven, for example, by the recent XBRL work which spanned the Inframundo and RMI teams. Maybe some people who were actually involved in that can chime in with some concrete pain points. It sounded to like it was hard to focus in on what was going on in the project across multiple teams, which makes sense. That being said, I think we can kick the "management structure" can down the road - we can continue to work in teams, but figure out how to make GH projects work well for that. Since Projects supports many views onto the same issue database, I think we can alleviate the "hard to see all the relevant things" issue with just "competent usage of the various filtering options." |
Beta Was this translation helpful? Give feedback.
-
I've played around with GH Projects a bit. Apologies for all the noise. What I actually didI made One Big Catalyst Project - with the hope that we could then slice & dice however we wanted. I added a handful of tickets that I knew about and then added the most recently updated 25 issues or requests from several repos:
I then tried to label issues by team. A lot of stuff ended up in Inframundo because there's just a lot of "bring this data in" or "something is wrong with something we did" or "there's some maintenance work to do" tickets. Here's the Inframundo board (filtered by an #inframundo label that I've added to a variety of repositories). We have a lot of things in backlog, but that's nothing new. There's also an RMI board. I left most of these tickets in "New" because I don't know anything about y'all's project management. (I did tag everything in the I also tried a couple project boards: Dagster, XBRL. With Dagster I used a milestone and with XBRL I just used the old XBRL label. TakeawaysPain points so far:
Nice things so far:
|
Beta Was this translation helpful? Give feedback.
-
Is there any per-project functionality that will be messed by if we keep everything in a single mega-project? Like the Roadmap View? Or can we filter what appears in all the different kinds of views? Can we add numerical estimates of issue size / complexity in order to be able to track "velocity" and understand whether we're taking on too much work in a given chunk of time? How do start/end date fields interact with temporal metadata like Milestones? |
Beta Was this translation helpful? Give feedback.
-
How does GH Projects handle tasks that are in private repos? Can you put both private and public issues on the same board and roadmap view without exposing them publicly? |
Beta Was this translation helpful? Give feedback.
-
For posterity - this is how I have been getting the list of issues to manually add to the project:
If there was better CLI support for adding projects to issues we could just chain some more CLI commands together - unfortunately Additionally, auto-adding issues is for Enterprise Cloud users only. But I think we can find a way around it. We might even be able to use that |
Beta Was this translation helpful? Give feedback.
-
The @catalyst-cooperative/inframundo team has been using the new GitHub Projects for a couple of sprints now, and we've also gotten access to the new Tasklists functionality which is currently in private beta. I spent some time yesterday playing with the new Roadmap view, and I feel like I have a sense of how the different components could map to functionality we need and may be familiar with from our ZenHub usage, so I wanted to share and see what other people think. The tools that GitHub Projects provides to organize time and tasks are a bit different from what ZenHub had.
TasksIssuesIssues are the basic building block of our project management. Discrete chunks of work to be done, hopefully containing enough context that several people could pick them up and run with them if they're at the top of the priority list. Issues have been extended by Tasklists so that some issues can also be used as containers for grouping together other related issues. Issues don't have any sense of time associated with them, unless they've been put into an Iteration. Tasklists
Tasklists show relevant metadata about the contained issues, and provide a checklist-style sense of progress as issues are closed. They also show a little progress wheel when a Tasklist issue shows up in some other contexts which is nice. In addition to containing issues, Tasklists can contain PRs, draft issues, or even just a simple todo-list style task with no additional structure, reducing the overhead for tracking things that we need to remember, but that don't need all the bells and whistles of a full blown issue. They also make it easy to turn those tasks and draft issues into full blown issues when needed. Tasklists provide the functionality of Epics in ZenHub, and maybe a bit of what ZenHub Projects did (the task grouping, not the timeboxing). Creating a Tasklist in an issue makes that issue a container for tracking other issues: "Tracks" and "Tracked by" fields that can be used to filter issues in the board and table views, and to group related issues in the Roadmap view. This lets us easily see both the Time and Tasks dimensions at the same time. This will work best if we try and put most issues into a Tasklist, but we can still issues that aren't in a Tasklist in the Roadmap view -- they just all get grouped together as orphans. The temporal extent of a Tasklist in the Roadmap view is determined by the start/end dates of all the Iterations associated with the tasks that are inside the Tasklist. TimeIterationsIterations are relatively small, repeating time boxes, in which discrete units of work (issues) get completed. They correspond to Sprints in ZenHub (and we've renamed them to be called Sprints in our Project). Iterations can help us focus on the day-to-day work we're moving across the board, so we don't get distracted by the ocean of stuff in the backlog or long-term goals outside of sprint + quarterly planning sessions. A Milestone is a deadline -- an issue could get completed any time before it -- while an Iteration is when the issue actually did get done. If an issue can't be completed in a single iteration, it should be broken down into smaller tasks that can. You can create future Iterations, and put issues into them if you think they're the next thing that needs to be tackled, but won't get done in the current Iteration, and then review whether that still seems correct during sprint planning. MilestonesMilestones could be used to organize any collection of issues into groups, but in open source projects theyr'e frequently used to track progress toward a future software release, while Tasklists are designed specifically to group tasks and track the linkages between issues, including nested groups of tasks. Milestones can also have a due date. We need to organize work on timescales longer than a 2-week sprint, and I think Milestones can fill this need nicely. As with Iterations, each issue can only be part of one Milestone. Milestones are roughly analogous to the timeboxing component of "Projects" in ZenHub. Having Milestones dedicated to a quarterly release cycle (1 per ~12 weeks), or a semi-quarterly release cycle (1 per ~6 weeks) since we want to have more frequent big-picture check-ins would let us organize work into a time-box beyond the scale of getting a single issue done. Milestones show a very prominent progress bar in the side bar of every issue that they contain, and can help us stay aware of whether we're on top of our longer-term (6-12 week) goals. Milestones are publicly visible and simple, and will help users see what's in the near term roadmap. In the Roadmap view, you can also group and filter by Milestone, allowing to see a given quarter's worth of work at a glance, either on its own, or in relation to other quarters. |
Beta Was this translation helpful? Give feedback.
-
Here's an attempted overview of what we've learned in the last few weeks. It aims to cover more ground but be less in-depth than Zane's comment above - @e-belfer @cmgosnell @bendnorman @zaneselvans @zschira please comment & then we can edit this live Wednesday before we try to present to the rest of the org :) Core definitions
How to migrate a team from Zenhub to GH Projects
How to migrate in-progress Zenhub epicsYou can convert an epic into GH projects by adding a tasklist to the Epic issue. Then you can filter by
How to use GH Projects to manage your day-to-day workWe don't prescribe a specific sprint process, but in the interest of having clear communication and visibility across the whole org, you should make sure that some metadata is filled out for all your items:
Other metadata (priority, size, sprint, etc.) is useful, also, but may not be necessary depending on your team's sprint process. Gotchas
|
Beta Was this translation helpful? Give feedback.
-
We were talking on the inframundo team about experimenting with using GitHub Projects to track our sprint since Zenhub has been acting up a bit lately.
In the very short-term we'll just buy a few more Zenhub licenses and sort that out, but, we'd like to play around with GitHub Projects and see what works well and doesn't work well for our use cases - then we can present our findings to the rest of Catalyst.
Before we go ahead and do that, I think we need buy-in from the rest of the Catalyst folks to see if this is a direction worth exploring. We also need specific concerns / feature-exploration requests from the other teams, since everyone uses different features of Zenhub.
Currently we know we want to investigate at least the following questions:
4 votes ·
Beta Was this translation helpful? Give feedback.
All reactions