ну якщо в девелопера є трохи здорового задротства, то він завжди буде в процесі роботи себе запитувати "what if" - продумавати якісь edge cases і намагатися врахувати різні варіанти. І це правильно і нормально. З часом, з досвідом, виробляється по-перше реальний список того шо може статися (з реального досвіду) а по-друге непогане бачення і відчуття куди все може піти не за курсом