Кто такой системный аналитик
В проектах случается так, что каждый сделал свою часть работы хорошо, но все вместе получилось «не круто». Например, дизайнер упустил неочевидный сценарий использования приложения, и на этапе разработки оказалось, что нужных экранов не хватает. Хуже всего, если спустя время обнаружится, что какую-то функцию приложения реализовать технически невозможно. Тогда придется откладывать релиз и искать другие решения. Чтобы в целом всегда получалось «круто» и нужен системный аналитик.
Системный аналитик — специалист, который смотрит на проект целиком и создает единую систему из требований заказчика, специфики бизнеса, дизайна и технической реализации.
Более точно должность «Системный аналитик» в каждой компании определяют по-разному. Все зависит от задач, которые предстоит решать. Сходство в одном — системный аналитик присутствует в проекте на каждом этапе. Он не дает работе рассыпаться на кусочки и ведет команду к единой цели.
Системный аналитик в Purrweb — это держатель бизнес-логики. Он делает так, чтобы техническая реализация идеи соответствовала итоговому видению продукта. Простыми словами, это человек, который налаживает связь между «что нужно» и «что сделано». Например, системный аналитик помогает заказчику сформулировать требования к продукту. А команде предлагает подходящие технические решения.
Теперь покажем, как это выглядит на практике.
Никто не запутается в бизнес-логике
Системный аналитик подключается к работе уже на первом созвоне с заказчиком. Его задача — разобраться в бизнес-логике проекта. Если говорить совсем просто, ему нужно понять, как воплотить бизнес в приложении. Вот почему это важно:
- Заказчик может распылить свое внимание на много разных функций. А системный аналитик поможет сфокусироваться на самых ценных из них в требованиях к продукту.
- На то, чтобы изучить бизнес-задачи заказчика и вникнуть в проект, команде требуется много времени. Поэтому системный аналитик берет на себя изучение проекта и унифицирует данные от зказкчика. Он консультирует дизайнеров и разработчиков и избавляет их от необходимости проводить дополнительные созвоны с заказчиком.
Вот показательный случай. К нам в Purrweb обратился блокчейн-стартап, который предлагает пользователям инвестировать свои токены и участвовать в запуске новых криптовалют. Бизнес-логика была очень запутанной: четыре вида токенов с разной функциональностью и огромное количество пользовательских взаимодействий. Вот, как выглядела задача для команды.
Анализ бизнес-логики чем-то напоминает детективное расследование. Системный аналитик расспрашивает заказчика, читает документы и консультируется с экспертами. Ему нужно узнать, как работает бизнес. Результатом такого «расследования» являются диаграммы BPMN (Business Process Model and Notation — нотация и модель бизнес-процессов). Вот, как они выглядят.
Такие диаграммы изображают все возможные сценарии использования системы. Все, что заказчик описывает естественным языком, системный аналитик отражает в документации в строгом виде. Дизайнерам и разработчикам с этим проще работать. Системный аналитик тут выступает своего рода переводчиком с гуманитарного языка на технический.
Когда проведен анализ бизнес-логики, дизайн и разработка проходят быстрее: требуется меньше правок, доработок и созвонов всех со всеми. Но работа системного аналитика на этом не заканчивается, он продолжает участвовать в проекте до самого конца и помогает находить правильные решения без необходимости привлекать заказчика.
Какие еще задачи решает системный аналитик
Дальнейший путь системного аналитика в проекте каждый раз отличается, и описать его пошагово сложно. Бывает, что заказчик хорошо разбирается в IT. Тогда фокус системного аналитика переключается на взаимодействие с командой, чтобы разгрузить проджект-менеджера. Но иногда сваливается и много специфических задач. Перечислим несколько полезных функций, которые выполняет системный аналитик, чтобы облегчить жизнь заказчику.
Выявление межфункциональных взаимодействий
Это самое темное место для заказчика — то, как одна функция в системе будет влиять на другую. Системный аналитик находит все подобные связи и обращает на них внимание, чтобы дизайнеры и разработчики не столкнулись с проблемами на поздних этапах работы. Например, в нашем кейсе блокчейн-платформы аналитик заметил, что чем больше у пользователя NFT, тем больше еженедельных наград он получит. Дизайнеры это учли и добавили на экран с наградами отображение купленных NFT, чтобы пользователь видел их пользу.
Анализ API
Application Programming Interface — это описание способов, которыми одна программа может взаимодействовать с другой. Системный аналитик находит и изучает возможность подобных интеграций. Например, для блокчейн-приложения важно выбрать сервис для KYC («Know Your Customer»), который будет доступен в нужных странах.
Помощь в проектировании базы данных
Так как системный аналитик лучше всех в проекте знаком с бизнесом заказчика, он помогает разработчикам разобраться в проекте. Например, создает первую версию ER-диаграммы, которая показывает, какие сущности есть в системе и в каких отношениях они состоят. Разработчикам понадобится ее дорабатывать, но зато они придут к финальному варианту быстрее, так как отправная точка у них уже есть.
Помощь в создании контрактов
Коротко, контракты — это правила, по которым бэкенд взаимодействует с фронтендом. Системный аналитик упрощает работу нескольких бэкенд- и фронтенд-разработчиков — он подготавливает информацию, необходимую для создания контракта. В результате на разработку приложения уходит меньше времени, запуск происходит быстрее и стоит дешевле.
Составление проектной документации
Это подробное описание того, как устроено приложение и как работают функции. Системный аналитик изучает все особенности реализации, а затем записывает их в виде текста и диаграмм. В основном, такая информация нужна, чтобы было проще передавать проект новым разработчикам. Также, документация может понадобиться и заказчику, например, чтобы привлечь инвестиции в свой бизнес.
Написание критериев законченности работы
Важно знать, как приложение должно работать в идеале и как должна выглядеть законченная задача. Системный аналитик составляет критерии для тестировщиков. Например, говорит о том, за какое время должна выполняться функция.
Резюмируем
Системный аналитик — это человек в проекте, который лучше всех понимает заказчика. Именно он следит за тем, чтобы выполнение мелких целей помогало достичь одну глобальную. Главный результат его работы — полезное для бизнеса приложение и подробная документация к нему.