Re: [Wikitech-l] Evaluating Google Summer of Code

2012-11-20 Thread Quim Gil

Thank you for this summary. It is very useful.

Would you mind commenting more on lessons learned about the selection of 
candidates? We need the right now for


https://www.mediawiki.org/wiki/Outreach_Program_for_Women


On 11/18/2012 05:17 AM, Sumana Harihareswara wrote:

Quim Gil is the administrator for our participation in the Outreach
Program for Women, so I'll let him discuss how he wants to manage that
and how he'll be setting expectations appropriately.  :-)


As commented in another thread, I have just drafted

https://www.mediawiki.org/wiki/Talk:Mentorship_programs


I think
mandating two mentors per participant is a very good idea, Quim, what do
you think?


Defaulting to two is ok, but we can be flexible here - in both ways. 
Sometimes a single mentor can be trustworthy, sometimes not even two 
will convince us.  ;)


Just like with candidates, there is no magic formula for mentors 
(neither for program admins)  :)



Also: instead of making newbies write fixed proposals with
schedules, these OPW internships can follow broader charters and flex to
accommodate students' interests and abilities, and it's easier to
rescope iteratively to ensure that something useful gets produced by the
end of the three months.


I like a lot your People are more important than code meme but we need 
to find a balance here.


I agree that the candidate shouldn't spend much time with formalities 
like defining whether task X will take exactly 2 or 3 weeks. Still, it 
is good (for everybody) to go through that exercise before presenting a 
proposal. It filters those excessively lazy or unskilled and it helps 
the candidate and the mentor to see whether the generic idea survives a 
first reality check.


Still, your concerns are valid, and I have tried to address them in the 
list of selection criteria.


https://www.mediawiki.org/wiki/Talk:Mentorship_programs#Criteria


So here is my proposal: there should be in place some plan of action,
ideally for every project, in case it goes overlong and doesn't get
completed in time.


Good idea. Also included in the selection criteria.

--
Quim Gil
Technical Contributor Coordinator
Wikimedia Foundation

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-11-18 Thread Sumana Harihareswara
TL;DR: we're improving at student retention but need to get better at
producing something useful at the end of a mentorship period; some
suggestions follow.

On 08/28/2012 04:44 AM, Finne Boonen wrote:
 On Tue, Aug 28, 2012 at 9:41 AM, Ryan Lane rlan...@gmail.com wrote:
 I think you touch the most important point here. I'm one of the main
 people who manage GSoC for KDE. KDE is the biggest org taking part in
 GSoC this year in terms of number of students mentored. In addition we
 are running our own program (Season of KDE) next to it. So in total
 I'd say we've mentored about 100 students through these programs this
 year alone. We didn't get there by accident. You know what the main
 benefit of GSoC is in my opinion? Getting an organisation into the
 mindset of mentoring - into the mindset of yes we need to train new
 people because they can do awesome things even if they screw up
 sometimes on the way there.


 +1000. I 3 that way of thinking and I'd very much like our community
 to have the same attitude towards GSoC. We're a community working
 towards education of the world. Participating in GSoC as a mentoring
 organization is a right fit.
 
 Agreed.
 
 GSoC imho is not about getting code written but getting people
 involved in our community. As such we should look and see how many
 people remain involved after GSoC.
 
 Finne

It has now been three months since the pencils down late in late
August when GSoC 2012 officially ended.  Therefore it's a good time to
look at the nine students we accepted to see how many are still involved
with MediaWiki, how many of the GSoC projects themselves are anywhere
near what their original targets were, and whether we would prefer to
try this again next year or go for a different approach to outreach and
mentoring.

The answers:
* seven of the nine students are still actively working on MediaWiki
development.  This is better than last year -- at this time last year,
only about 2-3 of the eight accepted students remained involved.
* one project hit its target (including merge into trunk) and about four
others are partially merged into trunk and still have momentum towards
completion.  This is a little better than last year; about 2 projects
from last year are fully merged into trunk and about 1 more is partially
merged but there's no momentum towards the finish.

