Моделирование против документирования - кто круче?

Честно скажу, что понятия не имею, к какому выводу и как приду в этой заметке. Но очень хочется в этом вопросе поставить точку. Грамотные люди скажут, что это холивар, а я, соглашаясь, отвечу так: ну и что? К какому-нибудь выводу, да придем. Итак...
  1. Документ пишется текстом, который можно прочитать. Никаких нотаций при этом знать не надо, любой, даже неквалифицированный в IT человек сможет понять, что автор документа хотел донести. А если не сможет понять, то документ можно переписать так, чтобы даже гномики поняли ценность изложенной в нем мысли. С моделью все иначе. Чтобы ее прочитать, нужно знать нотацию. Причем не просто знать, а уметь на ней читать - т.е. знать в совершенстве. Представьте себе девушку, работающую в кредитном отделе и в совершенстве знающую ARIS или UML. Представили? Да? Не, я серьезно. И что она, по вашему, там делает??? Выходит, документирование круче.

  2. Формальное описание не требует жесткого структурирования мысли, поэтому подготовка документа происходит быстрее. Непроработанности отдельных эпизодов легко покрываются местоимениями, междометиями и прочими способами размазывания и размывания мысли. Т.е. вроде понятно что написано. но что имелось в виду - как-то не очень, но вроде как прокатит. Модель, грамотную, со связанными диаграммами, органичную и понятную (для тех, кто знает нотацию) построить куда сложнее. Оно и понятно: людей, с пеленок говорящих на UML - единицы. Выходит, документирование еще раз круче.

  3. Но зато на модели невозможно допустить неоднозначность. Это в принципе невозможно. Т.е. дописанная до конца диаграмма всегда однозначна. Если только на ней не используются условия с фомулировками "Вроде сюда", события "Наверное утверждено" и активности "Попробовать сделать". Т.е. получается, моделирование круче.

  4. А вот теперь представьте, что вы стартуете аналитическую фазу. В результате вам надо выдать девелоперам некоторый контент, по которому они сделают нечто феерически полезное. Надо ведь допетрить, чего им, девелоперам, надо выдать на гора, чтобы свершилась полнота и целостность требований. В случае документирования начинают выдумываться шаблоны документов. В случае моделирования - структуры моделей и соглашения по моделированию. Но вот незадача - внести изменения в структуру документа, не порушив его, куда проще, чем в структуру модели. Получается, документирование круче.

  5. Внести изменение в документ проще, чем в модель. Опять побеждает документирование.
В общем продолжать можно и дальше, но результат будет такой-же документирование уверенно побеждает. В общем-то это и на проектах прекрасно видно.

Другое дело - почему так происходит? Ведь нет в природе CASE-инструментов, генерящих код по документации. А по моделям - сколько угодно.

На мой взгляд, проблема не в способе представления информации, а в навыках аналитика. Чтобы построить модель, нужно уметь выбрать точку зрения на объект исследования, уметь в совершенстве структурировать и синтезировать. Без этого модель не построишь, но документ напишешь.

Но, как показывает практика, человек, не умеющий моделировать, документирует хреново. Вот такой вывод получился.

Популярные сообщения из этого блога

Карта компетенции аналитика

Оценка эффективности работы аналитика – а чем он занимается и чего можно померить?

Оценка эффективности работы руководителя проектов