Как прийти в IT, не имея специального образования? Что делать "светлой голове" в IT, если писать код не интересно или получается "не очень"? И как поступить в случае, если хочется отвечать на вопросы "что" и "как", а не "когда" или "чем"?
Когда идет речь о разработке ПО, трудно забыть программистов и управленцев. Но есть и третья компетенция, критически важная для успешного проекта. Давайте познакомимся с профессией Аналитика требований к ПО.
Аналитик требований к ПО
Среди участников любого проекта по разработке ПО обязательно есть человек, явно или неявно выполняющий роль аналитика требований. Крупные фирмы для решения подобных задач привлекают специалистов такого профиля — бизнес-аналитиков. Их также называют системными аналитиками, инженерами по требованиям, менеджерами по требованиям и просто аналитиками.
Задача аналитика — отразить мнения заинтересованных сторон и лиц в спецификации требований и передать информацию другим заинтересованным в проекте лицам. Аналитик помогает участникам проекта прояснить, действительно ли пожелания, которые они высказывают вслух, — это то, что им на самом деле нужно. Аналитик обучает, задает вопросы, слушает, организует и учится. Это сложная работа.
Фактически, Аналитик — это посредник в общении с Заказчиком, проясняющий смутные представления пользователей и обращающий их в четкие спецификации, которыми руководствуется команда разработчиков продукта. Задача аналитика — прежде всего, выяснить, для чего нужна пользователям новая система, и затем определить функциональные и качественные требования, на основе которых менеджеры проекта смогут оценить, разработчики — спроектировать и создать, а специалисты по тестированию — проверить продукт.
Становление Аналитика требований
На самом деле люди с разным профессиональным опытом могут стать аналитиками. Для того чтобы начать карьеру в этой области не нужно наличие специального образования.
Для работы аналитиком требуется множество личностных черт, а не знаний каких-либо технологий. Стандартного обучающего курса или описания обязанностей такого специалиста не существует. В аналитики приходят из разных профессии, и, скорее всего, у всех новичков есть пробелы в знаниях и навыках. Тому, кто собирается заниматься этим делом, следует определить, какие именно из требований, перечисленных ниже, относятся к нему, и постараться активно восполнить пробел, чтобы первоклассно выполнить работу.
Бывший пользователь
Во многих корпоративных отделах информационных технологий есть сотрудники, пришедшие в бизнес аналитики из обычных пользователей, работавших с какой-либо информационной системой. Они отлично понимают особенности бизнеса и рабочей среды и легко завоевывают доверие бывших коллег. Они знают язык пользователей, а также существующие системы и бизнес-процессы.
K сожалению, зачастую бывшие пользователи имеют весьма поверхностные знания о разработке ПО и взаимодействии с техническими специалистами. Если они не знакомы с методами моделирования анализа, то по привычке выражают всю информацию в текстовой форме. Пользователям, ставшим аналитиками требований, следует больше выяснить о технической стороне разработки ПО, чтобы представлять информацию в наиболее подходящей для разных аудиторий форме.
Бывший разработчик
Менеджеры проекта, которым не хватает профессионального аналитика требований, зачастую ожидают, что его функции будет выполнять разработчик. К сожалению, навыки и личные качества, необходимые разработчику, отличаются от тех, что необходимы аналитику.
Мало кто из разработчиков терпелив с пользователями, считая их необходимым злом, с которым нужно разобраться как можно быстрее, чтобы скорее вернуться к реальной работе — программированию. Конечно, многие разработчики осознают важность процесса создания требований и выражают желание работать аналитиками, когда потребуется.
Те же, кому нравится общаться с пользователями — хорошие кандидаты для специализации в области анализа требований.
Разработчику, ставшему аналитиком, вероятно, придется более подробно ознакомиться с предметной областью бизнеса. Им будет полезно дополнительное обучение в области межличностных коммуникаций, которыми искусно владеют лучшие аналитики — умение эффективно слушать, вести переговоры и создавать комфортные условия общения.
Эксперт предметной области
Очень полезно, если аналитиком требований является эксперт в предметной области или профильный специалист, а не обычный пользователь. Такой специалист поможет сформировать хорошую спецификацию требований к ПО, определить насколько разумны требования, как они расширяют существующую систему, как следует проектировать предполагаемую архитектуру и какое влияние они окажут на пользователей.
Аналитик требований, будучи экспертом в предметной области, зачастую определяет требования к системе, которые соответствуют его личным предпочтениям, а не обоснованным потребностям различных классов пользователей. Иногда профильные специалисты увлекаются созданием универсальной, всеобъемлющей системы, когда на самом деле большую часть потребностей пользователей удовлетворит менее сложное решение.
Зачастую лучше, чтобы аналитик требований из команды разработчиков взаимодействовал с экспертом предметной области, который кроме того выбран в качестве ключевого представителя пользователей (сторонника продукта).
Карьерный рост Аналитика
Как и в остальных профессиях IT, значительный профессиональный рост Аналитика сопровождается существенным ростом зарплаты и возможностей по изменению своей деятельности (например, востребованные консультанты не работают ежедневно, а консультируют компании по заказу). В росте аналитика можно выделить три основных этапа:
Функциональный аналитик
Занимается разработкой функциональных требований, специфицированием вариантов использования системы, поддерживает процесс разработки и тестирования.
Системный аналитик, бизнес-аналитик
Общается с заказчиком и командой, описывает бизнес-процессы, прототипирует систему, разрабатывает дизайн вариантов использования, руководит функциональными аналитиками.
Консультант
Высший пилотаж Аналитика — понимание вопроса "как может функционировать бизнес?". Консультант специализируется на глубоком знании одного-двух отраслей, консультирует заказчиков в предметной области и руководит системными аналитиками.
Требования к Аналитику требований
Персональные качества (обязательные):
- Умение анализировать и обрабатывать информацию. Способность обрабатывать большой объем собранной и имеющейся информации, анализировать и выстраивать согласованное целое.
- Умение объяснять и обучать. Способность понятно, доступно и доходчиво излагать свои мысли и знания другим участникам команды и Заказчику, устно и письменно.
- Творческий подход. Умение преобразовывать информацию в требования к ПО, предлагать решения и функционал разрабатываемой Системы.