Модели
- Каскадная (водопад)
- Итеративная (инкрементальная)
- Спиральная
- V-Model
- Cleanroom
- Agile
Итеративная (инкрементальная)
Основополагающие принципы
Основополагающие принципы (1)
Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
Основополагающие принципы (2)
Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
Основополагающие принципы (3)
Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
Основополагающие принципы (4)
На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
Основополагающие принципы (5)
Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
Основополагающие принципы (6)
Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
Основополагающие принципы (7)
Работающий продукт — основной показатель прогресса.
Основополагающие принципы (8)
Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
Основополагающие принципы (9)
Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
Основополагающие принципы (10)
Простота — искусство минимизации лишней работы — крайне необходима.
Основополагающие принципы (11)
Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
Основополагающие принципы (12)
Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Lean Development (бережливая)
Типы потерь
- Перепроизводство
- Излишние запасы
- Излишняя обработка
- Ненужные перемещения
- Выпуск дефектной продукции
- Ожидание
- Ненужная транспортировка
Типы потерь в ПО
- Экстра функциональность
- Требования
- Дополнительные шаги разработки
- Поиск информации
- Баги, не выявленные при тестировании
- Ожидание решений, ожидание клиентов
- Передача проекта, требований, знаний, развертывание систем
Визуализируйте поток работы
Визуализируйте поток работы
- Запишите все задачи
- Определите статусы задач
- Все задачи должны быть на доске
Ограничьте выполняемую работу
Ограничьте выполняемую работу
- Зафиксируйте лимит задач
- Расставьте приоритеты
- Заканчивайте начатые дела
Kanban
- Управляйте потоком задач
- Сделайте договоренности и ожидания явными
- Анализируйте работу команды
- Улучшайте совместными усилиями, эволюционируйте на основе экспериментов
Составление бэклога проекта
- Список функций и дорожная карта
- Пользовательские истории
- Приоритеты
- Дата первой поставки и что входит
- Встреча с командой
- Оценка и корректировка
SCRUM-команда
- Команда разработки
- Владелец продукта
- SCRUM-мастер
SCRUM-встречи
- Планирование спринта
- Ежедневное собрание команды
- Обзор спринта
- Ретроспектива спринта
Ежедневное собрание команды
SCRUMbut
- Дейли не каждый день
- Нет ретро
- Длинные спринты
- Нет Definition Of Done
Выбирайте методологии правильно
Домашняя работа
- Создайте бэклог вашего продукта
- Оцените его при помощи покера планирования
- Отправьте его на проверку преподавателю
Следующий урок: no-code, low-code
👏 Спасибо!