Виды требований к ПО. Подборка видео

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

Виды требований к ПО. Подборка видео

Вся подборка построена на основе размещённых на YouTube видеороликов. Это вебинары, записи лекций и выступлений на профильных конференциях. Подборка разделена на несколько групп, при этом первая группа является вводной, а каждая из последующих посвящена одному конкретному виду требований. За основу была взята классификация по BABOK, но цели строго следовать ей не было.

Очерёдность докладов в каждом разделе выстроена по принципу увеличения усложнения и углубления в вопрос. Дополнительно к каждому видео сформулировано краткое описание содержания. Поэтому в зависимости от своей потребности вы сможете регулировать своё погружение в вопрос.

1. Требования. Общая информация

1.1. Виды требований к ПО и способы их документирования

«Виды требований к ПО и способы их документирования»

Доклад для первого и лёгкого знакомства с темой (для новичков). На сквозном примере работы пиццерии рассматриваются основные виды требований к ПО (бизнес-требования, требования заинтересованных сторон, функциональные, нефункциональные, переходные) и способы их документирования. Во второй половине видео вскользь затрагиваются и иные связанные вопросы, как то: пользовательские истории, критерии приёмки, разработка макетов (wireframe).

1.2. Заметки по работе с требованиями | Давайте разбираться

«Заметки по работе с требованиями | Давайте разбираться»

В начале данного небольшого видео частично повторяются мысли из предыдущего, но изложение более ритмичное и с уклоном на работу с требованиями. Начиная с 6 минуты излагаются критерии хороших требований (полнота, ясность, корректность, непротиворечивость пр.) и даются полезные советы по работе с требованиями.

1.3. Требования: хорошие и плохие

«Требования: хорошие и плохие»

На примере учебного реестра требований заинтересованных сторон разбираются типичные упущения, допускаемые при работе с требованиями (упущен стейкхолдер и его требования, использование терминов без пояснений, не раскрыты стадии жизненного цикла сущности и пр.). По мере разбора эти моменты устраняются и учебный документ с требованиями итеративно улучшается, в частности в документе появляются переходные требования. С 30 минуты доклада озвучиваются вопросы повышения качества требований в разрезе трёх аспектов и по ним предлагаются чек-листы.

1.4. Как разработать и описать требования к ПО

«Как разработать и описать требования к ПО»

Данный доклад в целом решает те же задачи, что и первый доклад в данной группе, однако это уже более методичный и глубокий материал. Повествование строится вокруг сквозного примера (внедрение системы электронного документооборота): от первого контакта с заказчиком и выявления его реальной потребности до приёмки результата. Разбираются такие инструменты аналитика, как контекстная диаграмма, диаграмма вариантов использования UML, матрица действий, диаграмма процесса IDEF0, диаграмма состояний UML и пр., при этом разбор идёт с акцентом на получаемую от этих инструментов ценность и в привязке к примеру. С 45 минуты разбирается пример шаблона документа требований, а с 51 минуты разбирается множество вопросов от зрителей.

1.5. Управление требованиями по ISO/IEEE-29148: обзор действующего стандарта

«Управление требованиями по ISO/IEEE-29148: обзор действующего стандарта»

Разбирается, из чего состоит стандарт ISO/IEC/IEEE-29148:2018, какие вопросы покрывает, чем он выгодно отличается от других стандартов (в том числе от ГОСТ 34), почему его можно считать ёмким сборником хороших практик, а не подробным учебником. В ходе обзора стандарта автор последовательно проходит по документу, проговаривая содержание и давая свои пояснения, что позволяет улучшить понимание контекста и материала. В дополнение к стандарту автор советует обратиться к учебникам International Requirements Engineering Board (IREB). Важно: текст стандарта на английском языке, а в видео местами есть проблемы со звуком.

2. Бизнес-правила

2.1. Бизнес правила - это не требования! Нужно ли с ними работать

«Бизнес правила - это не требования! Нужно ли с ними работать»

Максимально полное освящение бизнес-правил. В первой половине доклада излагается, что такое БП, каким критериям они должны удовлетворять, почему это не требования к ПО, зачем аналитику на них надо тратить своё время, как они влияют на появление новых требований и как лучше организовать связь между вариантами использования и БП. Также рассматриваются риски, связанные с недостаточной работой с бизнес-правилами. Начиная со времени 1:14 освещаются особенности работы с БП, организованными в виде таблицы решений, а с 1:24 — разбираются две классификации БП (по Карлу Вигерсу и Рональду Россу). Для знакомства со сводом знаний RuleSpeak — метка 1:44, ответы на вопросы зрителей — 1:57.

Из любопытного: согласно приведённым критериям и ответу на вопрос (см. 2:03), требования законодательства не являются бизнес-правилами, т.к. не находятся под юрисдикцией бизнеса. Меж тем у К. Вигерса иное мнение: регуляторные требования и отраслевые стандарты рассматриваются им как бизнес-правила внутри категории "ограничения".

2.2. Делаем качественные требования с помощью таблиц принятия решений

«Делаем качественные требования с помощью Таблиц принятия решений»

