Если честно, здесь не может быть окончательного ответа.
Существуют различные модели процессов, и вам нужно найти ту, которая соответствует вашим потребностям и вашему проекту.
Разработка, управляемая тестами * Например, 1006 * ставит тесты перед написанием реального кода.
Я хочу сказать, что если вам кажется, что UML дает вамуверенность - иди делай это.Но если вы чувствуете, что минимальный рабочий пример дает вам больше понимания - сначала напишите некоторый код, а позже вернитесь к uml.