Найти тему
ProjectLab

Роль аналитика в процессе разработки ПО

Аналитик отвечает за формирование требований к системе, и его основная задача — быть экспертом в предметной области.

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

Аналитик и процесс разработки
В целом процесс разработки не зависит от того, по какой методике работает команда.
1. Сначала мы собираем верхнеуровневые бизнес-требования и понимаем, что должна делать наша система.
2. Затем мы продумываем, детализируем бизнес-требования и получаем системные требования. Это уже требования к конкретным элементам нашей системы.
3. Далее мы начинаем проектировать и продумывать, как это все можно реализовать.
4. И только затем начинается непосредственно кодирование (то, что общепринято и называют "разработкой ПО"). Видно, что само кодирование начинается позже, чем стартует проект.
5. После разработки начинается проверка, что код корректно работает и выполняет то, что изначально было поставлено в требованиях, а в финале проверяем, что система в целом выполняет бизнес требования, для которых была предназначена.

Agile vs "водопад"

Прочитав написанное выше, некоторые читатели могут сказать "Да это же водопад! Сейчас никто так не работает. Только Agile, гибкость и скорость!".
Если брать Скрам - самый популярный фреймворк в рамках Agile-подхода, то либо в рамках спринта все описанные выше этапы проходят, но в сокращенном формате, либо выделяют параллельно с разработкой "спринты аналитики". В команде разработки может не быть отдельной должности аналитика, но роль аналитика в любом случае кто-то выполняет.
И если роль аналитика выполняется недостаточно качественно, то это приводит к (постоянным) переделкам уже реализованного кода, что зачастую "больно" для разработчиков, повышает себестоимость ПО, удлиняет сроки разработки и вызывает раздражение бизнес-заказчиков.

В следующей серии мы рассмотрим, чем отличаются роли бизнес-аналитика и системного аналитика.

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