Thursday, 10 March 2011

Do you need Policing?

Today over a one on one session with Ani (One of our lead engineers), we(Me and him) ended up brainstorming an idea of code policing... In other words having policing efforts from someone on our code repository.... Of course the reason for such a thought and idea is to improvise the quality of the code that goes into our system... with all due respect to our hard working engineers, the quality of code is one thing that can tremendously increase your Technical debt...and something has to be in place that ensures that neither the quality dips nor the Technical debt increases...

So this idea of code policing... is it really a right thing to do? Do you think you need people who will go and check every line of written code to ensure that it is good quality? will this empower your engineers? Will this help improvising the knowledge of your developer community? Will this have a positive effect or will it create a process burden and forced quality on your teams?

Oh well these are not the questions I am just asking you.. these are the questions I am trying to find answers of for the last 1 hour 30 minutes... and the more I think over it the more I am convinced that POLICING SUCKS!!!!!

The moment you have to make hard efforts to keep a process running, believe me you are at the end of it... then be it a development process or a programming process... You definitely need to make efforts to ensure you have good quality [for product , for code, for team, for tests , for documentation for everything that links to you ] but then those efforts need to come from within... if they have to be forced you will have the need to police it to ensure they happen.. and when you feel the need to police it... that is the day you would want to go back and retrospect hard....

You need policing when

  • You think that the quality is not coming from within
  • You think that the efforts are not towards making things better, they are just towards finishing it
  • You think you are trying to make it work this time and next time you would do it nicely
  • You think it can be easily fixed LATER

And when these thoughts trigger you.... you dont need to initiate policing... instead

  • Step back, March slow , Get your act together
  • Read , Review , Read
  • Stop everything for a moment, let people take time off from routine and get them to realize the maintainability havoc

So what do you think of policing? Do you need one?