24
AGILE/SCRUM МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Agile/Scrum методологии разработки программного обеспечения

Embed Size (px)

DESCRIPTION

Сотрудница компании JazzTeam провела ряд лекций в Гродненском государственном университете имени Янки Купалы. После конференции Solit-2013 в рамках ознакомительного тура по Беларуси для одного из англозычных докладчиков, руководство компании посетило Гродненский государственный университет имени Янки Купалы, где состоялось знакомство с руководством кафедры программного обеспечения интеллектуальных и компьютерных систем. В рамках продолжения отношений между компанией и кафедрой представитель компании JazzTeam провела несколько лекции по тематике разработки программного обеспечения. Лекции проходили в рамках заседания студенческого семинара “Информатика – Сегодня”, которые университет и кафедра проводят регулярно. Первая лекция была проведена 22 марта 2013 года на тему: “Agile/Scrum методологии разработки программного обеспечения”. Посетителей, участников, слушателей этой лекции заинтересовали такие вопросы: преимущества и недостатки agile и scrum, как разработчики решают спорные моменты, как новичок может повлиять на всю команду, как замотивировать разработчиков и т.д. После доклада была продолжительная и насыщенная дискуссия по возникшим у слушателей вопросам. На лекциях присутствовало много людей, начиная от первокурсников до преподавателей. Лекции охватывали большой спектр вопросов, и все моменты были разобраны на примерах. Публика вела себя очень оживленно и интересовалась больше примерами из жизни, практическими навыками. Впечатления о проведенных лекциях остались самые положительные. Спасибо за интересные вопросы и обсуждения!

Citation preview

Page 1: Agile/Scrum методологии разработки программного обеспечения

AGILE/SCRUM МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Page 2: Agile/Scrum методологии разработки программного обеспечения

МЕТОДОЛОГИЯ В ПРОГРАММИРОВАНИИ -

принципы, идеи, понятия, методы, способы и средства, которые определяют процесс разработки ПО начиная от написания документации до готового продукта

Page 3: Agile/Scrum методологии разработки программного обеспечения

AGILE

Page 4: Agile/Scrum методологии разработки программного обеспечения

AGILE –СЕМЕЙСТВО ГИБКИХ МЕТОДОЛОГИЙ РАЗРАБОТКИ

Характеристики: минимизация рисков разработка на базе коротких циклов

(итераций) упор на общение в команде

Page 5: Agile/Scrum методологии разработки программного обеспечения

ЦЕННОСТИ В AGILE:

Люди и взаимодействие важнее процессов и инструментов

Работающий продукт важнее исчерпывающей документации

Сотрудничество с заказчиком важнее согласования условий контракта

Готовность к изменениям важнее следования первоначальному плану 

Page 6: Agile/Scrum методологии разработки программного обеспечения

ПРИНЦИПЫ AGILE

1. удовлетворение клиента;2. приветствие изменения требований;3. частая поставка рабочего программного

оборудования 4. ежедневное общение заказчика с

разработчиками5. мотивированные личности, обеспеченные

нужными условиями работы, поддержкой и доверием

Page 7: Agile/Scrum методологии разработки программного обеспечения

ПРИНЦИПЫ AGILE

6. рекомендуемый метод передачи информации – личный разговор, лицом к лицу

7. работающее ПО – лучший измеритель прогресса

8. спонсоры, разработчики, пользователи должны иметь возможность поддерживать постоянный темп работы

9. улучшение технического мастерства и удобный дизайн

Page 8: Agile/Scrum методологии разработки программного обеспечения

ПРИНЦИПЫ AGILE

10. простота и искусство не делать лишней работы

11. самоорганизованная команда12. частая адаптация к изменяющимся

обстоятельствам

Page 9: Agile/Scrum методологии разработки программного обеспечения

ЗАЧЕМ ЗАКАЗЧИКУ AGILE?

Регулярно получать новую версию ПО Возможность менять требования Постоянное общение с командой, лучшая

коммуникация Постоянный ритм бесконечно Высокий уровень кода в проекте Минимизация лишней работы Регулировать сроки проекта Страхование финансовых и временных