https://www.mediawiki.org/wiki/Summer_of_Code_2012/management reflects
how I wanted to run this year's GSoC. I think we did well at People are
more important than code selection, which is one reason we're doing
well at retention.  But I failed at ensuring that students were scoping
their proposals at about 6 weeks of coding work and dedicating the
entire last month of the summer to bugfixing and code review.  The
proposals usually allotted either no time or about 2 weeks for merging
with trunk, pre-deploy code review, and integration.  I think smaller
scoping would have helped, so in the future, we should simply not accept
proposals that do not allot at least a third of the summer to code
review and response to code review.

I also failed at staying hands-on enough in ensuring frequent
mentor-student communication. Having multiple hands-on mentors who were
available to do code review REALLY helps, as we see from Nischay
Nahata's success (he is our only student this year who got all his
project code merged), and I think that in future years we should mandate
that all students have two mentors, each of whom commit to reviewing new
patchsets within 2 business days.  Students can't afford delays in code
review.  The WMF is improving how it makes time for its engineers to
mentor newer contributors (more on that this week) and that will help
with this; we're also growing experienced volunteer developers who are
interested in mentoring, so I think a 2-mentors-per-student mandate is
doable.  We should also mandate twice-weekly voice or videocall meetings
and do spot checks to ensure they're happening; multiple students didn't
have enough communication with their mentors and were shy about pushing
for it.

Now, to discuss future mentoring approaches:

I tried to get us into UCOSP again for fall 2012 and was told they were
out of slots, so I'm pushing to get us into UCOSP for spring 2013.

We couldn't muster enough mentors to do Google Code-In well so we aren't
doing it this year.

Quim Gil is the administrator for our participation in the Outreach
Program for Women, so I'll let him discuss how he wants to manage that
and how he'll be setting expectations appropriately.  :-)  I think
mandating two mentors per participant is a very good idea, Quim, what do
you think?  Also: instead of making newbies write fixed proposals with
schedules, these OPW internships can follow broader charters and flex to
accommodate students' interests and abilities, and it's easier to
rescope iteratively to ensure that something useful gets produced by the
end of the three months.  The fact that some of the internships will be
in marketing 

Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-28 Thread Lydia Pintscher
On Tue, Aug 28, 2012 at 3:07 AM, MZMcBride z...@mzmcbride.com wrote:
 Furthermore, considering GSoC solely in terms of benefit to
 Mediawiki/Wikipedia is short-sighted.  Take a look at the organizations
 participating:
 http://www.google-melange.com/gsoc/projects/list/google/gsoc2012 .  What
 would your opinion be if WMF were not on that list?

 Personally, I don't care very much about being a participant for the sake of
 being a participant (and I imagine many others feel similarly). I think for
 a lot of people who watch these Summer of Code projects, it _is_ about
 benefit to MediaWiki/Wikimedia, particularly as getting involved in these
 projects can detract from already painfully finite mentoring and reviewing
 resources.

I think you touch the most important point here. I'm one of the main
people who manage GSoC for KDE. KDE is the biggest org taking part in
GSoC this year in terms of number of students mentored. In addition we
are running our own program (Season of KDE) next to it. So in total
I'd say we've mentored about 100 students through these programs this
year alone. We didn't get there by accident. You know what the main
benefit of GSoC is in my opinion? Getting an organisation into the
mindset of mentoring - into the mindset of yes we need to train new
people because they can do awesome things even if they screw up
sometimes on the way there.


Cheers
Lydia

-- 
Lydia Pintscher - http://about.me/lydia.pintscher
Community Communications for Wikidata

Wikimedia Deutschland e.V.
Obentrautstr. 72
10963 Berlin
www.wikimedia.de

Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e. V.

