Wednesday, January 7, 2009

The Social Dynamics of Code Reviews

Tiago Pascoal has hit the proverbial nail-on-the-head with his post "Your Code Sucks and I Hate You" regarding code reviews and the lack of proficient OOTB Team System code review tools. In his article he does mention TeamReview as the "The more complete solution for Team System" - which of course I very much appreciate. Thanks Tiago!

The larger compelling argument that Tiago makes so subtly and accurately is that there are successful code review tools to emulate that create continuous business improvements by leveraging under-valued existing feedback channels in the software development process. These same feedback channels are there for the taking for Team System users, like anyone else creating software, so long as there is a business advantage for doing so. Creating that advantage is where Team System's OOTB offering falls short and where TeamReview shines.

What's the line, "I'm not only the president, I'm also a client?" Yeah it's really cheesy and worn-out - but it's particularly true statement for me. TeamReview, and it's predecessor were originally used in my office after a lot of semi-forceful prodding (begging) from me due to my code review experience. After nearly two years, it's easy for me to say that the use of TeamReview has caused a change in The Social Dynamics of Code Reviews with my team. We now get the greater business value of code review without most of the personal confrontation costs and the transition costs of traditional team review conversational style. I actually find myself really liking code-review now, because for the most part it's just reading code and externalizing my thoughts right with the code as I read it, and implementing feedback is an immediate sigh-of-happiness-for-better-code gratification with TeamReview.

In bigger marketing grandiose words TeamReview has helped celebrate the business benefit of the professional exchange of view points, exploration of possibilities, and challenging of assumptions. Above all, I know from my team's use that TeamReview allows the natural synergistic elements of code reviews to happen more frequently and have a much greater positive business affect than exists with Team System out-of-the-box.

No comments: