Меньше созвонов, быстрее запуск: как системный аналитик облегчает жизнь стартапера

В 2021 году у нас в Purrweb появилась новая должность — системный аналитик. Если коротко, он делает так, чтобы получилось именно то приложение, которое нужно заказчику. В статье расскажем, зачем нужен системный аналитик, какие задачи он решает и в чем его польза для заказчика.

Кто такой системный аналитик

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

Системный аналитик — специалист, который смотрит на проект целиком и создает единую систему из требований заказчика, специфики бизнеса, дизайна и технической реализации.

Более точно должность «Системный аналитик» в каждой компании определяют по-разному. Все зависит от задач, которые предстоит решать. Сходство в одном — системный аналитик присутствует в проекте на каждом этапе. Он не дает работе рассыпаться на кусочки и ведет команду к единой цели.

<p>Примерный путь системного аналитика в проекте</p>

Примерный путь системного аналитика в проекте

Системный аналитик в Purrweb — это держатель бизнес-логики. Он делает так, чтобы техническая реализация идеи соответствовала итоговому видению продукта. Простыми словами, это человек, который налаживает связь между «что нужно» и «что сделано». Например, системный аналитик помогает заказчику сформулировать требования к продукту. А команде предлагает подходящие технические решения.

Теперь покажем, как это выглядит на практике.

Никто не запутается в бизнес-логике

Системный аналитик подключается к работе уже на первом созвоне с заказчиком. Его задача — разобраться в бизнес-логике проекта. Если говорить совсем просто, ему нужно понять, как воплотить бизнес в приложении. Вот почему это важно:

  • Заказчик может распылить свое внимание на много разных функций. А системный аналитик поможет сфокусироваться на самых ценных из них в требованиях к продукту.

  • На то, чтобы изучить бизнес-задачи заказчика и вникнуть в проект, команде требуется много времени. Поэтому системный аналитик берет на себя изучение проекта и унифицирует данные от зказкчика. Он консультирует дизайнеров и разработчиков и избавляет их от необходимости проводить дополнительные созвоны с заказчиком.

Вот показательный случай. К нам в Purrweb обратился блокчейн-стартап, который предлагает пользователям инвестировать свои токены и участвовать в запуске новых криптовалют. Бизнес-логика была очень запутанной: четыре вида токенов с разной функциональностью и огромное количество пользовательских взаимодействий. Вот, как выглядела задача для команды. На то, чтобы изучить бизнес-задачи заказчика и вникнуть в проект, команде требуется много времени. Поэтому системный аналитик берет на себя изучение проекта и унифицирует данные от заказчика. Он консультирует дизайнеров и разработчиков и избавляет их от необходимости проводить дополнительные созвоны с заказчиком.

<p>Суть проекта, описанная на естественном языке, часто вызывает ужас у дизайнеров и разработчиков</p>

Суть проекта, описанная на естественном языке, часто вызывает ужас у дизайнеров и разработчиков

Анализ бизнес-логики чем-то напоминает детективное расследование. Системный аналитик расспрашивает заказчика, читает документы и консультируется с экспертами. Ему нужно узнать, как работает бизнес. Результатом такого «расследования» являются диаграммы BPMN (Business Process Model and Notation — нотация и модель бизнес-процессов). Вот, как они выглядят.

<p>BPMN-диаграммы описывают процессы, протекающие внутри системы</p>

BPMN-диаграммы описывают процессы, протекающие внутри системы

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

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

Какие еще задачи решает системный аналитик

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

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

<p>Разработчики сказали бы так: функция «NFT multiplayer» связывает функции «покупка NFT в кошельке» и «еженедельное вознаграждение»</p>

Разработчики сказали бы так: функция «NFT multiplayer» связывает функции «покупка NFT в кошельке» и «еженедельное вознаграждение»

Анализ API. Application Programming Interface — это описание способов, которыми одна программа может взаимодействовать с другой. Системный аналитик находит и изучает возможность подобных интеграций. Например, для блокчейн-приложения важно выбрать сервис для KYC («Know Your Customer‎»), который будет доступен в нужных странах.

Помощь в проектировании базы данных. Так как системный аналитик лучше всех в проекте знаком с бизнесом заказчика, он помогает разработчикам разобраться в проекте. Например, создает первую версию ER-диаграммы, которая показывает, какие сущности есть в системе и в каких отношениях они состоят. Разработчикам понадобится ее дорабатывать, но зато они придут к финальному варианту быстрее, так как отправная точка у них уже есть.

<p>Разработчику лучше один раз увидеть ER-диаграмму, чем сто раз услышать объяснение сути проекта</p>

Разработчику лучше один раз увидеть ER-диаграмму, чем сто раз услышать объяснение сути проекта

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

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

Шаблон для составления проектной документации
Шаблон для составления проектной документации

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

Резюмируем

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

Подписывайтесь на наш Telegram, чтобы не пропустить новые статьи.

2424
18 комментариев

Специально зарегался (первый раз), чтобы оставить этот комент:

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

Задача СА сводиться к тому, чтобы:
1. Получить от бизнеса бизнес требования (BPMN это или просто описание - не важно). Не СА должен решать что нужно бизнесу. Для этого есть в лучшем случае бизнес-аналитики, а в среднем случае - маркетологи + продажники
2. Уточнить все пробелы в требованиях. В 99% случаев бизнес не представляет себе как работает информационная система и поэтому их первоначальные схемы чаще всего неработоспособны.
3. Получить от архитектора схему решения (брокеры очередей будут использоваться или простой REST, какие должны быть БД и сколько, по каким протоколам взаимодействие, какие модули системы и т.д.)
4. Расписать в спецификациях для разработчиков все от и до: какая форма за какие данные отвечает, что куда в БД кладем и что откуда забираем, в какой момент все это происходит, как работает интеграция (REST, SOAP) вплоть до каждого отдельного метода с полным списком параметров и т.д. Общая цель - программист не должен думать, он должен кодить.
5. Отдать спецификации разработчикам и забыть об этой задаче, взяв новую. (если есть вопросы у разработчиков, то ответить на них)

Вот это и есть то, чем должен заниматься СА. А в данной статье описан человек-оркестр, которому, скорее всего, еще зарплата предлагается средненькая по конторе (даже не по рынку) для одного сотрудника.

7
Ответить

Ага, и после того, как в проект вводят должность системного аналитика все нормальные программисты разбегаются, так как им неинтересно тупым кодированием заниматься :)

Ответить

В целом верно, но у вас скорее универсал, а не системный аналитик.
Там, где есть разделение на бизнес- и системного, обычно есть оба и это разные люди. Пока система не супербольшая и/или сложная, это можно совмещать, хотя по сути вы платите 1 раз за 3 в 1: бизнес-анализ, системный анализ, проектирование архитектуры на минималках (описание API, БД, интеграции, если будут...)

"Системный аналитик — это человек в проекте, который лучше всех понимает заказчика."
в классическом понимании СА - вообще нет.

2
Ответить

Ждала рекламу курсов какого-нибудь практикума или скиллбокса в конце)))

1
Ответить

а в итоге только реклама телеграма))

1
Ответить

Хорошая была бы рекламная интеграция 😅

Ответить

А какое образование должно быть у системного аналитика?

1
Ответить