Роль системного аналитика в ИТ компании: задачи, требования, перспективы
Работа системным аналитиком в небольшой компании имеет свою специфику. Часто такому специалисту приходится совмещать функционал нескольких ролей: быть не только системным, но и продуктовым аналитиком, и бизнес-аналитиком. Скучно не бывает. Об особенностях погружения в профессию рассказала Елена Решетова, системный аналитик в Nerve.Ai.
Кто может работать системным аналитиком?
Когда речь заходит о личных качествах специалиста, то предрасположенность к профессии чаще демонстрируют люди с умением мыслить системно, внимательные, склонные к порядку, вдумчивые и в то же время открытые к общению. Если добавить к личным качествам бэкграунд в виде технического образования и опыта в проектировании, то получим портрет начинающего аналитика.
Когда я выбирала профессию, то поняла, что мне интереснее погружаться в бизнес-процессы и общаться с людьми, а не писать код. Опыт программирования для аналитика будет полезен, но отнюдь не является обязательным. Я начинала работать как аналитик в группе сопровождения. Взаимодействовала с системными аналитиками и бизнес-аналитиками. И поняла, что профессия «системный аналитик» – это то, что мне больше всего подходит: интересно проектировать, как будет работать система, при этом тесно общаться с заказчиком, погружаться в его бизнес-процессы. Для того, чтобы принять рациональные решения о проектировании, бывает необходимо и с базами данных поработать, и код посмотреть.
O hard skills and soft skills
К моменту начала карьеры в роли системного аналитика у меня уже было высшее техническое образование (бакалавриат и магистратура). Помимо базовых знаний программирования, системному аналитику потребуется разбираться в разных нотациях описания бизнес-процессов (на начальном этапе популярны: Flowchart, BPMN, UML; также используют IDEF0‚ IDEF1X‚ EPC), способах интеграции систем, уметь составлять SQL-запросы, понимать принципы проектирования архитектуры будущей системы, писать технические спецификации, владеть инструментами моделирования – для визуализации процессов. Системный аналитик определяет границы систем и зоны их ответственности, разграничивает подсистемы и их функции. Знания в области информационной безопасности и бизнеса (менеджмент, экономика) также не будут лишними, хотя и не входят в обязательный минимум компетенций специалиста.
Если описывать soft skills, то в первую очередь ценятся желание и умение разложить все по полочкам: получая от заказчика зачастую сумбурный набор пожеланий, системный аналитик может его изучить и выдать команде структурированное ТЗ. Не менее важно умение общаться и доказывать свою точку зрения: от коммуникативных навыков специалиста зависит качество взаимодействия между командой и заказчиком, и в частности, отсутствие конфликтов и недоразумений.
Зачем компании нужен системный аналитик?
Роль системного аналитика – быть посредником между бизнесом и разработкой. Помогать переводить бизнесовые задачи на технический язык разработчиков: правильно снять требования с заказчика и зафиксировать их в формате технических спецификаций. Однако этим результат его работы отнюдь не ограничен. Аналитик проектирует систему, продумывая связи между подсистемами и их взаимное влияние, тесно общаешься с командой разработки, чтобы все понимали, как изменения частей повлияют на целое. Прорабатывает пользовательские и системные сценарии, продумывает все, что гипотетически может пойти так или не так, алгоритмы и реакцию на действия пользователя. Системный аналитик проектирует не только техническую часть реализации проекта, но и продумывает все элементы UI UX дизайна: что увидит пользователь на экране и как все это связано с БД.
Пример работы системного аналитика
Предположим, заказчик говорит, что ему нужна табличка на странице. Разработка может понять и, соответственно, сделать эту фичу совершенно по-разному. Задача системного аналитика – качественно интервьюировать заказчика, чтобы предельно точно зафиксировать его видение результата.
Так, системный аналитик выяснит: для чего нужна табличка? Например, для списка книг. Далее: какие поля нужны, сколько столбцов, указываем в ней авторов или только названия, вносим ли артикул, добавляем ли иллюстрации, нужна ли возможность использовать фильтры в таблице и какими будут принципы сортировки: по авторам, по названиям, по тегам и т.д. Далее уточнит, где будет располагаться эта таблица: на определённой уже существующей странице или нужна отдельная вкладка.
Таким образом, простое «нужна таблица» от заказчика превращается в детально проработанное техническое задание, которое исключает неоднозначное или двусмысленное толкование требований.
Обычно, когда человек работает на позиции разработчика, он углубляется в один какой-то язык или привязывается к определенному технологическому стеку. Системный аналитик, как правило, имеет более обширные знания: разбирается в разных технологиях, их возможностях, минусах и плюсах и может предложить наиболее подходящий стек технологий для создания того или иного продукта.
Вклад системного аналитика в работу команды
Системный аналитик – это во многом творческая профессия. Условно я «программирую» всю систему. Моя задача полностью понять, как эта система работает, суметь углубиться в детали и в то же время, видеть, как развить систему в масштабе.
Когда я пришла в команду Nerve.Ai, то сразу получила интересную задачу: мы строили платформу управления обучением и мне предстояло с нуля спроектировать dashboard для проекта.
Поскольку это внутренний продукт команды, то заказчика не было как такового: решения обсуждались и принимались командой.
Для того, чтобы качественно реализовать задачу, мне предстояло погрузиться в продуктовую аналитику: изучать конкурентов, их сильные и слабые стороны.
Задача была реализовать dashboard полностью с нуля: без готовых требований, без фреймворков. Почему именно с нуля? Изначально был создан dashboard с использованием сторонних сервисов, но мы столкнулись с его недостаточной производительностью: возникали проблемы с обработкой больших объемов данных. В результате решили, что стоит реализовать сервис таким образом, чтобы обработка шла на нашей стороне. И это существенное преимущество проекта. Теперь на платформе Learn.fm все быстро грузится, доступен огромный арсенал инструментов для анализа данных, все просто и удобно для пользователя.
Карьерные перспективы для системного аналитика
Если говорить о вертикальном развитии, то здесь профессиональная эволюция выглядит так: junior-аналитик, middle-аналитик, senior-аналитик или ведущий аналитик, директор аналитического отдела в крупной компании. Чтобы расти вертикально, необходимо наращивать все профессиональные компетенции:
- читать много технической литературы,
- учится на продвинутом уровне моделировать системы с их описанием путем использования разных нотаций,
- разбираться в различных типах архитектур,
- проектировании интеграций и требованиях к ним,
- прокачивать навыки статистической обработки и анализа данных.
Поскольку системный аналитик – это специалист, который работает на перепутье между бизнесом и разработкой, то ему открываются широкие перспективы для горизонтального развития. Можно перейти в проджект-менеджеры и заниматься организацией процессов разработки и взаимодействия с заказчиком. Если системный аналитик освоит бизнес-аналитику, то он может стать full stack аналитиком. Вариант для тех, кому нравится углубляться в сферу технологий, – дорасти до архитектора информационных систем.
В целом, стоит сказать, что аналитика – это хорошая стартовая позиция в ИТ, которая открывает возможности развития сразу в нескольких направлениях: бизнес, технологии, аналитика, проектирование.
KPI системного аналитика
В зависимости от того, как выстроен процесс работы, системный аналитик может получать задачи напрямую от заказчика или от проджект-менеджера. Его основная задача – «перевести» эти требования на язык, понятный команде разработки. Качество работы системного аналитика оценивается по двум критериям:
- Насколько команде разработки удобно работать с ТЗ: все четко и однозначно понятно;
- Насколько конечный результат удовлетворил заказчика.
Работа системного аналитика регламентирована: для достижения позитивного результата специалист должен соблюдать определенный «кодекс». Так, одно из правил при оформлении заданий для разработки заключается в использовании формулировок, исключающих двойное, т.е. потенциально неверное толкование задач. Кроме этого, критериями качества требований являются:
- Атомарность – их нельзя разбить на более мелкие.
- Полнота.
- Краткость.
- Консистентность (непротиворечивость).
- Выполнимость.
- Приоритизированность (упорядоченность по важности и стабильности).
- Тестируемость.
- Понятность.
Если говорить об опыте команды Nerve.Ai, то пока компания была совсем небольшой, разработчики обходились без специального «переводчика». Сегодня, когда задач стало больше и они сложнее, в Nerve.Ai системный аналитик подключается к работе на этапе пресейла, когда участвует в проектах на заказной разработке. Не обходятся без его внимания и собственные проекты компании.
С появлением системного аналитика в Nerve.Ai многие процессы стали проходить эффективнее. Теперь фронт работ выглядит прозрачнее: получается проще и оперативнее планировать задачи. Раньше команда сама оценивала сложность проекта, при этом уже на этапе разработки могло обнаружиться множество неучтенных сценариев, что приводило к увеличению времени и стоимости реализации проекта. Предварительная работа аналитика на этапе сбора требований и постановки задач закрыла этот вопрос. Теперь уже на начальном этапе стало ясно, сколько времени займёт внедрение какой-то фичи и реализация проекта в целом, а также исключены неэффективные в плане tech stack решения. И еще: кто, если не аналитик, документально оформит выполненный специалистами объем работ?