• граничные объекты – интерфейс взаимодействия с пользователями;
• котроллеры – бизнес-логика и различные алгоритмы;
• сущности – данные приложения.
Можно заметить, что данная диаграмма очень похожа на шаблон проектирования Model-View-Controller.
Диаграмма робастности
Красным выделены альтернативные (ошибочные) цепочки действий, про которые обычно забывают при анализе, хотя им нужно уделить максимальное внимание.
Диаграмма робастности нужна, чтобы:
• осуществить проверку полноты вариантов использования;
• выявить дополнительные объекты;
• проработать архитектуру на высоком уровне.
Последний пункт очень важен, ведь между анализом и архитектурой существует практически пропасть, которую эта диаграмма призвана заполнить.
Пропасть между анализом и архитектурой
После такого анализа можно описать подробности алгоритма или логики в диаграмме последовательности.
Диаграмма последовательности
Стратегия актуализации документации
Если рассматривать проектную документацию, в том числе требования, с позиций бережливого производства, то она является мудой – потерей при производстве (подробнее потери при производстве описаны в гл. 11). Аналогичный принцип действует и в гибких методологиях: прогресс измеряется не по документации, а по конечному продукту, который является ценностью для заказчика.
Фактически аналитик должен выбрать одну из трех стратегий актуализации требований.
Стратегии обновления требований
Несмотря на то что Аgile-процессы ставят готовый продукт выше документации, роль документации не исключается как таковая. Принятые решения, ограничения системы, описание бизнес-процессов должны быть зафиксированы и доступны любому участнику команды.
Наталья Лукьянчикова, аналитик
Если документация не обновляется полностью, с какого-то момента начинают накапливаться различия между моделью (требованиями) и кодом.
Рост количества различий между моделью и кодом
Роль аналитика в Scrum
Наиболее распространенной практикой интеграции аналитика в Scrum является подготовка требований до старта спринта, что позволяет провести более качественную оценку и обсуждения. Для этого аналитик выполняет детальный анализ еще не взятых в спринт требований. Если проводилась предварительная оценка требований, то их можно набирать в соответствии со скоростью работы команды.
Место аналитики в Scrum
Получается, что аналитик как бы опережает команду на один спринт. У такого подхода есть свои плюсы и минусы.
Преимущества и недостатки
Роль аналитика в канбане
Плюсы и минусы работы в Scrum в канбане меняются местами: здесь аналитик работает наравне со всеми членами команды в потоке задач. Обычно ему выделяют дополнительный столбец на доске.
Столбец «Аналитика» для соответствующего состояния
Аналитик также попадает под третье правило канбана по оптимизации процесса с целью сокращения времени жизни задачи. По этой причине и из-за отсутствия спринтов время жизни при введении дополнительного этапа для аналитики в канбане так сильно не растягивается.
Прототипы
Для заказчика прототипы играют такую же важную роль, какую диаграммы играют для команды, – особенно в том случае, когда именно от аналитика поступает предложение, как воплотить в жизнь то, что хочет заказчик
Ксения Колосова, руководитель проектов
Важным элементом работы системного аналитика является создание прототипа. В зависимости от используемых бизнес-процессов и наличия специалистов прототип может быть общим, отражая лишь функциональность, либо конкретным и даже интерактивным.
Различные варианты прототипов
Общий прототип подразумевает, что в дальнейшем он будет проработан специалистом по интерфейсу пользователя либо дизайнером в случае веб-разработки. Более конкретные прототипы часто берутся в работу непосредственно разработчиками, так как уже содержат необходимую информацию.
Прототип для веб-страницы
В рамках Scrum прототипы рекомендуется делать к конкретным историям пользователей в сочетании с текстовым описанием и диаграммами.
Глава 9. Масштабирование Agile
Классическая Agile-команда состоит из немногих участников, обычно 7 ± 2 человека. Это максимальное количество людей, при котором возможно гибкое взаимодействие. При дальнейшем увеличении команды резко возрастают издержки на коммуникации (количество возможных коммуникаций находится в квадратной зависимости от количества участников коммуникации).
Как было сказано выше, в Agile используется командный подход, таким образом, для масштабирования этих методологий на уровень предприятия необходимо выстроить систему взаимодействия отдельных команд.