Сложное ПО требует грамотного анализа и проектирования решений, поэтому работа системного аналитика влияет практически на все этапы разработки ПО. Вот какие задачи системный аналитик выполняет на каждом из них:
Анализ
На этом этапе системный аналитик принимает непосредственное участие. Он собирает требования, проводит интервью с заказчиком и иными заинтересованными лицами, анализирует текущее программное обеспечение (если оно есть). Системный аналитик формулирует требования к будущему ПО, описывает его основные задачи и то, как пользоваться этим программным обеспечением. Собранные требования системный аналитик согласовывает с заказчиком и другими заинтересованными лицами, на этом этапе он также взаимодействует с менеджером. Если в команде есть бизнес-аналитик, он тоже подключается на стадии анализа и активно участвует в рабочих процессах.
Проектирование
После сбора требований начинается проектирование будущего продукта. Системный аналитик подробно описывает, как должно работать ПО, из каких компонентов оно будет состоять и как они будут взаимодействовать между собой. В результате получается документ, который называется «постановка задачи». Если у программного обеспечения запланирован пользовательский интерфейс, системный аналитик может создать его прототип — схематичное описание.
Дизайн
Основной участник этого этапа — UI/UX дизайнер. Самостоятельно или на основе прототипов системного аналитика он создаёт дизайн-макеты интерфейса. На этом этапе системный аналитик может консультировать дизайнера по пользовательским сценариям будущего ПО, то есть ориентировать его, как пользователи могут взаимодействовать с ПО. Системный аналитик также участвует в согласовании дизайн-макетов.
Разработка
На этом этапе, опираясь на постановку задачи, менеджер или системный аналитик сообщают разработчикам, что нужно делать. В процессе выполнения задач у разработчиков могут появиться вопросы. Системный аналитик должен ответить на них и при необходимости вносить правки и уточнения в постановку задачи.
Какие вопросы могут возникать у разработчиков? Можно выделить следующие группы вопросов:
- Разработчику нужно уточнить, что имеется в виду в формулировке, так как задача допускает неоднозначное толкование.
- Разработчику требуется дополнительная информация — например, о том как именно пользователи будут работать с реализуемой функциональностью.
- У разработчика возникла идея, как можно реализовать требование, и он хочет обсудить с системным аналитиком, подойдёт ли пользователям такой вариант.
Тестирование
На этапе тестирования активное участие системного аналитика в разработке не нужно. Его роль ограничивается ответами на вопросы тестировщиков (например, о поведении пользователей или о критериях качества ПО) и приёмкой продукта. Во время приёмки системный аналитик оценивает реализованную функциональность «глазами пользователя» и пытается понять, разработано ли то, что задумано, решает ли разработка задачу пользователя.
Внедрение
Если в команде нет технического писателя, на этапе внедрения системный аналитик разрабатывает техническую документацию (подробное описание баз данных и другую техническую информацию) и готовит пользовательскую (например, описание того, что пользователь может делать с ПО и какой результат он получит). В некоторых организациях аналитик также участвует в презентации готового продукта и обучает пользователей работе с ПО.
Поддержка и развитие
После внедрения ПО системный аналитик продолжает участвовать в поддержке и развитии продукта. Он согласовывает изменения разработанного ПО, вместе с менеджером анализирует запросы от пользователей и помогает устранять ошибки в работе ПО.