Вот сижу и не могу начать писать новую программу. Знаю, что должна делать, примерно какая стуртура классов, паттерны там всякие. Но никак не сяду просто писать. Кто как решает эту проблему? :)
Пишешь пустышку, которая ничерта не делает, но зато запускается... Первый успешный запуск программы уже поднимает настроение.
Потом набрасываешь скелеты классов, основной workflow с заглушками - и постепенно наполняешь заглушки осмысленными действиями, запуская, и проверяя, что ничего при этом не слетает.
Если в корпорации как стандарт - то куда денешся. А если у тебя на UML уйдет время, как на весь цикл разработки - или в несколько раз меньше - то зачем огород городить? Лично я для себя не нашел пользы от UML, кроме как средства документирования с частичной детализацией.
eXtreme Programming по крайней мере не требует разработки в UML. Да и подобных рекомендаций я в XP не встречал.
Иерархию классов естественно стоит, как и диаграммы последовательностей (сценарии) - очень полезно, на бумаге, или в удобной среде (каковую не встречал).
Нужно понять, что все уже написано до тебя. Если твоя задача не решается существующим софтом, то она просто неправильно поставлена.
Грамотно поставленная задача - 80% от всех трудозатрат проекта.