рисков

Page 10: Agile/Scrum методологии разработки программного обеспечения

ЗАЧЕМ КОМАНДЕ AGILE?

«Законная» адаптация инженерных практик

Постоянное общение с заказчиком, лучшая коммуникация

Уменьшение роли менеджера Внимание к техническому совершенству Постоянная обратная связь Приверженность общей идее Смелость и прозрачный процесс

Page 11: Agile/Scrum методологии разработки программного обеспечения

SCRUM Это методология из семейства Agile Основывается на разбиении проекта на

спринты (итерации) длительностью от 1 недели до месяца

Page 12: Agile/Scrum методологии разработки программного обеспечения
Page 13: Agile/Scrum методологии разработки программного обеспечения

РОЛИ: В Scrum принято выделять три основные роли: владелец продукта, скрам-мастер и команда.

Page 14: Agile/Scrum методологии разработки программного обеспечения

АРТЕФАКТЫ:

Беклог продукта (Product Backlog) – приоритезированный список требований с оценкой трудозатрат. Обычно состоит из бизнесс требований, которые приносят конкретную бизнесс ценность и называются элементами элементами беклога

Беклог спринта (Sprint Backlog) – часть беклога продукта, с самой высокой важностью и суммарной оценкой, не превышающей скорость команды, отобранная для спринта

Инкремент продукта – новая функциональность продукта, созданная во время спринта

Page 15: Agile/Scrum методологии разработки программного обеспечения

ПРОЦЕССЫ

Большинство процессов в Scrum носят характер встреч, т.к. данная методология основана на качественных коммуникациях

Page 16: Agile/Scrum методологии разработки программного обеспечения

СПРИНТ СКЛАДЫВАЕТ ИЗ:

Planning Meeting Daily Scrum Demo Meeting Retrospective Meeting

Page 17: Agile/Scrum методологии разработки программного обеспечения

PLANNING MEETING (ПЛАНИРОВАНИЕ СПРИНТА)

Ограничен 3-8 часами Выбирается объем работ на спринт (Sprint

Backlog) Определяется каким образом будет

реализован этот объем работ Разбивается на подзадачи, для которых

выставляется эстимация посредством Planning Poker

Page 18: Agile/Scrum методологии разработки программного обеспечения

DAILY SCRUM(СКРАМ МИТИНГ, STAND UP)

Проходит каждый день Начинается точно вовремя Ограничен от 15 минут до получаса Проводиться в одном и том же месте

Вопросы Daily Scrum:1. Что было сделано вчера?2. Какие проблемы были или есть?3. Что будет сделано сегодня?

Page 19: Agile/Scrum методологии разработки программного обеспечения

СКРАМ ДОСКА

Page 20: Agile/Scrum методологии разработки программного обеспечения

DEMO MEETING (ОБЗОР СПРИНТА, ДЕМО)

Ограничен 3-4-мя часами Происходит в конце итерации Демонстрируется инкремент

функциональности продукта Привлекается максимальное количество

зрителей Все члены команды участвуют в

демонстрации

Page 21: Agile/Scrum методологии разработки программного обеспечения

RETROSPECTIVE MEETING (РЕТРОСПЕКТИВА)

Ограничен 1-3-мя часами Все члены команды рассказывают свое

отношение к ходу прошедшего спринта Что было сделано в прошедшем

спринте? Что надо улучшить и не допускать в

следующем? Выполняют улучшение процесса

разработки

Page 22: Agile/Scrum методологии разработки программного обеспечения
Page 23: Agile/Scrum методологии разработки программного обеспечения

ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ- это набор приемов программирования, таких как:

• Стандарт кодирования • Разработка через тестирование (TDD)• Коллективное владение кодом• Непрерывная интеграции• Тестирование со стороны заказчика• Парное программирование• Рефакторинг кода• Code Review• Continuous integration• Стабильный темп• Частые небольшие релизы

Page 24: Agile/Scrum методологии разработки программного обеспечения

СПАСИБО ЗА ВНИМАНИЕ!

Будем рады ответить на все Ваши вопросы:

Email: [email protected]