Sprint based development for Drupal 8

Events happening in the community are now at Drupal community events on www.drupal.org.
arianek's picture

Hi Drupalfolk -

I documented a bunch of the ideas/discussion points from Dries' D8 core convo on a blog post:

http://affinitybridge.com/blog/drupal-8-git-sprints-efficient-smooth

I am considering making a page/section in the Initiatives section on d.o but would really like a bit more input first - I got a lot of positive tweets and a couple more detailed comments, but I still am not sure exactly how much support there would be for this, nor how much more detail would need to be hashed out for it to become a method that people would be comfortable experimenting with.

Personally I would like to try running a month-long sprint for the online documentation and see how it works then report back (as we really had great momentum last winter leading up to string freeze, and I think this was because of the clear chunk of work to be accomplished in a set amount of time).

Would love to hear what you all think and whether it seems appropriate to set up an Initiatives page on this.

Thanks!

Comments

"sprints"

arianek's picture

ps. it was just flagged for me that people might be interpreting "sprints" as in the thing we occasionally do in person or over IRC for a day or a few hours. But in this context, I'm talking about "sprints" from agile development methods - a sprint is a larger chunk of time (2 weeks, a month, a couple months) where you work on specific stuff that was chosen at the beginning and you want to have fully complete by the end. You work in sprints back to back for as long as it takes to complete a project or a phase of a project.

There's more info here: http://en.wikipedia.org/wiki/Scrum_(development)#Characteristics

mlangfeld's picture

I like the idea of a sprint based on the information in the wikipedia article. It would be easier for me to contribute in this way, as a beginner in the effort. I'd feel more able to contribute, to know who else on the team I could consult with questions, and to be given tasks that fit my profile.

Best, Marilyn

For Sure, Dude

chrisstrahl's picture

I think this is a great idea. Moving to a more modern PM practice both reflects the reality of what we do and also will serve to guide the direction of D8.

April 2011 sprints - who's with me?

arianek's picture

Weeded out some issues to try and tackle during an April Docs sprint and tagged them with "Sprint: April 2011" - voila: http://drupal.org/project/issues/search/documentation?issue_tags=Sprint%...

I invite anyone who wants to experiment with running a sprint in April to join me and use the same tag so we can track what gets done.

If we're going to be agile about it you want to do this:

  • Sprint planning: at the start of the month, meet briefly with whoever you work with the most and decide what to work on for the month.
  • Tag the issues you want to deal with during the sprint (ideally you don't bring new issues into the sprint once it's in progress unless there is something critical).
  • Convince a bunch of people to dedicate themselves for the month and get them done!
  • At the end, start anew and decide what should be in the next sprint, not necessarily bringing issues forward that weren't completed in the last one (it's all about reevaluating priorities on an ongoing basis).
  • If you want to and feel like people would be into it, you can also do a Sprint retrospective meeting and briefly review what did and didn't go well, and learn for next round (to continually improve process).

Tagging was key for our redesign and Git sprints

chrisstrahl's picture

Thought I'd share some stuff about how we tagged for Git / redesign issues.

  • We had a set of common global tags (e.g. "drupal.org redesign") in order to be able to grab lists of all stories.
  • We included our previous tag in each of our sprints just to make sure we didn't lose transparency or cross with other people planning similar sprints (e.g. drupal.org redesign sprint 1)
  • All stories that moved from one sprint to another had a comment put in them that showed that they had formerly had one tag and were now getting another, and the reason they were being pushed.
  • We created a list of potential "story owners" that you could assign issues to in order to be able to view individual backlogs for the sprint participants.

Let me know if you need more info on how we accomplished any of the above.

Yup - sounds right

arianek's picture

That sounds right to me - I actually did put thought into the tag. ;) My rationale for the tag "Sprint: April 2011" was the following, in case anyone is interested:

  • Tag should be project agnostic so it can be used across any projects or initiatives that are sprinting. Then if we want, we can see all currently sprinting issues at once (which would be useful if we, for instance, at the end of the sprint did a call-out for issue reviews). And also so if issues get moved from project to project, they don't need to be re-tagged.

  • Tag should clearly indicate it's for sprint tracking, hence actually putting the word "sprint" in it.

  • I wanted a tag that is dedicated, ie. only used for the sprint tracking for that specific sprint, and one we would not have to untag later (for the transparency and history to be maintained). Hence putting the month/year in it. Very easy to know what the tag names should be ongoing if we're doing monthly - if we change up to 2 week sprints at some point, will have to adapt and change the system then.

As far as how issues get assigned, it'll depend heavily on what project it is. For docs, I don't assign issues generally, but for others I'm sure that will happen. I'm going to try and have a kickoff meeting on IRC or at least a g.d.o post to alert people there are issues up for grabs, and see who wants to work on what. Then at least one checkin at mid-sprint if not weeklies if there's enough going on.

April Docs sprint kickoff

arianek's picture

Following up - just posted a kickoff for online docs sprint for April. http://groups.drupal.org/node/138994 Will see how much interest there is and report back later on how it goes!

Sweet!

chrisstrahl's picture

I'll be checking back to see how things go!

Good thoughts on the tagging for issues.

The one I would disagree with is always making the sprints project agnostic. If you've got multiple initiatives running at the same time it precludes others from using a similar tagging schema. To be clear - ours was : . Occasionally we added other tags to supplement which component of the initiative we were working on. But hey, if you grab the tag before anyone else then yours is obviously the most important project anyways :-).

We had to use 2 tags - one for the overall backlog, and one for the current sprint backlog (hence "drupal.org redesign" and "drupal.org redesign sprint X". That way you could have an "icebox" view, a current backlog view, and various combinations of the two. Being able to sort / filter by story owner (which is what we used the assignment for) allowed us some further detail when doing stand-ups or reviews.

I'm hoping that in future versions of project we can get some friendlier ways of aggregating stories (versus the 10 or so links I had bookmarked that gave me the sorting / filtering options on the issue queues). Also, having velocity would be nice. I talked to hunmonk about incorporating some of these last summer, but we never really followed up on the conversation. Might be cool to get your thoughts and mine together on a wiki page and see if we can get some traction on improving the project module for agile development.

Yah we should definitely talk

arianek's picture

Yah we should definitely talk more about the rationales, but this should be a good enough start. As far as making the issue queues more effective - http://groups.drupal.org/prairie-initiative just in case that wasn't on your radar!

Project Management

Group organizers

Group categories

Project Management

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week