
Giovanni Piero Deretta wrote:
Conduct student-mentor exclusively through public channels
This would also be great. While our mentors have been very helpful, more comments on our problems would have been useful. I would mandate that all *technical* communications should be public.
I have to say I think this is not at all a good idea. In development of a "speculative" idea, there are lots of failed experiments. Doing this in public would only consume lots of time and distract from job at hand. I think a better approach would be for software developers (us included) to keep a log of what we've been doing. This would include a record of the failed approaches that had been tried and discarded. This would eventually form the basis of the "rationale" and be very handy when a project is submited for review (formal or otherwise). Personally, I think the idea of software development as a collaborative activity is overrated. I see it as more personal. Of course criticism (constructive and otherwise) is a public activity. So I think those public dissicussions which speculate on how libraries should be designed and what they should include and not include are much less valuable than those discussions which revolve around a specific example of the implementation of an idea. The former is sort of more fun, and the later can be more difficult and painful - but I think its ultimately more productive. Obviously, this is a subjective assessment based on one's own personal style and character. I'm sure others will have a different view.
Maintain code, docs and tests in parallel
I'm guilty of not doing this, so yes, mentors should *require* their students to have docs and test up to date.
I think that the projects are really in the early stages of development rather than being refined for "release". So I think its pre-mature to insist upon this level of formality. Robert Ramey