Eingetragen im Vereinsregister des Amtsgerichts Berlin-Charlottenburg
unter der Nummer 23855 Nz. Als gemeinnützig anerkannt durch das
Finanzamt für Körperschaften I Berlin, Steuernummer 27/681/51985.

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-28 Thread Ryan Lane
 I think you touch the most important point here. I'm one of the main
 people who manage GSoC for KDE. KDE is the biggest org taking part in
 GSoC this year in terms of number of students mentored. In addition we
 are running our own program (Season of KDE) next to it. So in total
 I'd say we've mentored about 100 students through these programs this
 year alone. We didn't get there by accident. You know what the main
 benefit of GSoC is in my opinion? Getting an organisation into the
 mindset of mentoring - into the mindset of yes we need to train new
 people because they can do awesome things even if they screw up
 sometimes on the way there.


+1000. I 3 that way of thinking and I'd very much like our community
to have the same attitude towards GSoC. We're a community working
towards education of the world. Participating in GSoC as a mentoring
organization is a right fit.

- Ryan

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-28 Thread Finne Boonen
On Tue, Aug 28, 2012 at 9:41 AM, Ryan Lane rlan...@gmail.com wrote:
 I think you touch the most important point here. I'm one of the main
 people who manage GSoC for KDE. KDE is the biggest org taking part in
 GSoC this year in terms of number of students mentored. In addition we
 are running our own program (Season of KDE) next to it. So in total
 I'd say we've mentored about 100 students through these programs this
 year alone. We didn't get there by accident. You know what the main
 benefit of GSoC is in my opinion? Getting an organisation into the
 mindset of mentoring - into the mindset of yes we need to train new
 people because they can do awesome things even if they screw up
 sometimes on the way there.


 +1000. I 3 that way of thinking and I'd very much like our community
 to have the same attitude towards GSoC. We're a community working
 towards education of the world. Participating in GSoC as a mentoring
 organization is a right fit.

Agreed.

GSoC imho is not about getting code written but getting people
involved in our community. As such we should look and see how many
people remain involved after GSoC.

Finne

-- 
Maybe you knew early on that your track went from point A to B, but
unlike you I wasn't given a map at birth! Alyssa, Chasing Amy

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-28 Thread Yaron Koren
Hi,

It seems like some people are saying that getting workable code out of the
Google Summer of Code is a relatively minor aspect of the program - maybe
the third or fourth most important outcome of it, behind things like
finding new developers, getting better at mentoring, teaching software
development, etc. I disagree with this view - I think creating useful
projects is the most important part of GSoC, and that this aspect of it
should be taken much more seriously than it is. That's for a few reasons:

1) It's Google's money that's paying for all of this, and in their listing
of goals for GSoC, they do list most of these things in some form, but the
#1 goal they list is Create and release open source code for the benefit
of all. [1]

2) It's a real waste to not use this resource to get actual improvements to
the software, given the (relatively) limited resources that the Wikimedia
Foundation and MediaWiki have. GSoC offers free money, and a framework, for
getting development done - it's a tremendous resource that should be taken
full advantage of.

3) As MZ notes, even from the vantage point of recruiting developers,
having unsuccessful projects is a problem - putting all that effort in,
with nothing in the end to show for it, can be demoralizing. And that sort
of thing can accumulate: if talented young open-source developers are
considering doing a GSoC project for Wikimedia, and they look at the track
record for the WMF's previous GSoC project, they may draw negative
conclusions about it, and maybe about doing MediaWiki development in
general.

So how can this be improved? Having mentored three successful GSoC projects
for the WMF, I have some perspective on this. As MZ also notes, WMF
projects so far have tended to be too large in scope for the length of time
allotted. But that's not something that's easy to correct - estimating
development time is always a challenge, even when the developers involved
are experienced and not newbies. And smaller projects tend not to inspire
anyone, mentors or students.

