Без преувеличения можно сказать, что работа с требованиями является наиболее ответственным и наименее определенным этапом в разработке программного обеспечения (ПО). Наиболее ответственным – потому, что успех всего проекта зависит от того, насколько полно и корректно выявлены истинные потребности заказчика. Наименее определенным – потому, что узнать эти потребности можно только от сотрудников заказчика, которые не всегда хорошо понимают тонкости разработки ПО.
Но для успеха проекта недостаточно просто узнать потребности заказчика. Их необходимо превратить в хорошо структурированный перечень четких и однозначных требований, достаточный для проектирования архитектуры системы, для разработки и тестирования программных модулей. При этом нужно помнить, что часто именно эти требования и составляют все, что команда разработки знает о предметной области заказчика.
Курс посвящен изучению всех перечисленных вопросов и отработке на практике основных способов описания требований: в виде структурированного текста, пользовательских историй (user stories), сценариев использования и Use Case диаграмм. Кроме того, слушатели узнают об использовании атрибутов требований и связей между требованиями (трассирование) для оценки трудоемкости проекта.
В ходе курса слушатели получат представление о важности различных аспектов роли Аналитика – не только технических, но также психологических и коммуникативных. Большое внимание в курсе уделяется правилам выявления заинтересованных лиц, организации конструктивного взаимодействия с ними и способам определения их потребностей.
Хотя в основe курса лежит традиционный взгляд на работу с требованиями, сторонники Agile тоже найдут в нем немало полезного. Ведь основные подходы к изучению предметной области, методики выявления потребностей заинтересованных лиц, анализ проблем заказчика и поиск их решений в большинстве случаев имеют много общего, не взирая на используемую методологию разработки ПО. Таким образом, курс будет полезен для всех, кто связан со сбором, анализом, документированием и тестированием требований к программному обеспечению.