Help wanted: program management team

Originally published at: Help wanted: program management team – Fedora Community Blog

I’d love to spend time in different Fedora teams helping them with program management work, but there’s only so much of me to go around. Instead, I’m putting together a program management team. At a high level, the role of the program management team will be two-fold. The main job is to embed in other teams and provide support to them. A secondary role will be to back up some of my duties (like wrangling Changes) when I am out of the office. If you’re interested, fill out the When Is Good survey by 15 April, or read on for more information.

About the team

You can read more about the team on Fedora Docs, but some of the duties I see team members providing include:

  • Coordination with other Fedora teams (e.g. Websites, design)
  • Consulting on team process development and improvement
  • Tracking development plans against the Fedora schedule
  • Issue triage and management
  • Shepherding Change proposals and similar requests

Since this is a new team, we still have a lot to figure out. As we go, we’ll figure out what works and adjust to match.

About you

You don’t need to be an expert to join the team. I’d like everyone to have some experience with either contributing to Fedora or project/program management. If you’re lacking in one, we can help fill in the gaps. You should be well-organized (or at least able to fake it) and have 3-5 hours a week available to work with one or more teams in Fedora.

How to join

Fill out the When Is Good survey by 15 April to indicate your availability for a kickoff meeting. This will be a video meeting so that we can have a high-bandwidth conversation. I’m looking for four or five people to start, but if I get more interest, we’ll figure out how to scale. If you’re not sure if this is something you want to do, come to the meeting anyway. You can always decide to not participate.

How to get help from this team

If you’re on another Fedora team and would like to get support from the program management team, great! We don’t have a mechanism for requesting help yet, but that will be coming soon.

8 Likes

Is the initial meeting for people who want to be on the management team, or also for people who want to be managed, i.e. would like to have somebody from the management team embedded in their group?

It’s for people who want to be on the team.

1 Like

Hello bcotton,

it would be great to support the team.
Looking forward to working together.

Best regards
Damian

1 Like

Excited to be part of the team!

@glb @dtometzki @q5sys @penguinista @sumantrom @ramyaparimi @FerventBabbage @siddharthvipul @kylerconway @grahamwhiteuk @pawelzelawski @jhoanir


Well I got a much larger response than I expected. Instead of 3-4 volunteers, 15 people submitted their availability. As you can imagine, this makes scheduling a meeting very difficult. For any particular time slot, about half of the volunteers couldn’t make it. Since I intended the meeting to be an open discussion, splitting it across multiple meetings doesn’t seem very helpful. So we’ll start here and work asynchronously how it goes.

First, I’ve sent emails to everyone asking a few questions about your interests, skills, and experience. I sent this to everyone who used their Fedora account when submitting availability (and everyone whose Fedora account I could figure out from the name they used). If you did not receive this email, please let me know.

So here are the open questions we should solve. For things that I have a weak opinion on, I’m keeping it to myself initially. When I have a strong opinion, I’ll pre-share it. However, that doesn’t mean it’s set in stone.

Communication

Meetings

I hold weekly FPgM office hours. Do we want to use those or have a separate team meeting? (Any training meetings will be done separately)

Synchronous

Do we need our own chat channel? If we want one, it will be on IRC/Matrix (or maybe just Matrix and we’ll move it to the Fedora homeserver once that is in place.)

Asynchronous

Should we use a mailing list or a Discussion category?

Tools and process

  • How do we track work? Taiga? Pagure repo?
    • I have a Taiga board he uses to his work, but it also contains work that can’t be assigned to this team, so it may not be good to reuse this. I anticipate most of the work being more task-like in the sense that they have done and not-done states, which suggests a Pagure repo is the right approach.
  • How should other teams as for help?
    • If we go with a Pagure repo, I think the way people ask for help is to open an issue on that repo. We can create a template that prompts them for relevant information. When a team member is assigned, we assign them on the ticket. The downside is that it means teams will remain open for a long time (because we want to see who is assigned where). Alternately, someone taking the assignment closes the ticket and we maintain a doc that lists who is assigned where. That information shouldn’t change frequently, so that’s not a significant burden.
  • How do people get assigned to a request?
    • I don’t want it to necessarily be “the first person who claims a help request gets it” because that’s not fair to people who aren’t online when the request comes in. I think the right approach might be for me to match the team’s needs with the skills and interests of PgM team members. This way, we’re maximizing the goodness of fit. On the other hand, I don’t want to create bad feelings if someone doesn’t get matched with a request for a while (I’m not sure there will be enough work to go around), so if anyone had better ideas, I’d love to hear them.
  • What else do we need to figure out early that I’m forgetting?
1 Like

Some thoughts from me…

Communication

Meetings

I’d perhaps suggest a separate meeting for the team for now so that we can get to know each other in an environment where we’re all as new as each other (assuming there are other non Red Hatters in the mix here).

Synchronous

Perhaps a chat channel would be good, I’ll need to get myself back into IRC again as I’ve moved more or less entirely to Slack these days.

Asynchronous

I’d vote for a mailing list.

Tools and Processes

  • Work Tracking: I quite like KanBan boards for work tracking, not that I’m familiar with Taiga
  • How should other teams ask for help: Does Taiga integrate well with Pagure? I ask because I’m mostly familiar with ZenHub (kanban board) that integrates really nicely with GitHub.
  • How do people get assigned to a request: we need to consider who’s the best fit and who has time available. One of the difficulties here will be correctly sizing the request in the first place i.e. how much time is required and for which skill(s).
1 Like

Hello bcotton,

some suggestions from my site:

Communication

Meetings

I think we can start with the already existing meeting. And if it turns out later, we can still plan a separates meeting.

Synchronous

I think it would be good to have a seperate IRC channel. Other teams infrastructure, Kernel and so on use IRC too.

