240 likes | 264 Views
AgileScrum u043cu0435u0442u043eu0434u043eu043bu043eu0433u0438u0438 u0440u0430u0437u0440u0430u0431u043eu0442u043au0438 u043fu0440u043eu0433u0440u0430u043cu043cu043du043eu0433u043e u043eu0431u0435u0441u043fu0435u0447u0435u043du0438u044f
E N D
AGILE/SCRUM МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
МЕТОДОЛОГИЯ В ПРОГРАММИРОВАНИИ - принципы, идеи, понятия, методы, способы и средства, которые определяют процесс разработки ПО начиная от написания документации до готового продукта
AGILE – СЕМЕЙСТВО ГИБКИХ МЕТОДОЛОГИЙ РАЗРАБОТКИ Характеристики: минимизация рисков разработка на базе коротких циклов (итераций) упор на общение в команде
ЦЕННОСТИ В AGILE: Люди и взаимодействие важнее процессов и инструментов Работающий продукт важнее исчерпывающей документации Сотрудничество с заказчиком важнее согласования условий контракта Готовность к изменениям важнее следования первоначальному плану
ПРИНЦИПЫ AGILE удовлетворение клиента; приветствие изменения требований; частая поставка рабочего программного оборудования ежедневное общение заказчика с разработчиками мотивированные личности, обеспеченные нужными условиями работы, поддержкой и доверием 1. 2. 3. 4. 5.
ПРИНЦИПЫ AGILE рекомендуемый метод передачи информации – личный разговор, лицом к лицу работающее ПО – лучший измеритель прогресса спонсоры, разработчики, пользователи должны иметь возможность поддерживать постоянный темп работы улучшение технического мастерства и удобный дизайн 6. 7. 8. 9.
ПРИНЦИПЫ AGILE 10. простота и искусство не делать лишней работы 11. самоорганизованная команда 12. частая адаптация к изменяющимся обстоятельствам
ЗАЧЕМ ЗАКАЗЧИКУ AGILE? Регулярно получать новую версию ПО Возможность менять требования Постоянное общение с командой, лучшая коммуникация Постоянный ритм бесконечно Высокий уровень кода в проекте Минимизация лишней работы Регулировать сроки проекта Страхование финансовых и временных рисков
ЗАЧЕМ КОМАНДЕ AGILE? «Законная» адаптация инженерных практик Постоянное общение с заказчиком, лучшая коммуникация Уменьшение роли менеджера Внимание к техническому совершенству Постоянная обратная связь Приверженность общей идее Смелость и прозрачный процесс
SCRUM Это методология из семейства Agile Основывается на разбиении проекта на спринты (итерации) длительностью от 1 недели до месяца
РОЛИ: В Scrum принято выделять три основные роли: владелец продукта, скрам-мастер и команда.
АРТЕФАКТЫ: Беклог продукта (Product Backlog) – приоритезированный список требований с оценкой трудозатрат. Обычно состоит из бизнесс требований, которые приносят конкретную бизнесс ценность и называются элементами элементами беклога Беклог спринта (Sprint Backlog) – часть беклога продукта, с самой высокой важностью и суммарной оценкой, не превышающей скорость команды, отобранная для спринта Инкремент продукта – новая функциональность продукта, созданная во время спринта
ПРОЦЕССЫ Большинство процессов в Scrum носят характер встреч, т.к. данная методология основана на качественных коммуникациях
СПРИНТ СКЛАДЫВАЕТ ИЗ: Planning Meeting Daily Scrum Demo Meeting Retrospective Meeting
PLANNING MEETING (ПЛАНИРОВАНИЕ СПРИНТА) Ограничен 3-8 часами Выбирается объем работ на спринт (Sprint Backlog) Определяется каким образом будет реализован этот объем работ Разбивается на подзадачи, для которых выставляется эстимация посредством Planning Poker
DAILY SCRUM (СКРАМ МИТИНГ, STAND UP) Проходит каждый день Начинается точно вовремя Ограничен от 15 минут до получаса Проводиться в одном и том же месте Вопросы Daily Scrum: Что было сделано вчера? Какие проблемы были или есть? Что будет сделано сегодня? 1. 2. 3.
DEMO MEETING (ОБЗОР СПРИНТА, ДЕМО) Ограничен 3-4-мя часами Происходит в конце итерации Демонстрируется инкремент функциональности продукта Привлекается максимальное количество зрителей Все члены команды участвуют в демонстрации
RETROSPECTIVE MEETING (РЕТРОСПЕКТИВА) Ограничен 1-3-мя часами Все члены команды рассказывают свое отношение к ходу прошедшего спринта Что было сделано в прошедшем спринте? Что надо улучшить и не допускать в следующем? Выполняют улучшение процесса разработки
ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ - это набор приемов программирования, таких как: • Стандарт кодирования • Разработка через тестирование (TDD) • Коллективное владение кодом • Непрерывная интеграции • Тестирование со стороны заказчика • Парное программирование • Рефакторинг кода • Code Review • Continuous integration • Стабильный темп • Частые небольшие релизы
СПАСИБО ЗА ВНИМАНИЕ! Будем рады ответить на все Ваши вопросы: Email: zmicer@jazzteam.org