So here is my proposal: there should be in place some plan of action,
ideally for every project, in case it goes overlong and doesn't get
completed in time. That can take several forms: a commitment by the mentor
or another experienced developer to finish up the project; a commitment by
the WMF to fund the student to finish it, if the student turns out to be
serious and it's just a simple lack of time that was the issue; a
commitment by the WMF to fund someone else to finish it or just a
commitment by the student to finish it themselves, on a volunteer basis.
The last of those is tricky, because that tends to be the conclusion at the
end of uncompleted projects anyway - the student keeps working on it, but
that usually only lasts for a few months before the student's school work
and/or regular work get in the way, and then the project often falls by the
wayside. A commitment on the WMF and/or mentor side would be the ideal
thing - and if there's no such guarantee for a specific project, then that
should be taken into consideration when deciding on whether to accept it.

Of the three projects I mentored, none of them produced something that was
fully usable on the final day of GSoC. In all three cases, more work was
put in - the first time, by the student, the second two times by me. The
post-GSoC work was significant in all cases, but it was still a lot less
than it would have been to try to do the project from scratch. It was a
comparatively small amount of effort, to get the code to at least
beta-level or higher, that ended up making a huge difference. Something
like that, from what I've seen, is almost always needed - so it should be
factored into the planning.

[1]
http://www.google-melange.com/document/show/gsoc_program/google/gsoc2012/faqs#goals

-Yaron

-- 
WikiWorks · MediaWiki Consulting · http://wikiworks.com
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


[Wikitech-l] Evaluating Google Summer of Code

