Gregory Brown is the lead developer of Ruport, a recent participant in the Google Summer of Code, and an all around nice guy. I'm wrapping up an interview with him (to be posted over at O'Reilly's Ruby Blog and the Apress Ablog shortly), and have a couple of questions and answers that just don't fit given the word count constraints. I didn't want to lose them though, Gregory's answers are just too good. So I decided to post them here. Enjoy.
How has the SoC changed the way you'll write code in the future?
Gregory: I'm not sure if GSoC is going to change much about the way I write code. However, it has changed a lot about the way I manage my development. We made a ton of use of Trac this summer to record tickets for bug fixes and feature additions (among other things). I habitually create milestones now, and I also think a lot more about how the pieces come together. A few months ago, I'd replace an entire subsystem in Ruport and just release it the next day and say "Surprise!". This summer ended all of that, we have a lot more discourse before we do things like that, and we also tend to introduce new systems more slowly.
Maybe this is just a sign of Ruport becoming a bit more mature, but I have a feeling I will carry this increased emphasis on organization and cleaner transitions into my other projects. Evolution is key to any quality software, but when it happens too quickly without an obvious reason, I'm not sure it is A Good Thing.
I also find myself leaning towards more simple solutions. Since the Summer of Code was highly time constrained, it was important not to spend days going off on some tangent. Writing the most simple thing that could possibly work, and adding to it only when you need to seemed to be essential this summer.