Как избавиться от привычки усложнять задачу?
Этот процесс называется определение milestones. Вы сперва определяете MVP (minimal valuable product) — то есть тот уровень завершённости (без рюшечек и плюшек), при котором можно получать выгоду и дальше вы уже строите отталкиваясь от MVP
Волшебное слово TDD.
Силы и хитрость тратятся на написание (и отладку!) тестов. На написание кода остаётся ровно то, что нужно, чтобы обзеленить тесты.