Problem/Motivation

part of #2173425: [META] Merge DrupalMentoring.org features into Drupal.org

When preparing for a sprint,
like global sprint weekend https://groups.drupal.org/node/447258
we need a way to make a public list of issues that are good candidates to sprint on.

We can do the usual, of tagging with topics and need tags and updating the issue summary with tasks
But that still makes an advanced search pick up issues that may not be best to work on at the sprint.

We can tag with generic sprint (like d8mi does) meaning this is important and being actively worked on
But then a search for sprint tag will find issues that might be super hard and not appropriate for the sprint.

We can use the novice tag, but some issues good for at a sprint are not ones with novice tasks.

We could make a wiki on g.d.o and manually list issues.
But that might be not easy for people doing the triaging.

We could use a tool outside d.o (like jira, redmine.. something else)
But those do not get refreshed with status, priority, etc.

We could use something that pulls d.o issue json data
Related is #1621714: Allow to bookmark/favorite issues without abusing the Assigned field or issue tags and there are some tools there in #45 (but I dont think we can have a group add to the boards and make those boards public)

Proposed resolution

DrupalCon Los Angeles 2015

Thinking about drupalcon LA, I think instead of a separate queue tag, we can just ask sprint organizers (maintainers, initiative managers, other people taking an organizing role) to pre tag some issues with the regular sprint tag we use.

This would

We should also decide on a tag, if we stick with the recent pattern at cons, it would be
LosAngeles2015
(no spaces, no hash # symbol)

Sprint Weekend 2015

For sprint weekend 2015 we did:
Tag with a different name
SprintWeekend2015Queue
Advanced search link to 8.0.x open issues with that tag:
https://www.drupal.org/project/issues/search/drupal?project_issue_follow...
Worry: that later, we would need to remove the tag. Also, making new tags is not something we are really supposed to be doing. But after talking we decided to go this way.

Remaining tasks

Background

https://www.drupal.org/issue-tags/special#needs-tags
https://www.drupal.org/issue-tags/topic

Other recommendations

  • update issue summaries, use the http://dreditor.org insert template button
  • update the summary with tasks, use the dreditor insert tasks button (and uncomment the tasks you have identified need to be done)
  • add needs tags for those tasks
  • if it is a core drupal 8.0.x issue (especially if it is a normal task and at risk for not being commitable in the beta) add a beta evaluation (also a dreditor button for that). See task: https://www.drupal.org/contributor-tasks/update-allowed-beta
  • Only tag novice if task is very clear (and would take very little time to do (it takes new contributor longer to do things than we think). https://drupal.org/core-mentoring/novice-tasks helps people decide what is a novice task and what is not.

a proposed resolution we are not doing

Not doing:
Preemptively tag with the sprint name like:
SprintWeekend2015
Initial worry was that then the tag wont be accurate for knowing which issues were worked on (Dries has asked for issue tagging with sprint names as a way to evaluate the effectiveness of a sprint)
But, on more thought, triaging is a big part of work for/at a sprint so maybe that concern should not block using that solution.

Comments

YesCT’s picture

xjm suggested the candidate tag could be fine.

suggested tag is:
SprintWeekend2015Queue

I suggest when someone adds it they use some version of this statement in their comment:

Identifying this as a potential good issue for Sprint Weekend. See discussion at #2407325: preparing for a sprint, would be good to have a list of candidate issues. Adding sprint queue tag.

If this is worked on during the sprint, please add the tag SprintWeekend2015. Add a comment when you start work saying what you are about to do, so we can coordinate.
YesCT’s picture

Issue summary: View changes
penyaskito’s picture

+1 Perfect, hope it will work

jlbellido’s picture

+1

YesCT’s picture

tagging issues is something people forget. we can ask them to install http://webflo.github.io/drupalsprint-bookmarklet/ ...or justafish might have made one to automatically do it.

penyaskito’s picture

Do we want also to track local sprints and use a tag for that? Like: GlobalSprintWeekendChicago

YesCT’s picture

@penyaskito I would go with no. we have 45 locations. that's a lot of tags.
If local places have a particular focus, like a module, or topic, hopefully they can use another way of filtering the advanced search so they dont need their own local tag.

also

https://gist.github.com/clemens-tolboom/7e15dac5bfb07a729f6e ( http://bl.ocks.org/clemens-tolboom )
We should think about updating and asking people to install it.
I seem to remember a request from ams was for a timer (a date comparison), so that after the sprint it didn't keep adding the tag.

YesCT’s picture

Issue summary: View changes
heddn’s picture

Here's a working user script tested against Chrome Beta. https://gist.github.com/heddn/4f40995746704071329c. Inspired by @clemens-tolboom, with help from Google to make sure that jquery was available.

I removed the drupal core check from the amsterdam version, since a lot of folks are sprinting on non-core topics. It adds a fairly basic check for date, starting from Friday and running through Sunday. Depending on a person's locale, the sprint weekend runs that entire time. After installing the script, all issues on d.o. will get tagged with the sprint tag. So if someone is working non-sprint stuff, be careful or adjust the date logic so it is more specific for your locale.

sidharthap’s picture

Here In India Mumbai, we will do the sprint. Searching the issue using SprintWeekend2015Queue is good idea. +1 @YesCT
How to stop re work on one issue as code sprint will happen over 45 locations?

David Hernández’s picture

@sidharthap, add a comment saying you are working on the issue on the sprint.

Gábor Hojtsy’s picture

@sidharthap: also use the assigned field if you work on something on the issue (and its not already assigned). If it is already then spend some time tracking down the person so to know if they are still working on it.

YesCT’s picture

0) log in to drupal.org
0.5) get into irc.freenode.net #drupal-contribute

