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?
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).
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.
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.
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.
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.
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).
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:
Team X requests a program manager by opening a ticket
Someone from the PgM team is assigned
Nothing changes until the PgM team member needs to leave Team X or Team X decides they don’t need a PgM any more
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.
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.
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?
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).
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.
I’ve accepted the meeting invite for Friday in case I’m able to attend but I have a clash so please accept my apologies for missing out on this one. If you’re able to change the time, I’m available if we schedule 30 minutes earlier (start at 18:00 UTC) or 1½ hours later (start at 20:00 UTC).
Just #action mattdm me and I’ll make it for me. (Bonus points for giving a name, a short url version of the name, and a category description. Extra bonus points for picking a color.)