Когда-то давно услышал фразу о том, что разработчик знает, как можно, а аналитик — как нужно. Не знаю, как относиться к этому, как к утверждению или как к юмору, но могу сказать точно, что это явное упрощение.

Так вот. В последние месяцы я ловлю себя на мысли, что часто оказываюсь в ситуации, когда я знаю, как нужно, но это "как" невозможно обеспечить в требуемые сроки (не готов функционал смежников, затянулась миграция в мастер-систему и пр.). И тут уже возникает задача другого рода: а как бы так сделать, чтобы получить требуемый бизнесу результат без доработок смежников?

Получается такая себе задача сварить кашу из топора: чтобы все были сыты, но без каши, масла и соли.

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

Существенно критичнее всего этого — понимать цель, уметь выявлять связи и ограничения, генерировать и доносить свои идеи, строить выводы и алгоритмы в условиях неполной информации и порою даже конструировать новые смыслы.