1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
/** # Triage at scale for the Rust team <sup>*by [David Tolnay] , 2020.20.02*</sup> [David Tolnay]: https://github.com/dtolnay <br> Yesterday Mark-Simulacrum [announced] an experimental new notification-tracking mechanism implemented in Triagebot, the bot run by the Rust infrastructure team to perform issue assignment and labelling across the Rust project's GitHub repositories. I have been working with Mark on designing and iterating on the notification system and wanted to write down my perspective on several ways that this work is important for Rust's growth. [announced]: https://internals.rust-lang.org/t/triagebot-notifications/11857?u=dtolnay <br> ## Design summary Triagebot's notifications are designed to be a *publicly readable*, *publicly editable*, *roughly ordered* todo list for every team member. [This short wiki][wiki] explains the details. By publicly editable, we mean that anyone with a registered zulip-id can make modifications to any team member's list, *and should feel free to do so*. [wiki]: https://github.com/rust-lang/triagebot/wiki/Notifications <br> ## Target audience 1: the Rust community Of the four audiences and major benefits of our approach that I'll cover, I am starting with this because it's the one I find the most essential and exciting. I work on the standard library team and I run many widely used open source Rust library projects on the side. With the massive growth of the Rust community and all of these projects, [the amount of email I get is out of control][email] and it's often no longer possible to read much less respond to everything going on. This is frustrating to the constantly growing set of people who want questions answered, bugs fixed, and PRs reviewed. [email]: https://twitter.com/davidtolnay/status/1224054074514919424 With Triagebot notifications, for the first time we can empower the community to participate actively in the triage process, for official rust-lang repos as well as beyond. This is more productive than repeatedly pinging issues for attention. The community is granted visibility into what the maintainers and team members are busy with, and in return we get to ask that they make a best-effort honest determination of how the item for which they want attention ranks against the other things going on. I strongly encourage people to take advantage of this to add or reorder items on my list! I can use the help keeping track of where my attention is most needed. <br> ## Target audience 2: triage working group The folks doing official triage on the Rust repo now have a way to see what is on each team member's plate and make intelligent load-balancing decisions. Previously, if a PR sat for a while without review, the state of the art was for triage to make a shot in the dark to assign it to a random other member of the reviewing team, which is not necessarily productive. <br> ## Target audience 3: contributors Community members who send PRs or make issues now have something to track while waiting on feedback. One of the nightmares to me as a maintainer is the experience Jane describes in [this meetup talk][talk]: [talk]: https://www.youtube.com/watch?v=QKbdBwjra5o&feature=youtu.be&t=432 > *I remember distinctly one time leaving a comment on an issue very shyly being > like "hey would it be okay if I take this issue?" and waiting two days for a > response and overthinking it and freaking out, and eventually I just deleted > the comment and tried to find somewhere else because I was too stressed about > it.* I know that I take two days off sometimes, or sometimes have urgent work that takes away from lower priority projects. I of course wouldn't want someone to have the above experience during those times. Imagine if the comment that @rust-highfive leaves on new PRs included a link to the reviewer's triagebot page. This gives a place for the PR author to track as the reviewer makes progress toward the relevant PR, and a clear way to internalize that there is a lot going on across the project – the lack of immediate attention isn't because the PR is stupid, or the author is a minority, or whatever other overthought reason. This makes for a friendlier environment than waiting in a void. <br> ## Target audience 4: Rust team members I am excited for the community to help surface where my attention is needed without me juggling zillions of emails. Email is no longer a reasonable way for me to track and manage actionable notifications and I expect as Rust's momentum grows that most other team members have already experienced the same or will soon. Separately, I hope that the design we're pursuing for Triagebot notifications makes it easier for team members to avoid some common burnout traps that come with participating in an exponentially scaling project over the next several years. In a young, small, or slow-moving project, often the total work is seen as a fixed quantity and a developer or maintainer will optimize for how quickly they can accomplish the total work (implement all the features, respond to all the issues, fix all the bugs, whatever it may be). But as projects get big or important, in my experience participants commonly have trouble making the transition to a mindset of treating their available volunteer time as the fixed quantity, optimizing for how to make best use of that time without necessarily regard for accomplishing "all" the work. We address this in three ways: public write access is designed to surface high-value actionable work without a team member needing to remain on top of a huge volume of discussions; public read access helps the community build empathy with the workload that team members are faced with; and the ordered nature exposes a comfortable way to say no to lower impact work. <br><br> It's very early days for this system so far, but we'd love for people to kick the tires and provide feedback of any kind! Check out [Mark's announcement][announced] and the [Triagebot wiki][wiki] for additional details. */ #[macro_export] macro_rules! _04__triage_scale { ({ date: "Feburary 20, 2020", author: "David Tolnay", }) => {}; }