Using static analysis and metrics to find problems early.
Most people are probably using at least a few of these. The cool thing about using PMD or Metrics, is they can help identify issues as they are written. THis can help prevent bad code, logic errors, and maintainability issues.
Its not a cure-all but, it can help.