Designing usable systems is more than just designing for success - a truly usable system not only helps users do what they need or want to do, it also helps them avoid mistakes.
I was reminded of this today reviewing development. We have a brilliant system called Subversion, which we use for change tracking on all the development work we do. But try as I might, I'm struggling to make sure that everyone - myself included - remembers to write a log entry describing each change being made.
The solution was less than 20 lines - a script on the server which won't allow anyone to save their changes unless they write a log entry to go with the changes.
Problem solved - no more forgetting to write log entries.
That's the power of great UX design - it's sometimes the simplest changes which make all the difference.