Как подчеркивает консультант в сфере разработки программного обеспечения Карл Вигерс, 50 процентов дефектов и до 80 процентов переделок в проектах разработки происходят по причине ошибок еще на этапе сбора требований. Речь, безусловно, идет о проектах, выполняемых по методологии Waterfall.
Но и в случае с Agile качество собранных требований имеет большое значение. Качественные требования остаются таковыми, независимо от того, где вы находитесь и какой способ/подход/метод используете для создания ценности, считает бизнес-аналитик Марк Маккифри.
Как же эффективно собрать качественные требования? В этой статье мы расскажем, что такое требования и как их собирают. Помимо этого, мы поделимся, с какими проблемами можно столкнуться в процессе и как их решить. А в следующей статье узнаете несколько лайфхаков, которые помогут избежать типичных ошибок и повысить качество работы бизнес-аналитика.
Что такое требования и какими они бывают
Что такое сбор требований и какие существуют методы
Проблемы с доступом к конечным пользователям
Что такое требования и какими они бывают
Требования — это описание того, что должен выполнять продукт или система для решения задач бизнеса. Они помогают сформулировать ожидания и определить функциональные возможности, которые должна поддерживать разрабатываемая система. Требования делятся на несколько типов:
- Функциональные требования — описывают конкретные функции системы, например, возможность пользователя регистрироваться на сайте.
- Нефункциональные требования — касаются качественных характеристик системы, таких как скорость работы или уровень безопасности.
- Бизнес-требования — определяют высокоуровневые цели и задачи проекта, которые должны быть достигнуты.
- Пользовательские требования — включают пожелания и потребности конечных пользователей, такие как удобство интерфейса.
Каждый тип требований важен, так как они задают основу для проектирования и разработки продукта.
Что такое сбор требований и какие существуют методы
Сбор требований — это процесс выявления и документирования ожиданий, потребностей и ограничений заказчика и пользователей по отношению к проекту. Он является фундаментальным этапом для создания качественного продукта, так как ошибки на этом этапе могут привести к неправильной реализации системы.
Методы сбора требований включают:
- Интервью — проведение бесед с ключевыми участниками проекта для получения детализированной информации.
- Анкетирование — отправка опросов широкой аудитории для сбора количественных данных.
- Мозговые штурмы — совместное обсуждение идей в группе для генерации требований.
- Наблюдение — изучение действий пользователей, чтобы лучше понять их потребности.
- Создание прототипов — визуализация возможного решения для получения обратной связи от заказчика.
Эти методы можно комбинировать, чтобы обеспечить полноту и точность собранных требований.
Go поштормим: 8 эффективных техник мозгового штурма
Когда все идет не по плану
Казалось бы, вы работаете в большой софтверной компании, инструментов достаточно, контракт подписан и главный заказчик дает добро. Или вы создаете пет-проект, провели брейнсторминг с командой и все заряжены на успех. Но, совершенно неожиданно, у пользователей и специалистов находятся оправдания, чтобы отменять встречи по сбору требований и интервью, заказчик проекта добавляет новый функционал, а ваша команда не может выбрать направление и задумывается о пивоте.
Прежде всего, стоит подчеркнуть, что процесс сбора требований — неизбежен. Нельзя экономить время и пытаться «срезать углы». Можно — отложить разработку до тех пор, пока вся команда не определиться с требованиями.
«Привлекайте членов команд разработчиков и тестировщиков для проверки качества требований, чтобы убедиться, что требования выполнимы и проверяемы.
Обеспечьте возможность инженерам по требованиям (бизнес-аналитикам — Прим. Автора) сотрудничать со стейкхолдерами до тех пор, пока требования не достигнут необходимого уровня качества.
Наконец, инженеры по требованиям должны доработать или удалить все требования, которые не обладают необходимыми характеристиками качественных требований», — подчеркивает представитель Software Engineering Institute Дональд Фаерсмит.
Одна из основных проблем — это отсутствие ясности у заказчика. Часто пользователи или заказчики сами не до конца понимают, что им нужно, или же их потребности меняются по ходу работы. Это приводит к тому, что требования формулируются размыто и неоднозначно, что затрудняет их реализацию.
Что должен знать Junior бизнес-аналитик?
Также может возникнуть проблема с коммуникацией между командами. Технические специалисты, разработчики и бизнес-аналитики могут иметь разное представление о том, как должна выглядеть конечная система, что в конечном итоге ведет к разногласиям. Задача бизнес-аналитика — стать связующим звеном между всеми участниками процесса, что требует не только технической, но и высокой коммуникативной компетенции.
Какие гибкие навыки помогут карьере в IT?
Нередко от заказчиков и других стейкхолдеров поступают запросы по изменениям требований. Лучшим решением будет разработанная система управления требованиями. А, как минимум, важно вести журнал изменений требований (change log), чтобы фиксировать каждое изменение, его причины и влияние на проект. Это позволяет не только отслеживать динамику изменений, но и избежать недоразумений в будущем. Регулярное обновление журнала помогает команде понимать, на каком этапе они находятся, и что нужно учитывать для дальнейшего успешного выполнения задач.
Проблемы с доступом к конечным пользователям
“Мне некогда, у меня есть своя работа, и еще я собираюсь в отпуск”, — говорит сотрудник компании и будущий пользователь софтверного решения.
Худшее решение — начать давить на слабо мотивированного специалиста. Лучшее — максимально подготовиться к встречам и превратить сессию по сбору требований в сессию по их валидации. Можно заранее с командой проработать возможные сценарии взаимодействия пользователя с продуктом и убить двух зайцев: сэкономить время участников фокус-группы и устранить возможные противоречия (когда команда “знает” чего хочет клиент).
Можно и вовсе не изобретать велосипед, а использовать готовые наработки. Шаблоны помогают стандартизировать и ускорить процесс сбора требований. Вместо того чтобы каждый раз начинать с нуля, можно использовать заранее подготовленные фреймворки и форматы, что минимизирует вероятность упущений. Шаблоны обеспечивают структурированный подход к выявлению ключевых моментов, необходимых для проекта, и упрощают взаимодействие между командой и заказчиком.
В следующей статье мы подробнее расскажем, как решать эти и другие возникающие проблемы. А пока предлагаем пройти небольшой тест и проверить полученные знания.