Last updated 31 January 2016.
Background: One Issue many tasks
- What is a sprint?
- Description of "needs" tags and Issue tags general guidelines
- Contributor task documentation pages
Preparing for and running a sprint
Use core mentoring
Use the drupal issue queues, Novice tag, dreditor insert tasks button
Prepping for drupalcon blog describes how to use tags in the drupal.org issue queues. A google doc, other issue tracker (like trello) can also work, but updating the issues has longer lasting benefits. Dreditor has an insert novice tasks button, which provides a template with links to contributor task instructions pre-filled in.
Reading and Video list to prepare mentors
Mentors should ideally be familiar with core processes. Read mentor resources and share it with mentors.
- Estimate the number of attendees your sprint might have. A ratio of 1 mentor for every 8 participants usually works well to keep mentors from being overwhelmed. If mentors not recruited a head of time, find participants that can be mentors, by asking for help when someone asks you a question and then pairing the participant who knows how to do something with the one seeking help. You dont have to know everything, or do everything.
- Make an event of type sprint on groups.drupal.org
- G.d.o events show up automatically on http://www.drupical.com/ which can be filtered to show just sprints.
- A sample blurb to add to your session/event description and announcement (edit to fit your event):
Everyone is welcome; if you have built a site in Drupal, you can contribute. We will split into pairs and work on Drupal core issues. Bring your laptop. If possible, install git before coming and git clone Drupal 8 core. For new folks: you can get a head start also by making an account on Drupal.org and taking a look at the Drupal Ladder http://drupalladder.org/
- Some sprints copy the sprint sign-up google doc template (see irc factoid: sprint template?)
- Use irc, #drupal-contributor, a regional channel, or a topic channel to promote your sprint. Maybe also update the sprints? irc factoid to list the sprint.
Plan to deal with dev env situation
- Setting up a dev env is a resource of tools that can be used in announcements or reminders to sprint participants that will help them set up their development environment before a sprint.
- Tools package used at drupalcon sprints might also be useful for smaller sprints
- simplytest.me is a tool that can be used when participants want to test a patch, or reproduce an issue but they do not have a local *AMP stack.
- When recruiting mentors, try to get a few people with experience who are comfortable troubleshooting development stacks on Linux, Mac, and Windows.
- Plan to provide enough access points with enough capacity for 2.5 devices per person.
- Bandwidth limits per device should not be less than 10MB.
- For a small sprint of around 10 people: Bandwidth: 20-30 MBps down, 5 MBps up should handle 20-25 devices.
- For a large sprint of around 100 people: Bandwidth: 60-80 MBps down, 20 MBps up should handle 300-400 devices.
# Prepare on Drupal.org
Send the following information to email@example.com at least 2 days before your event date:
- Sprint location IP address and the number of people expected at your sprint. More testbots will be provided if necessary.
- Location: Tables of about 6 people facing each other seem to work the best.
- Make sure there are adequate power strips and wifi.
- A projector and mic are also recommended for larger sprints.
- A couple days before the sprint do task selection.
- Pick tasks from each of the categories of contributor tasks and look for issues that can be tagged with needs tags as a way to identify discrete tasks.
- Link issues to contributor task documents.
- Tidy up issues.
- If you will be having people new to contributing, read about what is a novice task.
Instructions for sprinters
Make a blog post or google doc with instructions for your sprint participants. Have it include information like:
- create account on d.o
- a way to take attendance, for example, ask them to add their d.o username to a tiny url to a google doc
- install tools to get their dev env set up, your own list, or use http://drupal.org/dev-env
- clone drupal http://drupal.org/project/drupal/git-instructions and install it
- ask a mentor for help selecting a task
- instructions for coordinating who is working on what task, for example, update a google doc, or make a comment on the issue saying what they are about to do (maybe also saying they are at the BLANK sprint).
- list the wireless network and password
On the sprint day
- Have signage so people know they are in the right location.
- Be really nice to new folks.
- Welcome each person who comes, and introduce yourself.
- Get people on irc in #drupal and #drupal-contribute Because, even when working in-person, irc is handy to share links and use the bot. And remotely, you get to coordinate, get help, and get to joke with Drupalers. Also, when participants get used to irc, then after the sprint they can continue to stay connected.
- Get to know the attendees, asking them questions, and then help them choose tasks that are good matches to them.
- Match participants with simple tasks. Especially their first task should be simple, so they have success and give them confidence to stay engaged and keep trying.
- Tell participants when they begin to work on issues, to make a comment on the issue saying what they are about to do. This helps to avoid duplicate work.
- Advise participants to reload issue pages before making a comment to see if someone else has commented since the last time they loaded the page.
- It's encouraged make comments on Drupal.org issues to: ask questions, give intermediate results, etc.
- Have participants work in pairs, it encourages collaboration in the community and can help mentors if there are many participants.
- Take pictures, and write down who is there.
Organizers, do not worry about what you have gotten yourself into, the community will support you.
Reviews, during the sprint and after
- Have every participant put a link in irc in #drupal-contribute to the issue they have posted work on (work could be issue summary update, screenshots, patch, review, anything).
- Have every participant find someone to review their work before moving on to another task.
- Have every participant review (look at) what (at least) one other participant has done.
- How to give a constructive feedback
- Drupalcon Sydney Patch Review Session with lots of detail for how to do reviews of patches.
- xjm's core office hours Modules Unraveled podcast
- emmajane's Drupalcon Portland session on the Art of giving and getting critique
- YesCT and ZenDoodles Drupalcon Portland core conversation on how to get good reviews
Reading through this list might be overwhelming, but remember smaller sprints do not need every point here and are easier to get started organizing, and that the community is here to support you. Reach out for support by asking in irc in #drupal-contribute or contacting people who have led visible sprints in the past.
This page is a combination of resources:
- Drupal Association Presents: How to organize a successful sprint Presentation of April 7, 2015.
- xjm's blog with mentoring and sprint organizing tips.
- g.d.o Sprint Weekend page is an example of organizing sprints with more resources.
- Drupalcon Portland session for people who are or are thinking about being sprint mentors and organizers.
- Dev Days Szeged Organizers Report
- Organizing sprints (work parties)