...

Должен ли аналитик уметь в код и архитектуру: 5 причин, почему да

разработка и анализ, надо ли аналитику уметь программировать, разработка и архитектура для аналитика, архитектура и реализация информационных систем системный аналитик примеры курсы обучение, обучение системных аналитиков, зачем аналитику программирование, Школа прикладного бизнес-анализа Учебный центр Коммерсант

Как умение программировать помогает аналитику точнее описывать бизнес-процессы и разрабатывать требования к ИС: зачем погружаться в код и архитектуру.

5 причин, почему аналитик должен уметь программировать

Сегодня на рынке труда наблюдается интересная тенденция: граница между бизнес-аналитиком и системным аналитиком стремительно стирается. Хотя профессиональные стандарты РФ разграничивают эти роли, позиционируя бизнес-аналитика как специалиста по организационному развитию, а системного аналитика как исследователя и проектировщика информационных систем. Я часто говорю, что лучшие бизнес-аналитики получаются из экспертов предметной области, а системные аналитики – из бывших разработчиков. Хотя хороший разработчик не бывает бывшим). Поэтому, как бывший разработчик, которому комфортнее в плоскости анализа и проектирования систем, нежели в их непосредственной реализации, считаю, что умение программировать на любом языке и понимание архитектуры информационных систем – необходимая компетенция для системного аналитика и вот почему:

  • повышается точность функциональных требований. Например, в сценариях вариантов использования аналитик фиксирует каждый шаг, который должна выполнить проектируемая система, поскольку понимает, что программа работает согласно заданным инструкциям.
  • подробно прорабатываются нефункциональные требования, т.к. аналитик знает, какие компоненты программной архитектуры обеспечивают ее надежность, доступность, производительность, быстродействие и защиту данных, имея представление об инструментальных средствах, которыми это реализуется. Сюда же можно отнести требования к мониторингу и журналированию системных событий, которые позволяют наблюдать за состоянием системы во время ее эксплуатации.
  • упрощаются задачи трассировки и приоритизации требований, благодаря тому, что аналитик понимает их технические зависимости друг от друга. Например, понимание того, как реализуются процессы регистрации и аутентификации, позволяет аналитику корректно построить UML-диаграммы последовательности взаимодействия сервисов по веб-API с авторизационным JWT-токеном в заголовке HTTP-запросов. Также, благодаря представлению о внутренней реализации, аналитик не пропускает этап проектирования, а трассирует требование «UC-1 Добавить товар в каталог» с актором Менеджер в несколько компонентов решения: функция регистрации пользователя в системе, функция аутентификации и функция добавления нового ресурса. Потом эти компоненты решения трансформируются в задачи на разработку, причем сперва должна быть выполнена задача реализации функции регистрации, а затем – задача поиска зарегистрированного пользователя в базе данных и генерации временного JWT-токена, который будет записываться в заголовок POST-запроса к маршруту /product.
  • становится проще понимать оценку трудоемкости, которую выставляют разработчики на реализацию требования. Например, почему простая, на первый взгляд, задача добавления RBAC-политики доступа к данным в уже реализованной системе может занять столько времени. После того, как самостоятельно потратишь пару часов на поиск нужной версии определенной библиотеки, настройку инфраструктуры или отладку ошибок в чужом коде, вопросы «Почему так долго?» задаются все реже.
  • наконец, понимая, какими концепциями оперирует разработчик при реализации требований, аналитик точнее моделирует бизнес-процессы, не пропуская на BPMN-диаграмме промежуточные события, генерируемые или изменяемые данные. Также аналитик начинает точнее находить и описывать крайние случаи, т.е. возможные отклонения от happy path, счастливого пути процессного потока, когда пользователь вводит текст вместо цифр, изменяет предполагаемый порядок действий и т.д. Аналогично при моделировании структур и потоков данных: понимание того, как компилятор/интерпретатор будет обрабатывать инструкцию по манипуляции с каким-то объектом, предупредит некорректное определение сущности в ER-диаграмме или класса на UML-схеме.

DDD, ООП и UML для аналитика

Код курса
BUML
Ближайшая дата курса
9 декабря, 2024
Продолжительность
16 ак.часов
Стоимость обучения
36 000 руб.

Таким образом, системному аналитику для выполнения своих прямых обязанностей, т.е. разработки требований к ИС и их проектирования, действительно необходимо умение программировать на каком-либо языке, а также понимание принципов работы современных программных архитектур. При этом аналитик не становится «трушным» разработчиком из-за отсутствия большого практического опыта и профессионального владения профильными инструментальными средствами, такими как мощные IDE и специализированные фреймворки. Кроме того, структура кода, используемые приемы и программные конструкции у опытного разработчика будут намного чище, лаконичнее и изящнее.

разработка и проектирование информационных систем для аналитика, системный аналитик и код, анализ и разработка ПО
Аналитик и разработчик разговаривают про код

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

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

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

Основы архитектуры и интеграции информационных систем

Код курса
OAIS
Ближайшая дата курса
20 января, 2025
Продолжительность
16 ак.часов
Стоимость обучения
36 000 руб.

Узнайте больше про архитектуру и технологии интеграции информационных систем на моих курсах в Школе прикладного бизнес-анализа на базе нашего лицензированного учебного центра обучения и повышения квалификации системных и бизнес-аналитиков в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Добавить комментарий