Refine Release Team Selection Process #1714
Replies: 17 comments 28 replies
-
Just for giving context: I have applied three times and I've been in both status of applying for being a Shadow: been accepted and not. And talking about those specific points mentioned above, here are my thoughts/proposals: Reviewing hundreds of applications
Tracking applications
About the other points, I don't have enough experience or more ideas for now but I'll submit ones during this Shadow path. |
Beta Was this translation helpful? Give feedback.
-
Would it help to have a more stable pool of people within the release team? For example, we could achieve that by maintaining a stable release team roster while evaluating at the end of the cycle if the members are still interested to be part of it. Shadows could become either members of that roster or work on something else after a cycle ends. One of the main tasks of the roster could be to work on the retrospective items proactively or onboarding new folks and shadows. The leads would have more responsibility to improve the actual release process while being able to delegate more tasks to the other members and shadows of the roster. The roster itself is not bound to a particular release any more, but the lead as well as shadow selection is. |
Beta Was this translation helpful? Give feedback.
-
I didn't want to solutioneer, and propose something before discussing the problems we're trying to solve, but yes I suspect that some kind of stable team roster is a sensible move. Something that supports not only people that want to do release team work every cycle, but people that want to take a break for a cycle and come back without worrying about going through the shadow application again. I wonder what the effect on the role subteams would be though. If each subteam becomes a role lead with a few "roster" folk and a shadow or two each cycle, then is the emphasis on the lead for each role still required if you have 3 or four people in each role team that could lead, or at that point is it a question of the roster people deciding "who wants to be the one to turn up to the leads syncs". |
Beta Was this translation helpful? Give feedback.
-
I think "hard" selection criteria are difficult to define, the questions if they have contrib experience is the closest one but also here it is not a real criteria. Tracking applications I'm a fan of: My thought was (and there is somewhere from me a slightly over engineered picture to it) that we have a kind of scoring system. E.g. every applicant has like 3 points, with every application and no selection this goes down by one. If reached 0 the applicants are filtered out for backup but no active consideration. (Hard selection criteria?) Why that? If an applicant didn't got selected within 3 releases, at least 3 (max. 9/12/) leads considered the application as a non fit. That maybe feels hard but I believe we have to focus.
I like the idea of the roster, but I'm not sure of the tasks. I would see it more like an leveraged step between releases: application -> shadow -> roster -> shadow/lead -> roster etc. This way, people who are tracked on the roster are more visible for upcoming release but also have to Opt-In for it. In addition this can allow people who maybe can't support a release (new job/family/rest) to be re-considere the release cycle after the next. While writing this, then they still could carry out the tasks from retro, onboarding etc. Back to the main points: Also somewhat over engineered, I guess we have to have history overview of the applicants, based on this data we can slice rosters, etc. I believe to create some scripts like in google sheets shouldn't be an issue. To be honest, I'm not a fan of up & out. Maybe we have to discuss some criterias here like a minimum 4 releases before entering the release lead team or must have of two times leading a sub team of the release. This can also help the future lead as the person has seen a lot of different situations and knows for example at least 2 roles inside out. |
Beta Was this translation helpful? Give feedback.
-
Pinging the previous release team leads and emeritus advisors and kindly asking for their input: @claurence @guineveresaenger @alejandrox1 @lachie83 @onlydole @tpepper @jeremyrickard @palnabarun @savitharaghunathan @reylejano |
Beta Was this translation helpful? Give feedback.
-
I am overall +1 for stable release team roster + some dedicated teams. For posterity here is a link to the slack thread with some discussion on it from last week: For each "team" there could be at 3-4 (eventually more) dedicated people (This should be a defined role/team). One of them could take point for each release to function as the "lead" for that release cycle, while the others are free to work on automating and improving the process for their area - this could include working with previous shadows to take on those tasks. Some general benefits:
This does mean that the shadow program might take a hit in growing new folk, but we shouldn't perpetuate a process that should be improved/automated for the sake of bringing new contributors. (That probably sounds bad coming from a contribex lead XD but its true) One other thing I want to see for the shadows is actual accountability. If they are not an org member they are granted it without having to go through our standard process of contributing first. There should be an expectation that if they do not fulfill their duties as a shadow (e.g. just stop showing up / communicating with lead), they are removed from the org and have to work towards being added again. |
Beta Was this translation helpful? Give feedback.
-
I like this idea, from a longer term sustainability perspective. I agree that this would provide a little more consistency on the automating/improving front, which seems to really struggle from cycle to cycle, and gives better perspective across multiple releases. Somethings, like CI Signal, probably also would really benefit from longer term pattern observation and more in depth knowledge of tracking down flakes/failures. I also think it also makes it a little easier to align with some of these functions in other SIGs:
In terms of shadowing, perhaps something more like the release manager associate model where we onboard people for a longer haul and then re-evalute through surveys and off board folks when their availability/wants change, then onboard new folks. And perhaps these longer term things could be a good two way pipeline? Shadows could come from the SIGs (maybe this is one source, and we solicit new contributors as well) and we could also build folks into longer term contributors for those areas. |
Beta Was this translation helpful? Give feedback.
-
+1 for this. There needs to be some level of accountability. It also helps with avoiding other members of the team from getting burnt out. |
Beta Was this translation helpful? Give feedback.
-
IssuesFor the 1.23 release cycle we had several issues:
Typically, Kubernetes org membership is earned based on multiple contributions and sponsored by 2 reviewers. K8s org membership is granted because some teams require org membership e.g. for milestone-maintainers or website-milestone-maintainers. Comments/thoughts on possible solutionsIncrease gender diversity in shadow applicantsWe need to be more inclusive and extend an invitation by:
Lack of qualified shadows for succession / lack of shadow contributionThe shadow program is a two-way street meaning that the Lead, Lead Shadows, Role Leads provide mentorship for shadows to succeed but shadows have duties to fulfill. Shadows should be held accountable for not fulfilling duties. I agree with Bob's comment:
I suggest not granting K8s org membership (and maybe not grant formal release team membership) to new shadows until their contributions have earned org membership. I know some teams require org +1 to Bob's comment:
Teams that do not require org membership can include shadow positions where shadows can contribute and earn K8s org membership based on contributions. Evaluating shadows' contributions for org membership keeps the standard of K8s org membership that all org applicants are subject to. There still needs to be accountability when shadows do not fulfill their duties. A release team can be more dynamic and shadows can be removed and replaced by another applicant. The risk is that we have a revolving door within a release. Aside from the Emeritus Advisor, Lead and Role Leads, I suggest to formally announce the release team at the end of the release to formally state, these are the contributors that worked on the release. For new shadows, there should be a clear path to leadership or to be on the stable release team roster / dedicated team. Having a stable release team roster/dedicated team will reduce the number of shadow positions. This will increase the barrier to entry for new contributors. Part of the SIG Release charter is to ensure a consistency of community members for releases. I believe people took advantage of the lower barrier to entry to benefit their own agenda and did not contribute to releases which reduced the consistency of community members to support releases. For reference, in the SIG Release charter under Scope:
Having a stable release team roster/dedicated team will increase consistency of community members to support releases. Difficult shadow selection processFor 1.23, we had 185 shadow applicants for ~26 shadow positions. Selecting shadows is one of the most difficult tasks for Role Leads. There are applicants who have applied multiple times but have not been selected. Applicants who were not selected may benefit from a having a section on What if you were not selected and how to contribute to increase your chance to be selected next time in the release-team-selection.md to strengthen their future application. I believe tracking applicants would be beneficial but takes effort to initially create or apply a solution. |
Beta Was this translation helpful? Give feedback.
-
Hey, all: Based on my convo with Eddie at Kubecon, one thing which apparently got dropped from the shadow selection process sometime in the last several releases is doing video interviews of the final pool of shadow applicants. That was part of the process through at least 1.14, and is essential to making sure that you've selected shadows who are actually interested in doing the work. So whatever revised process you come up with must include final video interviews, or you'll keep picking shadows who bail two weeks into the cycle.
No. No, no, no, no. This is what SIG-Release is for. If this isn't what SIG-Release is doing, then that's a problem with SIG-Release and not with the Release Team. And if it's not what SIG-Release is doing, then what is it doing? The whole reason we created the rotational structure of the release team is that burnout was a very real thing on the early release teams. Do you see Anthony around anymore? So having anyone "permanently" on a Release team means committing to burning someone out. Dedicated teams for other things sounds like a fine idea, things like release instrumentation. But even these teams should be oriented towards self-replacement, just over a longer period of time. Like Release Engineering, those teams should have their own shadows. |
Beta Was this translation helpful? Give feedback.
-
To my mind the idea is not "construct a team of people, who shall forever more do release work". However I do feel that the release team as a whole is too focused on self-replacement, leading to problems where it can be hard to "feel at home" on the team or build expertise. Can there be a happy medium between those extremes? A structure that allows contributors to remain on the release team for multiple cycles easily, while taking breaks if they wish and still bringing new people in? More generally, isn't the release team the only community position that operates in this way? Release managers, SIG tech leads, SIG chairs, even positions with formal elections like TOC and steering committee don't have such an aggressive churn right? |
Beta Was this translation helpful? Give feedback.
-
As for the flood of Shadow applications, one solution is to require applicants to made Kubernetes contributions before applying to the RT. Minor stuff, like helping with issue triage, for example. We didn't do that in 2019 because getting enough shadow applications was the challenge then, but if we have an excess of shadow applicants and not enough people doing things like triage ... then that seems like a reasonable transfer of recruits. SIG-Contribex would need to be involved, of course, to make that work, but that is what we're supposed to be doing in ContribEx. The RT is getting this flood of applicants because it's Kubernetes' only clear on-ramp to becoming an accredited contributor that has an application form. Before COVID we were looking at other areas of the project where we could do the same, and maybe it's time to revive that. |
Beta Was this translation helpful? Give feedback.
-
Believe it or not, I'm going to suggest that the solution to this is having fewer shadows. I've spoken up about this before; I really don't think that in most roles (there are exceptions) one role lead can adequately mentor 4-5 shadows. I know I personally can't mentor 5 people at once well. I really think the default should be 2 shadows per lead, because with two shadows you can't "lose track" of either of them. If having a "bench roster" lets the RT have fewer shadows with confidence, then that seems like a good idea, and it's easily assembled out of all of the folks who have held that position before. |
Beta Was this translation helpful? Give feedback.
-
I agree that as a way to get org membership, the release team is... too easy? It's a bit ironic for me to say that considering that it's how I got my org membership. I'm supportive of the idea of not granting day one org membership. This might mean we need Prow changes (e.g., to enable it to accept commands from release team shadows who are not org members) for some roles (e.g., enhancements). Instead I'd like to see it as a path to satisfying the normal org membership requirements. |
Beta Was this translation helpful? Give feedback.
-
With 1.23 scheduled to release in a few weeks, if we'd like to try changing things for 1.24 we should start to formalise a plan. Reading through the various discussions, there seem to be a handful of common themes:
Points 2 (long-term applicant tracking) and 4 (proactively increase diversity) seem relatively non-controversial (at least, I don't think I saw any arguments against) and I don't think would require a process KEP, so maybe we can just do those? With the other points, I think I've seen arguments for and against all of them in the threads above. I think 3 (stable team roster) is probably the most controversial, and I suspect probably would require a process KEP. Let me know if I've missed or misrepresented anything 😅. But hopefully we can figure out a path forward, even if that path is "no change at this time". |
Beta Was this translation helpful? Give feedback.
-
FYI we're discussing starting to design the 1.25 shadow survey ahead of time: #1814 |
Beta Was this translation helpful? Give feedback.
-
A few of us from SIG Release discussed this topic at the KubeCon EU 2022 Valencia Contributor Summit. You can see the notes from that discussion here. In that meeting I felt we had agreement amoung those present that we need to change something for 1.26 and beyond. I feel we should pick one problem and implement a solution, with the expectation that we will continue to iterate. The area I'd like to focus on is a more stable group of people on the release team. Both to provide release team members more continuity, and to help the rest of the community (particularly KEP authors) with a more consistent group of people to build relationships with. We've talked about a few solutions before:
I'd suggest a combination of these appraoches would be best, and is acchiveable in time for 1.26. To be clear I'm not suggesting we change anything for 1.25, as the team is already being selected. As a solid suggestion, what if we did the following:
I'm sure there are many issues, and things I haven't thought of, but i'd love to hear if folk would like to move in this kind of derection or think this is totally the wrong way. |
Beta Was this translation helpful? Give feedback.
-
This discussion opened following a topic in the Tuesday 21st September 2021 SIG Release meeting.
In the most recent release cycle (1.23) the release team shadow program received 185 applicants for approximately 26 available shadow roles. The shadow program itself is, in my view, highly useful for onboarding new members to the community. However at this scale it is becoming unsustainable.
A few issues noted:
To give some data on this, if you compare the 1.23 release team to 1.20 a year earlier there are 8 out of 40 members who were on both: Rey, Jeremy, Nabarun, Max, Menna, Joseph, Xander, and myself. None of whom are shadows (I'm not counting lead shadows or branch manager shadows as "shadows" for this purpose as they don't use the same application process).
If you compare to the 1.16 release team two years ago there is only one shared member: Karen.
To address these issues, I'd like to start considering how we could improve the release team selection process. 1.24 is likely to start selection in December or January so we have time to consider options (although I don't want to rush into changes either).
I'd really love opinions on this from anyone in the community, but in particular I'd welcome input from current or former shadows, or people who have applied to be shadows multiple times (and been successful or not).
Beta Was this translation helpful? Give feedback.
All reactions