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

Preview:

DESCRIPTION

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

Citation preview

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

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

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

AGILE

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

Recommended