 So hello, thank you for coming to our talk. So this is the talk done by us together. So hello, I'm Chuck and with me there's Tanya. Today we're going to talk about a handbook for organizing a sprints online. Because in this time, I'm sure that we will need it. We would introduce you to how we achieve that and why we have that idea. You could also use the resources. So let's get started. So first, maybe I will let Tanya introduce herself. Hi, everyone. Thank you. My name is Tanya Lard. I am currently a senior developer advocate at Microsoft, where I focus in all things, machine learning, data science, and scientific computing. I also will have fingers or hands everywhere in the piloting global council and an editor of JAWS, and I'm a trustee for a couple of societies and organizations related to open source and research software. Yeah, so I'm Chuck, and I'm a developer relations lead at Hermanus DB. And I'm also organizing your Python. I'm one of the board member. My background was the data scientist, but now I've sat into the world of developer relations, and I'm also a streamer on Twitch. So yeah, we do love sprints and we loved it because it's a very good way to bring the community together. We can bring in the user group or even people who haven't, you know, know your project that you can introduce them to the community. And then we can introduce stuff, like we can encourage them to contribute to your open source project. And they would step into this kind of open source environment that they could contribute and they will be empowered because the users, you know, not just a user, they will have a say of like the development, they will be like part of the development kind of team that they, because they contribute to the code. And also we welcome diversity in leadership. We just don't want the BDFL to be the only leader in the project. And yeah, so we want to be inclusive as well. So we kind of introduced this to a lot of minorities in the tech community. We hope that they won't feel that they're left out. They also include in this contribution and also environment that they could have a first step on the project. So yeah. And well, we did organize some sprints before, but things happened when this year, you know, happened. So coronavirus kind of stopped a lot of things going on. There is less travel and there's less meeting, you know, physically. So yeah, we have to do things online now. This is kind of the new trend, new norm nowadays. And well, is it easier? So well, we don't have to travel. We are at the comfort of our home, but kind of it's difficult to get people to connect in a traditional way to feel that they are, you know, doing something together. So there are other issues that we have to face. For example, time zones, we want to get people involved, but they're not traveling to be at the same space physically. So they would be scattered in different time zones, wherever they are. And also there's lack of interpersonal interactions because everything is online. There's like, you know, a screen between you and the other person. And also how can we give support? We can't sit next to them and kind of do some pair programming with them. And also like even mentors would find it challenging because they can't have the same type of interaction with their mentees. Also it's like how to get people engaged in what they're doing. They could maybe just go and maybe like go to cook some food. You know, they could, because they're not in this, you know, bind to a physical space. So how can they keep engaging in the activity that's going on? And also code of conduct, you know, online. Sometimes, you know, online forums and all this online chat room can be a little bit different from, you know, face-to-face conversations of people could react, like behave a little bit different. So we still want to ensure the code of conduct is uphold. Also there are other technical issues. We have like maybe participant, we have problems with their Wi-Fi connection and maybe like whether they can use the tool because they have different operating system, you know. All of these things could be more challenging. So, well, we kind of roll with it. And so we kind of like figure things out step by step. So, well, for example, dealing with time zones, we do have the challenge, you know, like I said before, we have, we try to get people around the globe to participate so they would be in different time zones. And, well, the good thing is that they could have, you know, people around the world, they don't have to travel, they can also have access. But, you know, the thing is that, you know, do we have to be there 24 hours to cater to everybody or do mentors have to be there 24 hours to cater to everybody? So, Tanya will tell us how we achieved that. Yeah. So it was very, very hard, especially when everyone is online, we have people coming not only from a central life place or a single time zone. So in the past, we've organized 24-hour long event. It's super, it's like a full day. But that was the only way in which we could find to cover different time zones, have folks to overlap and mingle with each other. Another option that we are now working on for another set of sprints is having smaller separate events that are targeting time zones. This definitely helps a lot with mentors and like having well-defined structures on when an event started some finishes, even if that runs into another time zone. And also because we want to make sure that everyone is supported at all times, that we are keeping this environment safe and friendly from most all. We're not only rotating mentors and attendees, but also we make sure that organizers are distributed across the time zones and also we have folks that are observing and enforcing the code of conduct at all times. This is especially critical when we're working with folks from marginalized backgrounds or minoritized communities, minoritized groups within our community. Yeah, so the other challenge that we had is that, well, because we're doing it online, so human interactions are different. Yeah, we don't have people sitting together, we just like we are all scattered around the world, just connected using the internet. How can we make it a safe space? Ensure that nobody's offended because words can be a weapon, right? If someone used it incorrectly, it could hurt somebody and we don't want that to happen. We want it to be safe and inclusive for everyone. So we have to connect, also connect mentors and mentee together. They could work together in a format that they're not sitting next to each other, but they can still work together so mentors can provide mentorship to the mentees. And also the communication between organizers and the participant, including mentors and mentees, could be a little bit different because we can be like, you know, ding, ding, ding, hello, okay, now is the time for presentation or let's have a presentation right now for the project. We have to, you know, have communication with them so that they know that we, this is the schedule what we are going to do next and what is happening at the moment. So yeah, how can we achieve that? Yeah, so for online sprints, we had to find proxies for all of this traditional in-person interactions from regular sprints. We started having all of our workshops in the grief and the grief using Zoom. And for editing, well, for us to be able to keep track of the communication and also enforce the code of conduct and do some moderation, we only centralize all of our chat interactions and text voice interactions through Discord. This has proven to be very helpful but although it was originally designed for gamers, it does give us a lot of flexibility when it comes to having different mentors or different projects involved to have separate voice channels and separate text channels. And it was very, very useful because folks could just jump straight into a video call, walk people through the code base or through the ratios. And that kind of replaced that in-person interaction. We also are seeing a lot of mentors using very interesting tools to go through the code or a shared screen or do peer programming using things like LiveShare and on voice and LiveShare, for example, in VS Code, that has been very useful as well. And also we're thinking about recording, getting started guides so that folks can use and reuse for them or for their workshops or sprints at any time. So folks can easily go through how to make their first full request, how to interact with it or and get help to find projects to contribute to. Yeah, so also we have to find a way to provide support for the participants, especially people who are as mentees that they have never done open source contribution before they may be coming from a minority background that they feel will be scared when they join this event. Like, especially when they are online, they will be like, okay, I don't want them, like we don't want them to feel alone. So yeah, so the challenge will be like, how can we provide mentorship to let them know that they could get help easily? That, you know, even though it's not a project specific, even though like something as easy as, how do you get, how do you get help? These things that they know that even though they have never done it before, they would get help from us. And also, yeah, like we have to really support them like to that if they have never used it or never done anything with open source before that they know that they are here and it's fine to know nothing and someone will go to help them. So how can we provide all this in an online format? So again, we tiered the support that we were providing or that we're providing to attendees or contributors. So on one hand, we have all the technical guidance specific to projects that is provided by the mentors that can be either regular contributors to a project or maintainers and developers for this specific tool or a package or as much. But we also provide a beginner's help desk. And that is very, very focused on helping folks with contribution workflows, getting them started, helping troubleshoot development environment. We also have dedicated folks helping with get issues that is commonly, that's a common problem. So I remember when I was getting started contributing to open source, some of my biggest problems came to merge conflicts or then I had to do a rebase, but rebasing code on top of each other can be like really, really confusing and scary. So we're trying to provide as much support as possible in that direction. Also, we always provide a getting started contributing to open source and intro to GitHub at a very, very beginning for those that are absolute beginners or just for those that want to refresh a bit of their knowledge and workflow and want to be fully prepared for the rest of this print. Yeah, so let's put it this way. We have to keep folks engaged with NoSwex and that's so cute actually. So how can we do that? Like, because, well, before, you know, we would make the event fun, you know, if you have make a pull request we'll give you a sticker and things like that. But yeah, like everybody's at home it's difficult to give them swags. Like we have to post them. I mean, like personally, I've tried, but yeah, my colleague really want to beat me because oh my God, we're like, I have to go to the post office so many times. But yeah, and also people are distributed at home. There's so many things happening at home. They could be distracted easily by what happened around them. So how should we do it? So the first thing is having regular checkings, making sure that we are constantly checking in on the mentors, making sure that all things are running smoothly on our side, identifying where we could better support them as well as the contributors. So we are constantly hopping in and out from the different channels. And we also have to, we make a big effort on openly celebrating wins and we treat all wins equal, whether it's someone identifying or finding a ball in the code and creating an issue for that or someone submitting their first pull request. We've had a lot of different wins and accomplishments and we make sure that none of them go unnoticed. So for that, we have a specific channel where a bot will basically celebrate these wins, keep people engaged. And especially now that we are moving into a bit more structured time zones allocation, we do have to put a lot of effort in indicating when a time zone rotation is happening, when it's the start, when it's the finish, if folks want to run into the next time zone, we make sure that they are also introduced and included with projects and the other time slot. Yeah, also the main challenge that we have in our mind is that how to provide a safe environment because well, like all events, we have a code of conduct, but it's not just there for decoration, right? We have to make sure that is effective, that it's enforced. And so we need to have moderation, right? To make sure that it's uphold and everybody's following it. And what about like, because, well, like we said before, we are using Zoom and Discord, there's like many chats and many tools, like we need a lot of like manpower to keep track and response if things happen. So what should we do? All right. So the approach that we follow for enforcing code of conduct is a combination of bots and human because you always need a human that is gonna be there dealing with any complaints or harassment or any code of conduct violation. So again, to keep track of all of this conversation, making sure that we can actually actively moderate an intervene as soon as possible and smoothly, we have a centralized communication approach. I mentioned before that we're using Zoom, for example, for the debrief and bringing everybody into the event. But we make sure that there is no chat dire and everything is happening inside our Discord server. Because that way we could also rely on moderation bots to make sure that there is no swearing, that folks are not spamming, and that other people can, well, that organizers, mentors and the code of conduct enforcement have a certain right to ban or mute folks as required. And we also make sure that the person, that we have at least one person that has been trained in code of conduct enforcement at all times, and this is massively helpful. We've never had an incident on mentor sprints, but that means that that is never gonna happen. So we always make sure to have someone train, someone that knows what the processes are and can follow through at any time. Yeah, so I will let Tanya to bring us the introduction of this website and handbook size included. It's a resources that you may want to use. All right, so far we've introduced our sprints. This whole project is called mentor sprints because its center is around the whole interaction or this whole mentor-mentee interaction. But it goes beyond just organizing sprints for projects, for conferences or events. We want to truly build a community around this. We've had some cases in which folks that were, that joined the sprint for the first time to make their first contribution to open source have now developed a long-term relationship with their mentor and the project and our regular contributors. And we want to bring as many people across the globe, across different projects. This definitely started as a hatchery program in Python. We were very, very targeted to the Python community, but we really want everyone that is organizing sprints to jump into this approach and make it a global community, a global collaboration. And for this purposes, we have also started to work on a community handbag where we are trying to distal all of our learning on how do you actually run a mentor sprint? We also have, or we also receive a lot of requests on could you run a mentor sprint at my conference? Can we work on a mentor sprint with you? And although we've done it in the past, it's not scalable. So the best way to help folks that are currently organizing sprints or wanting to run their sprints is giving all the tools and the learnings that we've built across all of these events so that they can go and reuse them. And this brought us to working together on a community handbag. It follows a completely open approach. So all of our learnings are into this handbag. We have an approach where we have content for organizers, mentors and attendees. So everyone knows what the role in a mentor sprint is, how to better prepare. We have guides for organizers on, well, what do you need to run a mentor sprint? What tools we normally recommend? What setup has proven to be useful for folks to join? When it comes to mentors, it is a lot about reframing that mindset and thinking beyond just code contributions or just coding issues for country readers. And we do encourage them to bring a very, very diverse set of issues. It can be like building tutorials, working on documentation, code contribution, design, if someone needs a logo. I think in the past, when we were having in-person events, we had folks from Adafruit bringing some of their hardware so that folks could test at new libraries on this hardware and find any issues. And that was really, really impactful on folks. And we also have a section, especially for participants, so that they know how to prepare what is expected, what is the format and how they can belong or perform part of this community. So the goal is this handbook will be a one-stop handbook where anyone, regardless of their community or their event can go and learn from other mentor sprints instead of having to reinvent everything or rethink how to move sprints from in-person to online events. It's open source, so everyone can reuse that resources, share, contribute back to it. And the goal is ultimately, as I mentioned before, is building a community. Whether this is an online community forever or we ever get back to in-person sprints at need-person events. Yes, so, yeah. So Chuk is gonna tell you how we can, how you can get involved with the mentor sprints community. Yeah, so you can actually share your experience by contributing to the handbook. Like Atanya said, this is open source, so you are free to use it. And if you have a mentor sprint and run it online with your community, run it at your conference and you can share your experience and share the resources with other organizers. Tell us what you have experienced, whether the thing that we have written works for you or is it something that we have missed and if there's anything specials to your event that you want to add some footnotes to it. Feel free to do it, it's on GitHub. So there's the link there, so it's open source. So we would love your contribution. Yeah, so thank you so much and please get in touch by all those means. We do have a website, we were going to organize some more mentors sprints. We will still be using this online format for a little longer, I can see that. And also, yeah, please feel free to use all these resources that's available to you, feel free to contribute back to it. Yeah, so I think that's it from us. Anything you would like to add, Tania? No, I think like getting in touch if you want to contribute to a project, become part of the community. And I think that is all. Thank you very much for joining our talk and hope you enjoy the rest of the open source summit. Yeah.