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