Punting on a problem can be good or bad, depending on the situation. Punting is not always retreating or surrendering.

Punting is good when the problem will be easier to solve later.

  1. For example, maybe you suspect something may happen that will render the problem moot (eg, a product would be discontinued). 
  2. Maybe you'll have more relevant information later that lets you inject some simplifying assumptions. 
  3. Maybe you'll have new technologies / options available later than make it easier to solve.
  4. Sometimes, some problems just work themselves out over time because the decisions to an ambiguous problem are answered by the decisions to a clear problem (see e^pi  = -1). 

 

Punting is bad when the problem gets harder to solver later.

  1. Maybe you're accumulating debt until you solve it. I find this is often the case with FxCop - I like to get FxCop enabled sooner rather than later because it's easier to stay at 0 errors once you get to 0 errors. 
  2. Debt accumulation also happens if future components will be broken until you fix some problem.
  3. Or maybe not having the problem solved is holding you hostage on solving other things.
  4. Maybe punting screws up your dependencies.