When someone finds an issue they might want to workn on:

1) follow it
2) read the summary and info
3) read first few comments
4) read few most recent comments
5) pick a task that needs to be done (issue summary might have a list, or found one reading the comments). A task might be, review a change record, draft a change record, manually test, make a screenshot, update the issue summary, review a patch, review mockup or screenshot, verify bug stil exists in head, update a patch based on feedback from a review and post a new patch and interdiff, reroll an old patch to apply on head and post that new patch (no interdiff for rerolls), add automated tests and post interdiff and new tests only patch and patch combining the fix and tests, ....
6) before begin to do the task,
6a) reload the issue page (lok for any new comments)
6b) if no-one has posted a new comment saying they are doing the same task you picked, then you post a comment saying which task you are about to do. Add the SprintWeekend2015 tag.
6c) paste a link to the issue into irc, and say what task you are about to begin doing
7) later... ask questions in irc and in new comments on the issue
8) later... post half done or half working result, ask more questions
9) before leaving the Sprint (for lunch, dinner, or to go home) post your work, ask questions, suggest next steps, update the issue summary, make sure the issue status is appropriate. Say you are done for now, for the night... whatever.
9b) if you go to post your work, and someone already has done what you did, that can be frustrating and disappointing. But, you are in an excellent position to post feedback or questions about what they did.
10) when you return from a break, reload the page and look for new comments.

Note, there are often many tasks to do, so work with others on the same issue, but communicate as to who will do which task.

If you are stuck, pick a second issue to also work on at ththe same time... but don't work on too many moving each only forward a little. Instead, focus on 1 or 2, doing many of the tasks, until you cannot do anymore. Try and get issue rtbc, or as close to rtbc as you can.

If you finish a task and identify a next step on the same issue, ask around (in your room, or in irc) if someone is looking for something to do, if the task you identify is good match for them, help them do the task.

webchick’s picture

I don't use any of these myself, but there are a number of public personal linking services ala delicious.com http://alternativeto.net/software/delicious/

alimac’s picture

Project: Core office hours tasks » Mentoring
YesCT’s picture

Thinking about drupalcon LA , I think instead of a separate queue tag, we can just ask sprint organizers (maintainers, initiative managers, other people taking an organizing role) to pre tag some issues with the regular sprint tag we use.

This would

We should also decide on a tag, if we stick with the recent pattern at cons, it would be
LosAngeles2015
(no spaces, no hash # symbol)

webchick’s picture

Just a crazy thought, feel free to ignore. Is there actually value in picking a new tag for each event? Or would we be better served by picking one tag like "Drupal Mentoring Issue" (or whatever) and using that for all events.

My rationale is similar to that of Google Summer of Code. In the past we'd make a new g.d.o group for each year. That meant every year we needed to get all mentors from the previous year (or as many as we could) re-signed up to the new group, re-post content that made sense to be 'global' to all groups, update bookmarks linking to RSS feeds, etc. Now we just use https://groups.drupal.org/google-summer-code and figure out what year the content corresponds to based on the date.

We have a similar problem with these sprint tags. Every time there's a new sprint, we have to educate people on what the right tag is (and note that it's without the #, and fix spelling errors, etc. ... numerous times I've seen sprint mentors taking time away from mentoring to fix tags at sprints which is :( ), core committers have to update their bookmarks from RTBC+SprintWeekend2015 to RTBC+DrupalDevDays to RTBC+LosAngeles2015 to... (and they also have to be re-educated on the tag name).

This would also have the benefit of giving us a "running" list of mentoring issues that would be accurate and up to date at any time, for ad-hoc sprints that come up that don't have one of the core mentoring team running them. We could funnel that into programs like Google Code-In without any up-front work.

Anyway. Just a thought. Feel free to carry on.

YesCT’s picture

This is not just for mentoring. And the origin of having a tag for sprints (at DrupalCon) was afaik, a request from @Dries because he wanted to have a way of finding out what was worked on at a sprint to be able to tell how effective the investment in having a sprint was. And so he asked that we try and get every issue touched during the con sprint to have the tag. We have discussed other ways of trying to gather data about what issues get worked on at a sprint, like db queries, but each has it's downside.

Personally, as a way of organizing which issues should be worked on, I would prefer that component/topic/initiative organizers just use the sprint tag to ... tag their items that should be current priorities, ... but that is it's own can of worms.

Gábor Hojtsy’s picture

@webchick: While I see the potential problems with the new tags each event, I think its very beneficial that if you look at issues tagged for the event, you are likely to find things that you can pair up on with someone else at the event, rather than a general sprint tag which very well include issues that were started 3 months ago and then went untouched and may not be a priority anymore. While continually reviewing said list of issues would be great, so a constant issue tag is used and such 3 month old out of priority issues would not stay with the tag that would still not help to find out what people at the particular event are working on which would loose us a very effective way to pair people up and get things to resolution faster.

YesCT’s picture

I suggest for Barcelona: Barcelona2015

heddn’s picture

+1 on #20

tatarbj’s picture

Status: Active » Closed (outdated)
Related issues: +#2960983: [meta] Plan for Mentoring Project/Issue Queue

I'm closing this issue as as part of issue queue clean-up meta: #2960983: [meta] Plan for Mentoring Project/Issue Queue. This does not mean topics in this issue is or was not important or completed.

Issue was used for DrupalCon Los Angeles and other sprint weekends in 2015 - I think after 3 years of being untouched, it can be considered outdated.