This is a common phenomenon while designing a product, a designer or developer is advised to think that s/he is designing a product for a complete idiot (UTS= User Too Stupid). Starting from that point, the designers have to come up with all possible scenarios. However, I completely disagree with that approach. The approach I am going to talk about is we, the designers, need to think that the users are smarter people than we can imagine of. If anything is wrong, then probably that is because we were not smart enough. The bravery of taking the responsibility of your own work gives you the opportunity to solve a particular problem the user experienced.
Always remember “Your program is as smart as you”.