Вообще, если есть четкое и всеобъемлющее понимание бизнес процесса, который необходимо автоматизировать с помощью программного кода - это большой плюс, ну, если проект допустим внутренний, и компания/группа людей только им и занимаются. В противном случае без супер развёрнутого ТЗ и кучи обсуждений - тяжело. Но начать всё-же стоит даже не с кода/фреймворка/структуры, начать стоит хотя-бы с диаграмм описания бизнес процессов. Я не знаю что сейчас, но я на учёбе изучал idef0 dfd idef3, правда поверхностно. Есть даже проги с кодогенераторами по диаграммам. Короче к чему я, без этапа ПРОЕКТИРОВАНИЯ можно никогда и не понять, где там в какой директории какой класс должен лежать) И можно в такую петлю попасть, что 10 строк кода будут переписываться и переноситься по проекту по 100 раз на дню, а удовлетворения так и не наступит :)