2012-08-27 Thread MZMcBride
(Splitting this off from John's critique of ConventionExtension.)

Hi.

MediaWiki has participated in several (Google) Summer of Code iterations now
(https://www.mediawiki.org/wiki/Summer_of_Code) and I'm wondering how this
partnership program is evaluated.

Whenever this program wraps up at the end of the (Northern Hemisphere's)
summer, I always sense a worrying amount of frustration and annoyance from
all parties involved. The projects are usually overly large and complex and
from what I understand, nearly all of the projects from Google Summer of
Code don't end up in production environments. If the projects are lucky,
they end up in a MediaWiki extension; if they're unlucky, they rot away in a
code repo branch somewhere or behind a configuration variable set to false
by default. The end result being that:

* the people who worked on these projects are frustrated and annoyed because
they didn't get their code deployed [to Wikimedia wikis, a wide audience, or
anyone at all in some cases];

* the people who mentored these students are frustrated and annoyed for
similar reasons; and

* the people (end-users) who wanted to see these projects successfully
completed are frustrated and annoyed that these features still don't exist.

So I'm left wondering how the cost v. benefit equation works out for this
program. How do you evaluate the program and whether MediaWiki ought to
remain a continued participant?

And, of course, should MediaWiki decide not to participate in Google Summer
of Code in 2013, are there other [better] ideas for getting people involved
in MediaWiki development?

MZMcBride



___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-27 Thread MZMcBride
MZMcBride wrote:
 MediaWiki has participated in several (Google) Summer of Code iterations now
 (https://www.mediawiki.org/wiki/Summer_of_Code) and I'm wondering how this
 partnership program is evaluated.

After I posted this, Sumana pointed out that MaxSem has done a great
evaluation here: https://www.mediawiki.org/wiki/User:MaxSem/GSoC_analysis.

There's also a good overview of past projects at
https://www.mediawiki.org/wiki/Summer_of_Code_Past_Projects.

 And, of course, should MediaWiki decide not to participate in Google Summer
 of Code in 2013, are there other [better] ideas for getting people involved
 in MediaWiki development?

Perhaps a better model: https://www.mediawiki.org/wiki/UCOSP_Spring_2012?

MZMcBride



___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-27 Thread Chris McMahon
Most software projects fail (for some definition of fail).  Even for
highly skilled and highly experienced companies and shops, most software
projects fail.  I'm not going to look up the Gartner and Forrester and
Chaos reports this late on a Monday night, but google away.

GSoC is an investment that is not intended to have a short-term payoff.
The fact that ANY GSoC code makes to production is fantastic.

GSoC is an investment in the long term.  It is intended to provide real
concrete experience to promising students in real environments, including
all the frustrations and annoyances that everyone on a software team
experiences in the real world all the time.  Schools simply do not provide
that experience.   Some fraction of those participants will take those
experiences into the future of software development, to make real
improvements, both to code and to process.

Furthermore, considering GSoC solely in terms of benefit to
Mediawiki/Wikipedia is short-sighted.  Take a look at the organizations
participating:
http://www.google-melange.com/gsoc/projects/list/google/gsoc2012 .  What
would your opinion be if WMF were not on that list?




On Mon, Aug 27, 2012 at 5:32 PM, MZMcBride z...@mzmcbride.com wrote:

 (Splitting this off from John's critique of ConventionExtension.)

 Hi.

 MediaWiki has participated in several (Google) Summer of Code iterations
 now
 (https://www.mediawiki.org/wiki/Summer_of_Code) and I'm wondering how
 this
 partnership program is evaluated.

 Whenever this program wraps up at the end of the (Northern Hemisphere's)
 summer, I always sense a worrying amount of frustration and annoyance from
 all parties involved. The projects are usually overly large and complex and
 from what I understand, nearly all of the projects from Google Summer of
 Code don't end up in production environments. If the projects are lucky,
 they end up in a MediaWiki extension; if they're unlucky, they rot away in
 a
 code repo branch somewhere or behind a configuration variable set to false
 by default. The end result being that:

 * the people who worked on these projects are frustrated and annoyed
 because
 they didn't get their code deployed [to Wikimedia wikis, a wide audience,
 or
 anyone at all in some cases];

 * the people who mentored these students are frustrated and annoyed for
 similar reasons; and

 * the people (end-users) who wanted to see these projects successfully
 completed are frustrated and annoyed that these features still don't exist.

 So I'm left wondering how the cost v. benefit equation works out for this
 program. How do you evaluate the program and whether MediaWiki ought to
 remain a continued participant?

 And, of course, should MediaWiki decide not to participate in Google Summer
 of Code in 2013, are there other [better] ideas for getting people involved
 in MediaWiki development?

 MZMcBride



 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l


Re: [Wikitech-l] Evaluating Google Summer of Code

2012-08-27 Thread MZMcBride
Chris McMahon wrote:
 Most software projects fail (for some definition of fail).  Even for
 highly skilled and highly experienced companies and shops, most software
 projects fail.  I'm not going to look up the Gartner and Forrester and
 Chaos reports this late on a Monday night, but google away.
 
 GSoC is an investment that is not intended to have a short-term payoff.
 The fact that ANY GSoC code makes to production is fantastic.
 
 GSoC is an investment in the long term.  It is intended to provide real
 concrete experience to promising students in real environments, including
 all the frustrations and annoyances that everyone on a software team
 experiences in the real world all the time.  Schools simply do not provide
 that experience.   Some fraction of those participants will take those
 experiences into the future of software development, to make real
 improvements, both to code and to process.

Thank you for this. You make some good points.

So I guess it might just be a matter of better managing expectations of all
parties involved? The disappointment factor is serious and dangerous, in my
opinion. It can be mitigated by setting appropriate expectations for the
students involved, the mentors involved, and the end-users involved, many of
whom desperately want to see some of these features live.

 Furthermore, considering GSoC solely in terms of benefit to
 Mediawiki/Wikipedia is short-sighted.  Take a look at the organizations
 participating:
 http://www.google-melange.com/gsoc/projects/list/google/gsoc2012 .  What
 would your opinion be if WMF were not on that list?

Personally, I don't care very much about being a participant for the sake of
being a participant (and I imagine many others feel similarly). I think for
a lot of people who watch these Summer of Code projects, it _is_ about
benefit to MediaWiki/Wikimedia, particularly as getting involved in these
projects can detract from already painfully finite mentoring and reviewing
resources.

MZMcBride



___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l