
On Sun, Mar 7, 2010 at 9:56 PM, Darren Garvey <darren.garvey@gmail.com> wrote:
I think it would help if there was a rule about having to commit something to svn each week. Students may be tentative about publicly displaying incomplete code but it's almost impossible to gauge how things are going otherwise.
Weekly releases should be mandatory for GSoC participants. I worked on Boost.Visualization during GSoC 2007, and they helped me accomplish most of my stated goals. Each week, I sent a list of promises to my Mentor, and worked like crazy to get them all finished and checked in by Sunday. He sent me nudges when I slipped a day, and I kept to the schedule I set out at the beginning of the summer. By releasing code each week, I noticed some of the bad decisions I made, and made two major reorganizations by the end of the summer. The end result was still poorly factored, but without weekly tasks it would have been poorly factored and incomplete!
If students were encouraged to write tests at the start of the SoC with their mentor, they would have a specific set of goals to work to. Mentors should be well placed to help the students define the precise requirements of the project. The path to acceptance from there is: get all the tests passing and document how the library does it. Even if this doesn't happen by the end of the SoC, there is still a definite goal.
Please consider exceptions to this rule :). Libraries like the fabled BigInteger library lend themselves well to writing out all of the tests first. Parts of my project were inherently untestable, yet could be showstoppers: how do you automate a test to see if a graph renders fine in Inkscape and Firefox, for instance? ~ Jake