Здравствуйте, Merle, Вы писали:
AF>> Совсем другая картина в компаниях, которые занимаются автоматизацией — внутренней или внешней. В таких проектах предсказуемость сроков и качества работ выходят на первое место (клиенту то специфику IT обяснять никому не охота или собственному начальсту).
M>Стоп-стоп, а каким образом UML влияет на предсказуемость сроков? Что-то ничего, кроме как гарантировать что N-ое количество времени уйдет на рисование схем, в голову не приходит.. 
Ответ содержался в следующей строке того же абзаца.

А именнно — компании не применяют UML, как они не применяют C++ или Basic (хотя и могут писать на нём кучу софта). Они применяют процесс разработки, основанный в том числе и на использовании UML. Эффект даёт именно процесс в целом, а не только и не столько UML.
AF>> Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков.
M>Не пойдет, за отмазку не канает...
Проблема в том, что UML сам по себе достаточно сложен, и чтобы его адекватно применять разработчик и так должен быть хорошей квалификации. Соответственно разработчик низкой квалификации UML не понимает, а как только он начинает его понимать то его квалификация уже достаточно хороша, чтобы UML ему был не нужен.
Это софистика.

На практике покажи начинающему разработчику программу и попытайся обяснить на словах, как она работает (без рисования диаграмм или набросков) — крайне редко тебя поймут. А потом нарисуй диаграммы классов, последовательностей или состояний (смотря что полезнее в данном случае) — поймут гораздо быстрее. Проверял многократно.
Ну а по-поводу сложности — на любом языке можно писать (рисовать) так, что тебя нельзя будет понять. Только зачем? Тем более, что мастерство часто и состоит в том, что бы тебя поняли.
M>Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто. 
Выводы каждый делает сам...

Тем более, что заказчику чаще всего до фени, что вы там делаете или не делаете — ему нужен софт — хороший, надёжный и точно в срок.