2i2c-org / team-compass

Organizational strategy, structure, policy, and practices across 2i2c.
https://compass.2i2c.org
4 stars 13 forks source link

Team practice for short-term planning and coordination #182

Open choldgraf opened 3 years ago

choldgraf commented 3 years ago

Summary

We've been trying out a workflow recently based around deliverables and project boards. You can find a description of this workflow here.

As we try out this workflow, we should think about ways that we can improve these processes, structure the boards, etc. Let's leave this issue for a month or two to collect feedback and iterate on ideas, and we can close it once we are happy with the process.

Questions to answer

Actions

We'll test out a new process for the deliverables sync meeting + board workflows for about 3 months. These action items will keep track of questions to answer as we go through the process.

choldgraf commented 3 years ago

Some thoughts from the last deliverables sync meeting and recent conversation with @GeorgianaElena:

@GeorgianaElena let me know if I missed something.

choldgraf commented 3 years ago

Before every team deliverables review meeting we move all "Done" cards into the "Done archive" (I believe we can automate this with a GitHub action)

yuvipanda commented 3 years ago

I'm currently a little overwhelmed by the boards, and want to move around the process a little to help with that. Specifically, I was wondering if we could:

  1. Unify to one board, not two
  2. Keep the level of items in the board very high, so there's not too many of them. Currently almost all the columns in all the boards have too many items for my brain
  3. Use more GItHub native features (like assignment and reviewer requests) over using a board to signal that information via columns
choldgraf commented 3 years ago

We discussed this in a recent team meeting, and agreed on the changes that are encoded in this PR: https://github.com/2i2c-org/team-compass/pull/188

choldgraf commented 3 years ago

After some recent conversations, I wanted to note a few more thoughts and proposals, and see if this should feed into an update to our team processes at all. I'll write out general notes below in case others have ideas, and we can figure out how to work them into our practices in the right way.

A few challenges

Our current coordination / sprint planning process is improving and evolving nicely! One thing that I have noticed (and have discussed with others) is that it still doesn't address a few specific challenges:

sprints as team events

not missing the refinement / discussion process

Some ideas to improve this

Here are a few ideas for improving this that came out of a recent brainstorming session from @damianavila

Reduce sprint workload

Stop trying to ensure that every person has a full workflow for each sprint. We should intentionally reduce the "available capacity for sprints" so that people have more time to review one another's work and discuss other issues. Right now we roughly shoot for 1-3 issues per person, per sprint. What if instead we tried a process like:

Sparingly use an issue label to encourage discussion

Use needs: discussion to focus attention on particular issues on our backlog. We should set a limit like "only 3 issues can have needs: discussion on our backlog at once". The goal of discussion is to scope the issue properly, split it up if needed, and have a clear path to implementation. everybody should participate in this process so that we have more shared context about what we'd like to do next.

Define a Sprint Steward role

This role would complement the #205 as another one of the key roles that we have on a team. The Sprint Steward's job is to ensure that our team processes are flowing smoothly, that PRs are reviewed quickly, that continuous issue discussion / refinement is happening, etc. In addition, they should be watching for opportunities to improve our process, or moments when process is breaking down and it is time for an intervention. The sprint steward's responsibilities would be something like:

(I see this as similar to a "srum master" role that is often used in Agile Teams, with our Backlog Steward role being a parallel to the "Product Owner" role)

damianavila commented 3 years ago

@choldgraf, thanks for putting into words the ideas we have been discussing recently.

Regarding the last item, I am wondering if, at this time, the Backlog Steward and Sprint Steward should be the same person since the information coming from the backlog role surely will feed the sprint role actions (in that way we also reduce the miscommunication from one role to the other one).

choldgraf commented 3 years ago

@damianavila yeah I think that is reasonable, and also in a sense it is realistic since we have a small team. I think there's still value in defining the roles separately, just so it's explicit what kind of work needs to be done. Does that make sense?

damianavila commented 3 years ago

I think there's still value in defining the roles separately, just so it's explicit what kind of work needs to be done. Does that make sense?

Sure, I was not implying to merge the roles, just ask the person to use 2 hats :wink: .