Thursday, October 23, 2008

A Bad Review is not Failure, but Feedback

"There is no failure. Only feedback."

Some rich entrepreneur said that in one of those "get rich" schemes. I don't know think I'll be getting rich. But I think it makes a lot of sense in this situation. Bad reviews/feedbacks can feel like you're getting kicked in the gonads sometimes. Once you get over the feeling, you realize the comments really make the job easier. As the recipient, I'll know exactly what to address. The project will likely make strides for the better (if I do it correctly and select the correct areas to change).

How The Reviews Are Given

Google project hosting is a pretty sweet free service. Google allows reviewers to easily insert comments within the body of the code by double clicking the line we're referring to. All within a browser. That's like commenting on an essay but without having to double-space the lines to write between. I mean what better way to point out a problem than identifying it directly in your source code?

There was one glitch when I tried to submit or publish my comments. The link wasn't always available and only after a refresh of the page, the "Public My Comments" would appear. But after the refresh, I would have to rewrite all my comments.

The Set Up

In order for anyone to comment on the code, some settings in our project needed to change first. The first thing our group needed to do was either (1) add the reviewers to the project, or (2) allow anyone to add comments. Then, we made a copy of the trunk of a repository and put it in the tags directory. Basically this made saved the current stage of the current project, so the users can comment on it. That way we could continue to work on the project, while not having to wait for the reviews to be complete.

Giving and Taking... and Taking Some More


I was responsible for reviewing three groups (Purple, Violet, and Blue). I picked up and saw some good test cases as well as some good design. I saw ideas that I would want to add to our project. Although I tried to point out as much things as I could for improvement, I feel like I walked away with more than I put in.

If that wasn't enough, our group got some more feedback. They helped point out small issues to clean up, which is good because we want to be neat and professional. We also got comments on design, which is highly apppreciated and what I was looking forward to the most. Our design is currently using a superclass Library and all libraries extend it. We were contemplating on using an interface instead since there isn't much to inherit. With an extra voice, we have more reason to switch.

Final Thoughts

I understand the short amount of time everyone had to complete the task and I really appreciate the reviewers' efforts. As of Wednesday night, our group only received four out of the six (missing: Flestado and Sanchez) reviews we expected. I previously overlooked one because it was the posted to an earlier release (r29 vs r28). I am pretty sure I didn't see the other ones though. I looked in all releases since Sunday.

I hope we end up with the remaining reviews regardless if they're just restating what others said. To me, if there are that many people that feel a certain way on a topic, it should be taken highly into consideration.


Things to Improve Next Time Around:

I need to take note of the "publish my comments" link before I start commenting too much. Rewriting all of those sucked. I noticed I forgot to add the google discuss group email in the event of code reviews. Man that made it hard to locate comments. For future reviews, it should be better.

No comments: