Слайд 2Цели и содержания доклада
Среда использования
Описание процесса ICONIX
Диаграммы и процесс
Адаптация процесса ICONIX под
Scrum/Agile
Потери при производстве
Синхронизация диаграмм и кода
Соответствие принципам Agile
Обсуждение и вопросы
Слайд 3Среда использования Scrum и ICONIX
Компания Softline
Разработка высоконагруженных коммерческих сайтов:
Корпоративные веб-сайты
Веб-сайты для электронной
коммерции
Около 100 основных участников проектов
Страны СНГ и дальнего зарубежья
Распределенная команда разработки
Москва, Новосибирск и Оренбург
Слайд 4Среда использования Scrum и ICONIX: Product Owner
Слайд 5Сбор и анализ требований в Scrum
Создание и нормализация видения продукта
Выявление и описание
персонажей
Создание юзер-стори
Как «персонаж», я «действие» для «цель»
Описания юзер-стори хранятся в виде «знаний» команды
Для распределенных команд
удобно использовать вики
Слайд 6Сбор и анализ требований в Scrum
Слайд 8Полная UML
Большой входной порог
Более 10 видов диаграмм
900-страничное руководство
Слишком подробное описание
Неявная «Водопадная модель»
Избыточность
Необходимость
постоянной актуализации диаграмм
Слайд 9Потери при производстве: UML
Перепроизводство
Ожидание
Переключение между задачами
Лишние этапы обработки
Лишние запасы
Ненужные перемещения
сотрудников
Дефекты
Слайд 12Классическая схема процесса ICONIX
Протип UI
Варианты
использования
Робастность
Последовательность
Динамика
Сценарии
тестирования
Статика
Предметная
область
Обновления
предметной области
Классы
Код
Слайд 15Диаграмма вариантов использования
Марья Васильевна как пользователь
читает справку,
чтобы понять, как использовать
систему
Слайд 17Зачем нужна диаграмма робастности?
Проверка полноты юзкейсов
Выявление дополнительных объектов
Проверка текста юзкейсов
Предварительная проработка архитектуры
«Мост»
между анализом и архитектурой
Слайд 18Зачем нужна диаграмма робастности?
Что?
(анализ)
Как?
(архитектура)
Пропасть
Слайд 20Практики процесса ICONIX
Анализ и уточнение требований
Системный аналитик для Product owner’а
Уменьшение количества неправильных
требований
Анализ предметной области
Проектирование взаимодействия с системой
Префакторинг – рефакторинг модели
Синхронизация моделей и кода
Агрессивное тестирование на всех уровнях
Слайд 21Проектирование взаимодействия с системой
Слайд 22Возвращение к водопадной модели?
Классический ICONIX:
Близок к водопадной модели
Допускает потери при производстве
Перепроизводство -
проработка лишних требований
Лишняя обработка - актуализация диаграмм
Лишние запасы – проработка всей модели
… но ICONIX отлично адаптируется к Agile
Слайд 23Варианты политик синхронизации диаграмм и кода
Актуализация – это потери!
Полная или частичная синхронизация
«Внешние
разработчики»
Распределенная команда
Поддержка продукта
Части продукта для синхронизации
Основной функционал
Взаимодействие с внешними системами
Слайд 24Различия между моделью и кодом
Количество различий
Модель
Код
Время
Слайд 25Спринт №4
Подводное плавание - метафора содержания проекта
Размер/рамки проекта
Детализация проекта
Общее описание системы и
архитектура
Спринт №1
Спринт №2
Спринт №3
Спринт №1
Спринт №2
Спринт №3
Спринт №4
Слайд 26Нулевой спринт – плаваем на поверхности
Видение продукта
Диаграмма предметной области
Диаграмма вариантов использования
Роли и
персонажи
Юзер-стори без описания
Проработка юзер-стори для первого спринта
Важно ограничить нулевой спринт по времени
Слайд 27Последующие спринты – ныряем на глубину
Подробное описание юзер-стори
Не больше двух параграфов
Баланс текстового
и графического описания
Диаграмма робастности
Диаграмма последовательности
Диаграмма классов
Обновление диаграммы предметной области и диаграммы юзкейсов
Слайд 29Agile Manifesto
Люди и их взаимодействие
важнее процессов и инструментов
Готовый продукт
важнее полной
документации
Сотрудничество с заказчиком
важнее контрактных ограничений
Реакция на изменения
важнее следования плану