Skip to main content

@author: Bob the Builder

Posted by meeraj on August 4, 2003 at 2:21 PM PDT

In our current project we have the entire development team working in a big conference room to promote pair programming and better communication within the team. One interesting thing we have in this room is a big plasma screen displaying team WIKI. The page that is displayed most of the time is the results of continuous build, integration and test. This page mainly displays a series of matrices showing the results of various tools like JCSC, Ckeckstyle and JDepend. We also display the team scoreboard displaying the ten worst and best components along with the authors, based on the above matrices.

One of the JCSC violations we used to have highly frequently, pretty early in the project was missing @author tag in the JavaDoc comments. This caused us a huge amount problem for tracking where poor code was being originated and often involved going back to CVS and check who wrote a particular bit of code. This made us enforce a standard that every single class in the system had to have an @author tag.

The result of this was amazing. Developers started working meticulously in writing better code to make sure that their names didn't appear in the "Hall of Shame" ;-). They also started having pride in their work and with pride came responsibility. In a couple of weeks the quality ratings based on the measurements started increasing, there were more unit tests being run, all the classes started having proper JavaDoc comments and the code quality started increasing significantly.

Code that is not owned encourages poor coding practices that lead to totally un-maintainable code and ultimately utter anarchy. This isn't anything specific to our industry, whatever craft you do, it is extremely important to take pride in your work. It is important to let people know it is your piece of work. It is not about promoting finger pointing or blame culture. It is about having pride in your work. It is also a mark of responsibility. It is about taking ownership and having the motivation to produce better results.