Assume you are in the process of developing some really cool software. It will be deployed to a lot of customers. They will need this software and they will use it in time-critical situations. So if something goes wrong they will call (you). And you or your team will be the ones who have to resolve the issue. Fast. You know out of experience this will happen.
Now if you could decide what to implement to aid your future self - what would that be?
Edit: This is about desktop applications. Thanks Marcelo.
Edit: Also let's assume tech support cannot talk it away and it really needs to be fixed. Or there is no dedicated tech support.