На примере кейса представлена работа с бизнес-правилами, имеющими сложную структуру и логику. Объясняется, почему эффективнее будет построить такую работу с помощью таблицы решений. Также даётся базовое представление о нотации Decision Model and Notation (DMN) и реализации в ней таблиц решений.

2.3. Расширение нотации BPMN: использование совместно с DMN (управл.решения) и CMMN (кейс-менеджмент)

«Расширение нотации BPMN: использование совместно с DMN(управл.решения) и CMMN(кейс-менеджмент)»

Доклад начинается с экскурса в историю возникновения процессного подхода, затрагиваются границы его применимости. Далее на примере кейса рассматриваются принципы работы с нотациями DMN и CMMN, которые позволяют описать соответственно управленческие решения и недетерминированные решения, принимаемые пользователем по собственному усмотрению пользователя.

3. Бизнес-требования

3.1. Зачем нужны бизнес требования?

«Зачем нужны бизнес требования?»

В видео за неполные 6 минут даётся определение БТ, объясняется их важность и место, занимаемое в иерархии требований.

3.2. Четыре друга бизнес-требований

«Четыре друга бизнес требований»

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

4. Требования заинтересованных сторон (пользовательские)

4.1. Пользовательские требования

«Пользовательские требования»

Лекционный материал, правда не самый гладкий в изложении. Даются общие сведения, а далее разбираются подходы к представлению пользовательских требований в форме вариантов использования (Use Case) и пользовательских историй (Use Story), их сходства и различия. При рассмотрении историй также затрагивается вопрос создания критериев приëмки (Acceptance Criteria). Начиная с 48 минуты затрагиваются родственные темы (CRUD-анализ, CRUDLSHAX, концепция Use Case 2.0 А. Якобсона, диаграммы вариантов использования UML), после чего разбираются более детальные примеры.

4.2. Идеальный USE CASE: как описать сценарий, чтобы его не вернули на доработку

«Идеальный USE CASE: как описать сценарий, чтобы его не вернули на доработку»

Рассматриваются только варианты использования: что это, зачем, 10 типов ошибок, которые допускают начинающие аналитики при написании вариантов использования.

4.3. User Stories Full Study: внутри и снаружи

«User Stories Full Study: внутри и снаружи»

Подробно разбираются пользовательские истории: из чего состоят, как их лучше создавать, почему они должны удовлетворять критериям INVEST, как соотносятся с критериями приёмки. INVEST разбирается достаточно подробно, в ходе этого даётся представление о других связанных подходах (например, о модели IRACIS и спайках/spike), что позволяет их взять на заметку для дальнейшего изучения. С 19 минуты затрагиваются вопросы представления НФТ и требований к бэк-энду в форме историй. Начиная с 24 минуты доклад уходит больше в тему работы по Agile, для базового знакомства это может быть избыточным и можно пропустить, перейдя на 31 минуту на секцию вопросов и ответов.

4.4. Разбивка пользовательских историй

«Разбивка пользовательских историй»

Рассматривается, что такое пользовательская история, в каких случаях еë стоит дробить на части, какие есть подходы к дроблению, когда следует остановить дробление, а также в каких случаях дробить истории не рекомендуется. Для большей пользы данное видео лучше смотреть после изучения основ работы с фреймворком User Story.

4.5. User & Job story в разработке продуктов

«User & Job story в разработке продуктов»

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

4.6. User Story и Job Story: в чем разница и когда они нужны?

«User Story и Job Story: в чем разница и когда они нужны?»

В данном видео разбирается работа с Job Story на более глубоком уровне, чем в предыдущем. На примерах показывается, что в ряде случаев анализ с позиции персоны/роли непоказателен и сужает обзор, и в таких случаях следует держать фокус на проблемной ситуации (контексте) и решаемой клиентами задаче. В докладе много внимания уделено проведению интервью клиентов и интерпретации полученных ответов по фреймворку Jobs To Be Done (JTBD).

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

4.7. Пользовательские требования — ключ к успешному продукту

«Пользовательские требования — ключ к успешному продукту»

Излагается точка зрения, что для многих типов проектов не стоит с заказчиками согласовывать бизнес-требования и системные (под последними автор понимает требования, которые обычно относят к области ФТ и НФТ), а оптимальным будет согласовывать именно пользовательские (требования заинтересованных сторон) с той или иной детализацией. В качестве форматов для требований рассматриваются пользовательские истории (User Story) и варианты использования (Use Case). Также высказывается мысль, что сегодня ChatGPT способен неплохо генерировать функциональные требования, поэтому если придерживаться излагаемых в докладе принципов, никакой ChatGPT аналитика не заменит.

5. Функциональные требования

«Функциональные и нефункциональные требования»

Лекционный материал, является продолжением лекции о пользовательских требованиях (см. выше). Первые 16 минут посвящены функциональным требованиям: что это, их место в иерархии требований по классификации К. Вигерса, связь ФТ с пользовательскими требованиями. В этом же видео начиная с 17 минуты идёт изложение материала по нефункциональным требованиям, с 47 — по бизнес-правилам (здесь они рассматриваются как часть НФТ) и иным связанным вопросам (например, классификация НФТ по FURPS+ и RUP). Но я бы предложил для изучения данных тем отдать предпочтение отдельным материалам из соответствующих групп либо скомбинировать с ними, чтобы, не упустить делали.

