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.
- For example, maybe you suspect something may happen that will render the problem moot (eg, a product would be discontinued).
- Maybe you'll have more relevant information later that lets you inject some simplifying assumptions.
- Maybe you'll have new technologies / options available later than make it easier to solve.
- 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.
- 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.
- Debt accumulation also happens if future components will be broken until you fix some problem.
- Or maybe not having the problem solved is holding you hostage on solving other things.
- Maybe punting screws up your dependencies.