Systems should always be maximally forgiving and reversible.

No good systems should require measure twice, cut once

iOS is a good example of this. I recall from a reading of the ios human interface guidelines a few years ago that users should always be given the opportunity to undo an action taken by pressing a button.

This had a big impact on me in thinking about good interface design

This probably had something to do with how new touch interfaces were and new interfaces need to be forgiving