Нужно ли отдельно проектировать архитектуру проекта?
Лучше чтобы программист сам нарисовал архитектуру, выложил на обозрение, получил пинков, почитал, сделал новую версию.
Все равно ему разрабатывать.
Зависит от очень большого количества факторов. Чаще всего - гораздо лучше, когда реализацией занимается опытный разработчик, который может архитектуру корректировать на лету. Ну и часто невозможно понять где заканчивается архитектура и начинается реализация, так что сложно сформулировать результат работы "знающего специалиста".