Asynchronous

mailing list or Discussion category. I’am open for both.

Tools and Processes

  • How do we track work? Taiga? Pagure repo?
    I think pagure is already integrated in the Fedora project and is used by many users. Everyone knows the tool and knows how to use it. I think it has already integration to github, IRC and gitlab.
    I don’t know how far other tools like Taiga are already integrated in the Fedora Project.

  • How should other teams as for help?
    I think the way people ask for help is to open an issue on that repo with a defined structure is good.

  • How do people get assigned to a request?
    It is disfficult to answer. I currently have no sense of how much request we are talking about:

    • We have a Responsibility matrix with the responsibilities. And we can use the matrix to assign requests
    • We plan a daily / weekly short meeting <30min to assign the requests.
    • Or we have a oncall duty (1 week / 1 month or so) as we have in the infra team.
  • What else do we need to figure out early that I’m forgetting?
    I think we need a schedule until when we have built the team. Dates where all should / must participate we should communicate early.

best regards
dtometzki

1 Like

No. But they both have Kanban boards and issue trackers, so we’d probably use one or the other and not both.

Nor do I. :slight_smile: We’ll find out together.

Good point. Let’s plan on having consensus by Wednesday 28 April. I’ll summarize a draft and we’ll give people until Monday 3 May to object. At which point, the team is started and we’ll get to work.

Meetings

The 20:00 to 21:00 slot sounds fine. I’m notoriously bad at making morning meetings.

Synchronous

Chat is fine. But my ZNC bouncer is currently down. I haven’t bothered trying to get it set up again because I keep hearing that there is a (fedora account sso authenticated) Matrix server that will be up and running very soon. :slightly_smiling_face:

Asynchronous

I guess a Discussion category sounds a bit more reliable than email. Emails have been known to get lost from time to time (especially in my inbox).

Tools and process

I have virtually no experience with Pagure and only a little with Taiga. I’m not really knowledgeable enough about the systems to make a call.

See my response to the previous question.

Assigning tasks sounds fine to me. Do not worry about making me “feel bad” because you have not assigned enough work for me. On the contrary, my skills and familiarity with this whole system are so low that I would very much appreciate a very soft/light start.

¯\_(ツ)_/¯

Edited to fix shruggy … don’t want to upset the FPL … I’ve seen his murder attic. :grimacing:

1 Like

Hello bcotton,

I have done some research and I believe that taiga is the better choice of tool for our purpose in the area of program management. We have a container of task and we can assign on a regular basis the task to a team member or other.

And we have the different stages of a task (New, Ready, In Progess, ready for test and Done).

Other point is it is already available https://teams.fedoraproject.org/

I think it is a better approch to start with taiga.

Best regards
Damian

What tasks are you envisioning that lead you to using Taiga?

For our work within the teams we support, I fully agree. For the “meta” tasks of our team, I anticipate tasks being mostly “done/not-done” or “longer-term assignments to a group that don’t really change state”. For example:

  1. Team X requests a program manager by opening a ticket
  2. Someone from the PgM team is assigned
  3. Nothing changes until the PgM team member needs to leave Team X or Team X decides they don’t need a PgM any more
  4. Ticket is reassigned to a new PgM or closed

This suggests a Pagure issue to me. But if you’re thinking of things beyond that, I’d like to know because I am sure that I haven’t thought of everything. :slight_smile:

1 Like

Hello bcotton,

i agree with you. But in my mind we have perhaps one step more

For example:

It could be that a team requests a PGM but the start is later. Or can this not be the case ?
In times where a lot is requested it can be important to know for planing the team.

Best regards
Damian

It definitely could be the case. But I think in that case, we’d just leave it unassigned to indicate that.

Another approach we could take is to close the ticket after the PgM is assigned and then document the assignment in the team docs. This way we don’t have a lot of tickets open indefinitely. If the assigned PgM needs to step away, they can open a new ticket to get someone else to take it over. What do you think about that?

Hello,

I think that’s an approach we can good start with. The process is not set in stone and can be adapted if necessary.

Best regards
Damian

1 Like

Meetings

I think for now using FPgM office hours would be fine, since we would be anyway having separate meeting for training.

Synchronous

It will be really nice to have our own channel. Communication gets so much easier IMO.

Asynchronous

I would vote for discussion category! My mails are always lost in tons of other emails :frowning:

Tools and process

After reading other’s comments, I really don’t have a preference ATM. Both seem to have their own pros and cons. I am okay with either.

  • What else do we need to figure out early that I’m forgetting?
    Seems like all the basic things are covered !!!

Hello bcotton,

Any news to the point, having consensus by Wednesday 28 April ?

Best regards
Damian

It’s on my todo list for later today :slight_smile:

1 Like

Okay, so here’s where we seem to have landed:

Communication

Meetings

We’ll use the existing FPgM office hours to start.

Synchronous

We’d like our own channel. Ideally, we’d go directly to the new Fedora Matrix server. But it doesn’t exist yet, so that makes it tough. I’d like to start with a native Matrix channel, but with an IRC-side channel for anyone who isn’t using Matrix (I’m thinking particularly of people who aren’t on our team who might want to drop by and ask questions).

Asynchronous

Let’s go with a Discussion category.

Tools and process

  • How do we track work?
  • How should other teams ask for help?
    • Open an issue in the repo above
  • How do people get assigned to a request?
    • As a team, we discuss matching skills and interests and select a person by consensus. If there’s no consensus, I’ll assign someone.

If there are no objections to the above as a starting point, I’ll get the processes started on Monday and we can start soliciting help requests for the community and getting everyone up to speed.

I know it’s short notice, but I’d be happy to do a short “hi everyone” call after the release party on Friday. We can meet 2021-04-30T18:30:00Z in Google Meet.

1 Like