ты сам уже набрасывал, что оно работает не так. У тебя есть какой-то процесс реального мира, и ты сначала формируешь его (возможно, по частям) в своей голове в виде моделей, а потом уже пишешь код, который эти модели реализует
Обычно, когда задача серьёзная, я продумываю направление решения (крупные мазки, ага), и начинаю фигачить код. И это направление, во время решения, может три раза поменяться.
Твоё «до» сейчас выглядит как очередная попытка остаться правым. 🙂 Так вот нет. Разница между «в реалтайте до строчки кода» и «прежде чем решить» — огромна.