Skip to main content

Preparing for sprints as a project leader

A photo of people at the sprints. Several people are at desks, looking intently at laptops. There is a group of three people discussing something in the background.

This article outlines the things you should consider doing when preparing to lead a project at sprints to maximize connection and collaboration. This is for people who are attending sprints at a conference who intend to collaborate and lead others to contribute to a given project.

If you're looking for general information on sprints, see "Contribute to Django at the Contribution Sprints!"

Table of contents

Promote your participation!

This was originally at the end, but I moved it up. This is the main thing you should do. People contribute at sprints because they want to collaborate and connect. You don’t have to wait until the conference to start that process, so get started now!

Here are some ideas:

  • Post on your social media regularly with the conference hash tag that you’ll be there
  • Write a blog post that you’ll be there
  • Talk about what issues you’re excited about
  • Make it clear you want help from the community and where your needs are

This step is immensely helpful to you, your project and the conference. People are more likely to attend sprints and the conference if they know what is going on. You’re more likely to find contributors if more people attend. The conference needs new and returning attendees to be sustainable.

Talking about your project and how you’ll be at the conference is a win for everyone. Please do it!

Prework reflection

Similar to preparing for a conference, you need to ask yourself a few questions:

  1. What are you looking to get out of sprints?
  2. What does your project need?
  3. What are you capable of doing?

There are no right or wrong answers. Having an understanding of where you and the project stand will help you communicate what you’re looking for and build off-ramps for incompatible individuals so everyone can have their expectations met.

An example answer set would be:

  1. To meet new people, grow my network and learn something new.
  2. More regular contributors
  3. Answer basic questions about running the project, know who to ping when things get hard, can teach others how to run the tests and build the docs locally.

In the above case, there’s nothing about being an expert on the project or being the sole maintainer. Those things certainly help, and are critical when you want to collaborate on big projects at sprints, but for the purposes of growing the community and contributor base, they are unnecessary.

Prepare the contributing documentation

With your understanding of the goals for the sprint, it’s time to take a look at the project itself to determine if it’s prepared for new contributors. It’s worth doing the basics:

  1. Read the contribution docs and freshen them up
    1. Include how to install dependencies
    2. Include how to run tests locally
    3. Include how to build the documentation locally
    4. Include how to run linters, formatters and/or type-checking locally
    5. Include where to look for issues to work on
  2. Create a fresh environment and confirm any code works

Identify the available work

One of the challenges to open source software is finding something to work on. Depending on the types of contribution you’re looking for and that you’re capable of supporting, consider:

  • Reviewing issues and adding newcomer friendly / beginner labels
  • Identifying issues that are well-contained and could be completed in a day’s worth of effort
  • Identifying ideas/features that could be implemented or explored

It can be helpful to create a single issue for the sprint that links to the various issues, features and ideas that you’re looking to work on. This has the benefit of communicating to your other contributors that these will be iterated on in the sprint, allowing them to add their own or ask questions. It also provides you with a single link to use when promoting your participation in sprints or when you’re speaking with sprinters.

Identify what you will need the day of

Imagine what it will be like during the sprints. You have the ideal number of participants who want to participate exactly as you’re hoping. What will you be doing? What will you be using? Do you need to bring anything with you? You can ask the conference organizers for help with materials as well.

Some examples of materials may be:

  • Paper and pens
  • Whiteboard
  • TV

While extra materials can be helpful, it’s also beneficial to prepare as if you only have your computer. Don’t be entirely reliant on the organizers because they are likely volunteers and people can make mistakes.

Communicate with the organizers

Depending on the conference, you may be able to get your project listed on the sprints page. At DjangoCon US, we would love to know if you plan to be at sprints and which project you’re leading.

Let us know on your sprints ticket(s) or email us directly at sprints@djangocon.us.

The organizers at DjangoCon US will be hosting a few virtual office hour sessions before the conference for attendees to get their laptops ready to contribute to a project. Knowing that you’ll be there allows us to steer people towards your project so they can clone the repo, set up a virtual environment and run the tests, all before the conference, allowing you more time to collaborate. So please, let us know if you’re coming!

Do something extra

This is entirely optional, hence the “extra”. The people who attend sprints to contribute want to feel connected to the community and help build something meaningful. The challenge is that it’s intimidating to do in public. People let judgement creep in and worry about perception. Consider what you can do to eliminate that fear and make them feel welcomed.

At DjangoCon US, when someone gets their PR merged, the entire room breaks out into applause. Apparently in the past there was a gong for a person to ring. That’d be even cooler. The point is to have a ritual that signals, “hey this person did something challenging and we should celebrate their accomplishment!” It also forms a memory for that person. They will remember that the community applauded their efforts no matter how small.

The BeeWare project takes the above even further. They award challenge coins to anyone who participates. While I haven’t done this on any of my projects, the idea is still inspirational.

What can you do to make your sprint event memorable for others?

Sprint leader checklist

In case it’s helpful here is a checklist with the above ideas.

  • Announce that you’ll be at sprints and want to people to collaborate with on your project
    • Post on your social media
    • Write a blog post
  • Reflect on what you are looking to get out of sprints
  • Reflect on what your project need
  • Reflect on what you are capable of doing
  • Review the contribution docs
    • Does it show how to install dependencies
    • Does it show how to run tests locally
    • Does it show how to build the documentation locally
    • Does it show how to run linters, formatters and/or type-checking locally
    • Does it show where to look for issues to work on
    • Create a fresh environment and confirm any code works
  • Review issues and add newcomer friendly / beginner labels
  • Identify issues that are well-contained and could be completed in a day’s worth of effort
  • Identify ideas/features that could be implemented or explored
  • Create a single issue for the sprint that links to the various issues, features and ideas
  • Pack the materials you’ll need (paper, pen, whiteboard, etc)