Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an "Activity Project Board" to coordinate work items across the team #441

Closed
Tracked by #493
choldgraf opened this issue Jul 27, 2021 · 4 comments
Closed
Tracked by #493
Assignees

Comments

@choldgraf
Copy link
Member

Background

As the complexity of the EBP stack and team has grown, it has become harder to coordinate efforts across our team members. We have people in different time zones working on totally different parts of the stack, and newcomers to the community who are trying to find ways to get involved and participate in team processes. While we currently track progress and items in GitHub Issues, this is challenging for a few reasons:

  • Issues are split across dozens of repositories, and it is hard to know where to keep up with new developments
  • We don't have consistent processes for signaling intent and current activity, which makes it harder to coordinate
  • We don't have a consistent process for requesting help from others

I think that we would benefit from having an "Activity Board" that is a single place to keep track of what we're working on across the project. The board would have two kinds of columns, detailed below:

Task Management Columns

These columns follow a basic task management workflow:

  • Each team member chooses 2-3 issues that they plan to work on next, each of these goes to an Up Next column on the board, and the team member's that plan to work on it "assign" themselves to the issue.
  • When a team member actively starts working on something, they move that card to an In Progress column. Issues in this column are expected to be closed within a week or two.
  • When a team member finishes an issue and it is closed, it is moved to a Done column.

Team Coordination Columns

These columns are for highlighting and sharing information with team members:

  • An Information column has important team information in it. For example, if somebody is taking time off, mark it here. If there's a meeting coming up, list the issue here.
  • A Needs Discussion column should have 2-3 issues that require active discussion and decisions before moving forward.
  • A Needs Review / Help column should have issues that require a team member to review or provide feedback (for example, on a PR).

A prototype board

I put together a prototype board here: https://github.com/orgs/executablebooks/projects/7?fullscreen=true

Thoughts and feedback?

What do others on the @executablebooks/ebpteam think of this proposal? Does it seem like it will improve our transparency and coordination? Does it seem lightweight enough that it is easy to follow? Or will it be cumbersome and unlikely to be updated?

Perhaps we can discuss this in the team meeting on Wednesday!

@choldgraf choldgraf added this to Next Up 👍 in Activity Board via automation Jul 27, 2021
@choldgraf choldgraf moved this from Next Up 👍 to Needs Discussion 🗣 in Activity Board Jul 27, 2021
@choldgraf choldgraf self-assigned this Jul 27, 2021
@mmcky
Copy link
Member

mmcky commented Jul 27, 2021

thanks @choldgraf. I like this idea and would be willing to adopt it and keep something like this up to date.

An added benefit of a resources like this would be to see what others are focusing on which will help with possible collaborations and/or avoid crossing over and duplicating efforts with other work. This approach might be a good way to get this visibility in an asynchronous way. It also means we will need to write a brief issue on any work we are currently doing that may not be documented.

I particularly like the idea of a Needs Help / Review column. I think that would be useful rather than jumping up and down on slack to try and get attention :-). It's also a broadcast style approach so anyone with expertise could jump in and take a look.

@chrisjsewell
Copy link
Member

Well I have already had my own project board for a while 😉 https://github.com/orgs/executablebooks/projects/5

Or will it be cumbersome and unlikely to be updated?

But yeh this is what I'm a little sceptical on, but certainly happy to try

@AakashGfude
Copy link
Member

@choldgraf Yes, please. Like the idea very much and the workflow. Will try my best to keep the board updated.
The board https://github.com/orgs/executablebooks/projects/7?fullscreen=true seems like it is already functional. Should I start adding my top 3's.?

@choldgraf
Copy link
Member Author

choldgraf commented Aug 2, 2021

Thanks all for the feedback - a couple of quick thoughts from the comments here, and some updates to the proposed structure above:

Regarding people already having boards

IMO boards such as Chris' board here serve a different purpose from the team activity board - they are more like "long term goals and priorities" rather than short-term coordination. The goal of the activity board is to get agreement from the team about our next steps over, say, 2-4 weeks, not plan out many months of activity.

Proposal: Scope this board to encode intentions over the next month

Since we have a monthly team meeting, we could use this meeting to discuss what we've been up to over the last month, and plan what we're up to over the next month. We can use the Team Activity Board to encode this information, update it throughout the month as we tackle items, and then put more items onto it for the next team meeting.

I think an important part of this process is recognizing everybody's bandwidth and being realistic about the major work items we can accomplish in one month (e.g. most of us are < 100% working on this, some working only on volunteer time, so we should take this into consideration when creating issues to work on). It will take some time to figure out the right balance here so OK if we're off by a bit at first.

What kind of issues would go on this board?

@chrisjsewell brings up a good point that if the board is too low-level then it will not be reliably updated. We should scope issues on this board to be concrete improvements to make that might take 1-4 days to complete (including review etc). There should only be 2 or 3 active items per person at any time. It should not be a "daily plan" kind of board, but more like a "this is what I'm focusing on this week" kind of board. Issues should move between columns every couple of days, not every few hours.

Use assignment to signal items that people are focusing on

To make sure that it's clear who wishes to work on what, and to make sure that the work we're focusing on is being spread fairly between the team, I suggest that team members assign themselves to issues they're actively working on next. You should only have 1-2 issues "assigned to yourself" at once.

So the process for using this board would be something like:

  • Each month we agree on a set of issues to put on this board. These issues go into the "Ready to work" column, or the "Needs discussion" column if they don't have a clear path forward.
    • These issues are our "target" to accomplish for the month. By the end of the month, all of them will ideally be in the "done" column and closed
  • When people plan to work on something for the next few days, move it to the "In progress column" and assign yourself.
  • If you want to highlight a PR for review, move its corresponding issue to the "Needs review" column
  • When an issue is closed, it moves to the Done column
  • You then grab the next issue and move it to "in progress"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done 🎉
Activity Board
Needs Discussion 🗣
Development

No branches or pull requests

4 participants