6. Нефункциональные требования

6.1. Нефункциональные требования. Как не упустить качество продукта

«Нефункциональные требования. Как не упустить качество продукта»

Хороший доклад для погружения в проблематику. Здесь в доступной форме рассказывается о сложностях работы с НФТ сквозь призму опыта бизнес-аналитика, о возможных источниках выявления НФТ, а также при разборе сквозного учебного примера приводится ряд конкретных формулировок для наиболее популярных видов НФТ (примеры, как надо и как не надо формулировать требования). Из всех категорий НФТ рассматриваются в основном атрибуты качества.

6.2. Нефункциональные требования. Все то, что вы давно хотели узнать, но боялись спросить

«Нефункциональные требования. Все то, что вы давно хотели узнать, но боялись спросить»

Широкий обзор видов НФТ и важности учёта оных. Также разбирается несколько заблуждений относительно того, что относится к НФТ. С 48 минуты в форме игры разбирается 7 кейсов из практики вида: НФТ не были предъявлены, и к чему это привело. Вкупе с обсуждением спикеров это позволяет перенять опыт, не проживая его внутри рассмотренных проектов.

6.3. Разбираемся с нефункциональными требованиями на примерах

«Разбираемся с нефункциональными требованиями на примерах»

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

6.4. Как задавать нефункциональные требования к качеству ПО в цифрах

«Как задавать нефункциональные требования к качеству ПО в цифрах»

Рассмотрение способа, как можно задавать требования к качеству. В докладе предлагается авторский подход к заданию НФТ в зависимости от класса системы. Автор исходит из того, что для каждого класса систем существует типовой набор пар: <показатель/НФТ; уровень качества>, который на основе эмпирических данных превращается уже в конкретные цифры (проценты, секунды, TPS и пр.). Отдельное достоинство доклада в том, что в нём освещается такая редко упоминаемая категория, как атрибуты качества использования (см. Human Factors Requirements в ISO/IEC/IEEE-29148:2018): скорость работы, точность, утомляемость и пр. Статья в развитие темы: ссылка.

6.5. Нефункциональные требования: как их определять

«Нефункциональные требования: как их определять»

Приводится большой обзор существующих моделей классификации требований с упором на качество ПО (ГОСТ 34, ISO 9126, FURPS+ и пр.). Если удалось ознакомиться с представленными выше материалами, то можно начать просмотр видео с 31 минуты, т.к. с этого момента начинается изложение вопросов, связанных с заданием значений атрибутов качества (как определить допустимые границы, от чего может зависеть, с кем их стоит обсудить, профиль качества для системы vs модуля/подсистемы и пр.).

6.6. Платежи на борту самолёта

«Платежи на борту самолёта»

Разбор кейса компании "ЮMoney" об осуществлении платежей на борту самолёта. Лёгкое видео, где в динамике показывается развитие казалось бы уже разработанной архитектурной концепции в ответ на введение в рассмотрение того или иного аспекта качества (сохранность данных, безопасность и пр.).

7. Требования к внешним интерфейсам

7.1. Чек-лист для описания требований к интеграции

«Чек-лист для описания требований к интеграции»

Видео посвящено требования к интеграциям.

Вначале рассматриваются 3 принципиальные этапа интеграционного анализа (концепция, проектирование, техническая детализация). После этого доклад выстраивается вокруг вопросов, на которые стоит отметить при работе над интеграционным проектом (получается чек-лист). Это: тип взаимодействия, расписание запуска, кто инициирует, где забирать данные, как интерпретировать пустое содержание, через какое время повторить попытку при неудаче, сколько есть попыток и пр. В ходе изложения основной упор делается на файловом обмене и веб-сервисах, однако многое применимо и к иным способам взаимодействия. Представленная информация будет также актуальной тем, кто занимается миграцией данных.

7.2. Проектирование пользовательских интерфейсов

«Проектирование пользовательских интерфейсов»

Видео посвящено требования к пользовательскому интерфейсу (UI).

UI рассматривается в контексте удовлетворения потребностей пользователей со стороны ПО, причём по аналогии с пирамидой Маслоу: вначале закрывается потребность в функциональности (ФТ), потом в атрибутах качества (НФТ), а далее на первый план выходят ощущения и восприятие интерфейса (UX/UI). Вся лекция строится вокруг этой идеи, в частности, рассматривается метод персон (персонажей, Personas) для определения подходящих интерфейсов ПО для разных групп пользователей. С 23 минуты рассматриваются разные подходы к дизайну (human-centered, activity-centered, data-driven), типы информационных структур интерфейса и слегка затрагивается тема Customer Journey Map (CJM). С 58 минуты рассматриваются подходы к прототипированию интерфейсов (storyboarding, бумажные прототипы, wireframe/макеты, mockup и др.) и вопросы исследования продукта (A/B-тестирование, Usability-тестирование и др.).

1
Начать дискуссию