Friday, March 11, 2011

Power to the Developer

Increasingly, we've seen software development organizations wanting to give power to their developers to find and fix problems prior to check-in.  There are several very good reasons for this:
  • If management has instituted an acceptance criteria - such as no new static analysis defects, then naturally developers will be evaluated based on whether they fix static analysis defects.  A developer analysis gives power to the developers to find and fix problems locally before it becomes publicly visible in a system analysis.
  • Finding and fixing problems before check-in makes the codeline higher quality.  Rather than checking in potential bugs, the code can be cleaned earlier.  Everyone pulls from higher quality code, particularly in agile and continuous integration environments.
  • Giving developers analysis results right when they want it increases efficiency.  Rather than waiting for the nightly or even weekly results, minimizes context switching.  In addition, fixing a problem can generate another problem.  Being able to iterate multiple times quickly at one time is much more efficient than fixing and then waiting a day or even a week to see if no new problem has been created.
 Of course working from the desktop may require more coordination.  You have to ensure that the analysis being used locally is the same as being used for the system build -- consistency ensures that everyone is working towards the same goal.  Generally, you don't want developers to be analyzing either more or less than the established criteria.  Also system analyses can generate some different bugs than the desktop analysis - most of the times very slightly.  This is natural because the system analysis usually has more complete information and thus has better analyses at its disposal.  Still, this can cause confusion when a developer analysis doesn't pick up something that the system analysis picked up.

Desktop analysis is also an extra flow that requires additional time and training.  However, many would say that it is a small price to pay given the benefits.

No comments:

Post a Comment