{"id":14293,"url":"\/distributions\/14293\/click?bit=1&hash=05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","hash":"05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438","buttonText":"","imageUuid":""}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резюмируем

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

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

0
18 комментариев
Написать комментарий...
Дмитрий Гришин

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

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

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

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

Ответить
Развернуть ветку
Dmitry Guryanov

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

Ответить
Развернуть ветку
Julie Mak

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

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

Ответить
Развернуть ветку
Марина Каширина

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

Ответить
Развернуть ветку
Евгений Смирнов

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

Ответить
Развернуть ветку
Purrweb
Автор

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

Ответить
Развернуть ветку
Абвгде Ёж

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

Ответить
Развернуть ветку
Purrweb
Автор

Любое профильное: прикладная информатика, программирование.

Ответить
Развернуть ветку
Никита Курбанов

Нужен курс по BPMN ... может кто порекомендовать? Мне чтот надоело проектировать квадратиками ромбиками и стрелочками.

Ответить
Развернуть ветку
Artem FOMICHEV

Я учился на бесплатном контенте на ютубе bpmn2ru(не реклама), самое нормально, что попадалось

Ответить
Развернуть ветку
Purrweb
Автор

Только хотели посоветовать этот канал!

Ответить
Развернуть ветку
Андрей Волков

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

В итоге функции БА/СА возлагаются на техдира/тимлида/ПМ-а или размазываются между ними (потому что только у них есть нужный опыт, умения и мотивация), а на БА/СА возлагаются остаточные функции писать микро-ТЗ для мидлов/джунов.

Ответить
Развернуть ветку
Artem FOMICHEV

Но не стоит забывать, что личный опыт не репрезентативный.
Моя работа и работа моих друзей аналитиков очень похожа на то, что описано в статье.

Ответить
Развернуть ветку
Андрей Волков

Не стоит забывать, что личный опыт зависит от того, с какой позиции вы на него смотрите.

Ответить
Развернуть ветку
Artem FOMICHEV

Желаю вам встретить профессиональных аналитиков 😁

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Андрей Винокуров

Гляньте камунду. Не даст вам ошибиться при проектировании

Ответить
Развернуть ветку
Artem FOMICHEV

Это bpms уже

Ответить
Развернуть ветку
FutureIsHear

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

Ответить
Развернуть ветку
15 комментариев
Раскрывать всегда