Да, никогда не поздно начать использовать TDD. Я познакомил TDD с коммерческим проектом, который был запущен уже пять лет, когда я присоединился к нему, и это было определенно хорошим решением.
Хотя вы новичок в этой технике, вам, вероятно, следует сконцентрироваться на ее использовании для кода, который вы пишете с чистого листа - новые классы, новые методы и т. Д. Как только вы освоитесь, начните писать тесты для кода что вы меняете.
Для некоторого кода последний может оказаться трудным, потому что код, который вы написали до сих пор, вряд ли будет написан с учетом тестируемости. Есть некоторые методы, чтобы справиться с этим, но, вероятно, слишком рано, чтобы заботиться о них.
Если вам не хватает чувства направления, я сомневаюсь, что TDD вам очень поможет. Возможно, вы захотите взглянуть на Acceptance Testing, который по крайней мере так же важен, как модульное тестирование, и поможет вам сосредоточиться на функциональности системы, а не на отдельных единицах кода. Книга TDD Лассе Коскела - хорошее введение в обе методики.
Еще одна техника, которая может вам помочь, - это игра планирования экстремального программирования, где вы размещаете элементы функциональности на учетных карточках и расставляете их приоритеты. Обычно я замечаю, что получение идей из моей головы и в порядке очередности очень помогает мне понять, куда я хочу идти дальше.