100 PaperCuts: Sprint 1 Review

Yesterday we wrapped up the first sprint of the Liferay Community's 100 Paper Cuts program, and at at 80% solution rate, I'm calling it a success!  A big round of applause goes to the volunteers of this program: Szymon, Rafal, Juan, Milan, Deb, Boubker, Corne, Tomas, Maarten, and our newest member, Hitesh!

Of the 10 papercuts identified, 8 have been resolved.  In the next sprint, we'll take 10 more and do it again.  We learned several things that we will use to improve the next round:

  • I initially identified the 10 papercuts and randomly assigned them to people.  This does not work as everyone has a different skill set, and so there was some shuffling around of issues at the beginning.  In the next sprint, we'll identify a set of issues (a backlog) and individuals can pick and choose which ones to tackle.
  • One of the issues (LPS-12988) turned out not to be a papercut at all, requiring some in-depth investigation and non-trivial changes.  We'll try to avoid that next time.
  • A couple of the issues were fixed by the team, but the original submitter was no longer around to Accept Contribution.  This is a hole in our JIRA workflow (to be sorted after the JIRA upgrade).  Rest assured, the issue is assumed to be in the Community Resolved state now and can be handled by Liferay Staff.
  • A couple of issues turned out to be already fixed.  Not a huge deal, and clearing/closing them is an added benefit of this program.

Sprint 2 will begin next week, and between now and then we'll be identifying papercuts to fix.  If you want to participate, leave a comment below.  This program is a great way to immerse yourself in the code, learn a lot about enterprise-class web development, and give a little back to the community, all at the same time.  Requires a couple of hours of work every 2 weeks, so if you've got the motivation and like a (relatively easy) challenge, join up!

Blogs
Ok sign me up

in-depth investigation and non-trivial changes sounds more interesting than a relatively easy challenge though.
Want me to take a stab at LPS-12988? emoticon
Awesome Jelmer! I'll add you to the team. Sure, please take a crack at LPS-12988. I looked at this morning, it looks like for the Activities portlet, it is implemented in a taglib and rendered as part of the render phase of that portlet, whereas with other feeds (e.g. blog feeds), it's implemented as a portlet resource request. For some reason, in the taglib code, even though setContentType() is called to set the content type to text/xml, it's not taking effect (possibly because the response writer has already been established by the time the taglib's jsp code is called). That's about as far as I got.
Hey, that's very very nice work for first try, team!

I think we can have some more challenging tasks in a backlog (like LPS-12988). Maybe it takes more effort to fix it but if community really want it, we shouldn't be afraid and at least try to know our limits (because reward can be sweet emoticon) In the worst case we don't solve it ;)

Btw. James, is it possible to ping Jenny to accept LPS-14351? Thank you.
I'm fine with it if everyone else is.. just so long as you all don't get fired for spending all your days fixing our bugs emoticon

I'll ping Jenny via email, but our fallback that I just discovered is that I can change the bug so that *you* are the submitter, then you can "accept" your own solution emoticon If the original submitter of a bug doesn't respond within a week, I'll just do that.
Nice job everybody...
I added some JIRA tickets to the 100PC backlog to prepare the next sprint!
We can choose from now the issue we want to deal with ;-)
Is there a JIRA filter to see only the available (pre-screened as not too major) backlog bugs to choose from?

The "100PC Papercuts" filter includes those that have been worked on, so it's not easy to tell which to pick from, and "100 PC Candidates" is pretty much every open bug.

Maybe we could add the Sprint # to the comment when a bug is claimed and then exclude those with 'Sprint' in the comment field to create a 100 PC Available filter?
Yeah, the "100PC Papercuts" filter are those we've already selected to work on (our backlog).

The "100 PC Candidates" are basically all unresolved bugs, but filters out those that are already in the Liferay engineering pipeline (associated with a specific sprint).

Deb, I like your idea of separating the "backlog" bugs from the ones that have been selected for a specific sprint. If only we had the JIRA upgrade completed, this could all be solved with tags. But the interim, yeah, how about this:

For bugs we consider potential papercuts (but aren't associated with a specific 100PC sprint), we use this phrase: "This issue is a backlog candidate for the 100 PaperCuts program. Please consider participating! See http://liferay.com/community/100-papercuts".

For bugs that we select for a specific sprint, we put this:

"This issue is currently being addressed in Sprint X of the 100 PaperCuts program. Please see http://liferay.com/community/100-papercuts"

That way, the first phrase doesn't imply that the original submitter or person currently assigned should ignore it or that it will *definitely* be fixed. The second one does.
BTW, our JIRA upgrade was completed over the weekend, so we can have arbitrary tags on tickets now.. yay!!!!!! I'll work on using the tagging system going forward (and converting the existing tickets we have identified).