SlideShare a Scribd company logo
Agile, SCRUM,  Планирование – что в этом для программистов? Малышкин Фёдор  ( [email_address] ) 30  ноября 2007
Введение Разве не естественно знать как распределяется Ваше время?  На основании чего распределяются заданий?  И почему после всех приложенных усилий оказывается, что проект не укладывается в сроки? Разве не хочется принять участие в данном процессе – в процессе планирования?
Терминология Agile   development  –  подход к разработке программного обеспечения, который среди прочего учитывает такие аспекты как: изменяемость условий, короткие пути между идеей и разработкой и упрощённые процессы общения.  Планирование  – попытка плавно подойти к сроку сдачи проекта с готовым продуктом и минимум пролитой крови. SCRUM  –  попытка объединить два предыдущих пункта данного глоссария для получения максимума из того  минимума времени, что выдаётся на проект.   Является конкретным продуктом  Agile  подхода. Про  Agile  дальше упоминаться будет всё меньше и меньше….
SCRUM  в регби
SCRUM  в разработке ПО
Отличительные черты  SCRUM & Agile  подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту («Автора!!!»)
Основные цели введения  SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам
Внимание!!! В нашей фирме используется комбинированный подход к планированию: часть  SCRUM,  часть классического проектирования. Нет чётко выделенных ролей – они размыты между многими людьми, а иногда один человек объединяет несколько ролей. Данное замечание – предназначено для того, что бы не было замечаний, что у нас применяется не «чистый»  SCRUM.
Основные понятия  SCRUM SCRUM  основан на таком понятии как  Sprint  –  сфокусированные усилия группа на небольшой участок времени (неделя, 2 недели, но обычно не более месяца)
Основные понятия  SCRUM Владелец проекта  – собирает общие требования к проекту и  приоритизирует  будущий функционал  ( своего рода  «адвокат дьявола»  для группы разработки ) . Заказы проекта ( project backlog )  – результат работы владельца проекта. Это список задач с расставленными приоритетами, из которых самые приоритетные попадают в… Заказы  Sprint’ а  (sprint backlog)  –  список задач для реализации в рамках ближайшего спринта. Scrum  группа  – группа разработчиков (программисты, дизайнеры, тренеры), которые совместно с владельцем проекта, обсуждают заказы  Sprint’a , разбивают его   атомарные задачи. Группы обычно самоорганизуемы и каждый обладает определённой ответственностью за взятые на себя атомарные задачи.
Основные понятия  SCRUM Scrum  мастер ( Scrum master )  – производит постоянную тренировку команды, устраняет препятствия для реализации задач, фиксированных для данного  Sprint’ а. Каждый спринт предназначен для повышения ценности продукта для бизнеса, добавления нового функционала и улучшения того, что может быть предоставлено конечному заказчику.
Роли Scrum  группа  – группа, производящая фактическую работу по реализации функционала спринта. Количество людей в группе в среднем составляет 5-9 человек, что по данным анализов и исследований является наиболее эффективным количеством для реализации подобного рода задач.  Группа людей  самостоятельно  определяет задачи для себя, сама решает с кем данная задача может быть распределена и в какие сроки решена.  В группе нет заранее предопределённых ролей (программист, дизайнер, архитектор) – каждый в праве взять на себя какую пожелает роль. Таким образом каждый может быть экспертом какой-то области.
Роли Владелец продукта  – является представителем заказчика и следит за тем, что бы группа работала в правильном направлении в области бизнес требований. Следит за актуальностью задач проекта и корректирует его в случае изменения требований. Документ или ресурс с  текущим  состоянием списка должен быть доступен рамках всей организации и особенно группы.
Роли Scrum  мастер  – является своего образа тренером, контроллёром проекта и человеком находящимся в курсе всего проекта. Основная его обязанность это следить за фокуссировкой усилий разработчиков над проектом. Фокус нацелен на то, что бы достигнуть конечную дату спринта с зафиксированными для спринта целями. После каждого спринта им производится так называемая « Sprint  ретроспектива» - рассмотрение принятых решений и достигнутых целей. Цель – повысить знание всех участников проекта о состоянии работы, повысить общий уровень знания и опыта.
Процесс Создание списка задач проекта  – владелец продукта производит сбор требований к продукту, которые являются основными для нового продукта (требования,  change-request’ ы, новый функционал и баги) . Расстановка приоритетов  - владелец продукта расставляет приоритеты для продукта. Расставляет последовательность, в которой данные задачи должны быть реализованы. Определение времени на реализацию  –  Scrum  группа   собирается вместе с  Scrum  мастером и производит анализ первоочередных задач: разделяет их на атомарные задачи и прогнозирует время. Когда задач будет достаточно для первого спринта – формируется список задач спринта и процесс прекращается.
Процесс Закрепление задач и старт спринта  – список задач спринта «замораживается» и команда приступает к работе. Ежедневные  Scrum’ ы  – каждый день в одно и то же время  Scrum  мастер и  Scrum  группа встречаются. Цель – устранить препятствия в работе. Каждый участник должен ответить в той или иной форме на 3 вопроса: Что ты сделал со времени последней встречи? Что ты  намерен  сделать до следующей встречи? Есть ли что-либо, что препятствует тому, что ты задумал? Первые два вопроса предназначены для того, что бы все участники были в курсе  развития  проекта. Последний вопрос предназначен для определения возможных проблем с продвижением работы.
Процесс Главное в высказывании проблемы – чётко описать проблему и высказать предложение о возможном решении (если конечно идеи о решении есть). Каждый может принимать участие в ежедневном  Scrum’ е,  но только участники  Scrum  команды и  Scrum  мастер  могут иметь право голоса.
Демонстрация Каждый спринт заканчивается демонстрацией, перед большой группой людей, не обязательно участниками проекта – участвовать могут любые заинтересованные лица.  Демонстрация нацелена на то, что бы каждый мог как можно более быстро увидеть результаты своей работы и получить оценку других. Так же она является основой для  Scum  ретроспективы, которая в свою очередь нацелена на то, что бы сформировать базу для следующего спринта.
Отличительные черты  SCRUM & Agile  подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту
Основные цели введения  SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам
Что делать если группа не успевает? SCRUM  не разрешает  откладывать сроки окончания спринта! Удалите часть задач спринта – и заканчивайте оставшиеся задачи…
Положение в нашей фирме Спринты – 1 – 1,5 недели (что не есть хорошо, так как не позволяет самой группе разработки планировать свою работу и подготавливать демонстрацию). Частые переносы сроков окончания спринтов. Часть роли  Scrum  мастера (касаемо планирования) перенесена менеджера проекта, остальные аспекты - перенесены на опытных программистов. Отсутствие чётко сформулированных задач спринта (каждая задача может быть удобным стартом для парных программистов). Не участие программистов во временной оценке задач при составлении списка задач спринта.
Вопросы? ? Попрошу мнения « Yandex’ а» и « Google »   не озвучивать!

More Related Content

PDF
2008-04-15-scrum-from-custis-show
PDF
Что такое Scrum
PDF
Киев. Как внедрить SCRUM без трупов и остаться довольным
PDF
Использование YouTrack для работы команды по Scrum
PPTX
Agile/Scrum методологии разработки программного обеспечения
PPT
Введение в Scrum
PPT
Введение в Scrum
PDF
SCRUM - разработка без начальника
2008-04-15-scrum-from-custis-show
Что такое Scrum
Киев. Как внедрить SCRUM без трупов и остаться довольным
Использование YouTrack для работы команды по Scrum
Agile/Scrum методологии разработки программного обеспечения
Введение в Scrum
Введение в Scrum
SCRUM - разработка без начальника

What's hot (20)

PPT
PPTX
Введние в Scrum
PPTX
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
PPTX
Что делает Скрам Мастер на проекте
PDF
Презентация "Scrum с нуля" (2 часть)
PDF
методологии Agile, Scrum, Lean, BK
PDF
Agile scrum - гибкое управление проектами
PPT
Scrum intro
KEY
Обзор Agile - эволюция процессов
PDF
Презентация "Scrum с нуля"
PDF
Scrum! v1.1
KEY
Kanban vs Scrum – чьё кунг-фу сильнее
PDF
Практика внедрения Scrum (статья)
PDF
Гибкие методологии разработки ПО в реальном мире
PPT
2013 — nsk. тос
PPT
Вебинар: ИТ-проекты глазами Заказчика
PPTX
Инструменты гибкого управления: Agile / Kanban / Scrum
PPT
The Zen of Scrum - Russian
PPTX
Agile Testing Process
Введние в Scrum
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Что делает Скрам Мастер на проекте
Презентация "Scrum с нуля" (2 часть)
методологии Agile, Scrum, Lean, BK
Agile scrum - гибкое управление проектами
Scrum intro
Обзор Agile - эволюция процессов
Презентация "Scrum с нуля"
Scrum! v1.1
Kanban vs Scrum – чьё кунг-фу сильнее
Практика внедрения Scrum (статья)
Гибкие методологии разработки ПО в реальном мире
2013 — nsk. тос
Вебинар: ИТ-проекты глазами Заказчика
Инструменты гибкого управления: Agile / Kanban / Scrum
The Zen of Scrum - Russian
Agile Testing Process
Ad

Viewers also liked (20)

PDF
Agile: Что это такое и какая от него польза
PPT
Cкрам и канбан для самых маленьких
PDF
Как работает KANBAN
PDF
Kanban – легковесная эффективная agile методология для IT отдела
PDF
Agile explained
PDF
Agile планирование проекта
PPS
Scrum-Kanban-Scrumban
PPTX
Управление тестированием в Agile
PPT
Agile по русски- как это работает
PDF
Основы управления проектами
PDF
Основы разработки требований по К.Вигерсу
PDF
Проектный офис. культура управления проектами
PPT
Тенденции внедрения Agile в Украине
PDF
Прозрачность: что выделяет отличного менеджера среди хороших
PPTX
Природа организационных изминений
PDF
M3.0 Leadership Path Agenda
PDF
CSS по БЕМ
PPT
Agile в контексте большого менеджмента – тренды развития
PPTX
Как продать Agile заказчику
PDF
In Team We Trust: How to grow Trust in Agile teams.
Agile: Что это такое и какая от него польза
Cкрам и канбан для самых маленьких
Как работает KANBAN
Kanban – легковесная эффективная agile методология для IT отдела
Agile explained
Agile планирование проекта
Scrum-Kanban-Scrumban
Управление тестированием в Agile
Agile по русски- как это работает
Основы управления проектами
Основы разработки требований по К.Вигерсу
Проектный офис. культура управления проектами
Тенденции внедрения Agile в Украине
Прозрачность: что выделяет отличного менеджера среди хороших
Природа организационных изминений
M3.0 Leadership Path Agenda
CSS по БЕМ
Agile в контексте большого менеджмента – тренды развития
Как продать Agile заказчику
In Team We Trust: How to grow Trust in Agile teams.
Ad

Similar to Agile, SCRUM, Планирование – что в этом для программистов? (20)

PDF
Lovely scrum
PPTX
PPT
Проектирование_и_архитектура_ПС_2022_L04s.ppt
PPTX
Scrum framework
PDF
Александр Тупиков. Введение в Scrum
PDF
Разработка с элементами Agile и Scrum
PPTX
Scrum Basics
PPTX
Теория Agile, практика Scrum простым языком с кейсами
PDF
Краткое описание Scrum
PDF
Модуль 2: Лекция 11-12: Scrum - обзор фреймворка
PDF
Как готовить Scrum
PDF
PDF
Nfilippov. Something About Agile
PDF
PDF
Практика внедрения Scrum
PDF
2013.08.24 Антон Киселёв семинар "Agile (Scrum)"
PPTX
Agile Scrum Start / Старт используя Scrum
PPTX
Agile - гибкое управление проектами
PPTX
Введение в Agile
PDF
Общие темы. Тема 03.
Lovely scrum
Проектирование_и_архитектура_ПС_2022_L04s.ppt
Scrum framework
Александр Тупиков. Введение в Scrum
Разработка с элементами Agile и Scrum
Scrum Basics
Теория Agile, практика Scrum простым языком с кейсами
Краткое описание Scrum
Модуль 2: Лекция 11-12: Scrum - обзор фреймворка
Как готовить Scrum
Nfilippov. Something About Agile
Практика внедрения Scrum
2013.08.24 Антон Киселёв семинар "Agile (Scrum)"
Agile Scrum Start / Старт используя Scrum
Agile - гибкое управление проектами
Введение в Agile
Общие темы. Тема 03.

More from Fedor Malyshkin (9)

PPT
Monitoring and Load testing
ODP
XML Schema
PPT
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
PPT
Средства разработки web приложений (Web frameworks)
PPT
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
ODP
Документирование исходных текстов (javadoc)
ODP
Скриптовой язык Groovy и его применение в рамках разработки ПО
ODP
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
ODP
Борьба с ошибками (TDD)
Monitoring and Load testing
XML Schema
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Средства разработки web приложений (Web frameworks)
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Документирование исходных текстов (javadoc)
Скриптовой язык Groovy и его применение в рамках разработки ПО
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
Борьба с ошибками (TDD)

Agile, SCRUM, Планирование – что в этом для программистов?

  • 1. Agile, SCRUM, Планирование – что в этом для программистов? Малышкин Фёдор ( [email_address] ) 30 ноября 2007
  • 2. Введение Разве не естественно знать как распределяется Ваше время? На основании чего распределяются заданий? И почему после всех приложенных усилий оказывается, что проект не укладывается в сроки? Разве не хочется принять участие в данном процессе – в процессе планирования?
  • 3. Терминология Agile development – подход к разработке программного обеспечения, который среди прочего учитывает такие аспекты как: изменяемость условий, короткие пути между идеей и разработкой и упрощённые процессы общения. Планирование – попытка плавно подойти к сроку сдачи проекта с готовым продуктом и минимум пролитой крови. SCRUM – попытка объединить два предыдущих пункта данного глоссария для получения максимума из того минимума времени, что выдаётся на проект. Является конкретным продуктом Agile подхода. Про Agile дальше упоминаться будет всё меньше и меньше….
  • 4. SCRUM в регби
  • 5. SCRUM в разработке ПО
  • 6. Отличительные черты SCRUM & Agile подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту («Автора!!!»)
  • 7. Основные цели введения SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам
  • 8. Внимание!!! В нашей фирме используется комбинированный подход к планированию: часть SCRUM, часть классического проектирования. Нет чётко выделенных ролей – они размыты между многими людьми, а иногда один человек объединяет несколько ролей. Данное замечание – предназначено для того, что бы не было замечаний, что у нас применяется не «чистый» SCRUM.
  • 9. Основные понятия SCRUM SCRUM основан на таком понятии как Sprint – сфокусированные усилия группа на небольшой участок времени (неделя, 2 недели, но обычно не более месяца)
  • 10. Основные понятия SCRUM Владелец проекта – собирает общие требования к проекту и приоритизирует будущий функционал ( своего рода «адвокат дьявола» для группы разработки ) . Заказы проекта ( project backlog ) – результат работы владельца проекта. Это список задач с расставленными приоритетами, из которых самые приоритетные попадают в… Заказы Sprint’ а (sprint backlog) – список задач для реализации в рамках ближайшего спринта. Scrum группа – группа разработчиков (программисты, дизайнеры, тренеры), которые совместно с владельцем проекта, обсуждают заказы Sprint’a , разбивают его атомарные задачи. Группы обычно самоорганизуемы и каждый обладает определённой ответственностью за взятые на себя атомарные задачи.
  • 11. Основные понятия SCRUM Scrum мастер ( Scrum master ) – производит постоянную тренировку команды, устраняет препятствия для реализации задач, фиксированных для данного Sprint’ а. Каждый спринт предназначен для повышения ценности продукта для бизнеса, добавления нового функционала и улучшения того, что может быть предоставлено конечному заказчику.
  • 12. Роли Scrum группа – группа, производящая фактическую работу по реализации функционала спринта. Количество людей в группе в среднем составляет 5-9 человек, что по данным анализов и исследований является наиболее эффективным количеством для реализации подобного рода задач. Группа людей самостоятельно определяет задачи для себя, сама решает с кем данная задача может быть распределена и в какие сроки решена. В группе нет заранее предопределённых ролей (программист, дизайнер, архитектор) – каждый в праве взять на себя какую пожелает роль. Таким образом каждый может быть экспертом какой-то области.
  • 13. Роли Владелец продукта – является представителем заказчика и следит за тем, что бы группа работала в правильном направлении в области бизнес требований. Следит за актуальностью задач проекта и корректирует его в случае изменения требований. Документ или ресурс с текущим состоянием списка должен быть доступен рамках всей организации и особенно группы.
  • 14. Роли Scrum мастер – является своего образа тренером, контроллёром проекта и человеком находящимся в курсе всего проекта. Основная его обязанность это следить за фокуссировкой усилий разработчиков над проектом. Фокус нацелен на то, что бы достигнуть конечную дату спринта с зафиксированными для спринта целями. После каждого спринта им производится так называемая « Sprint ретроспектива» - рассмотрение принятых решений и достигнутых целей. Цель – повысить знание всех участников проекта о состоянии работы, повысить общий уровень знания и опыта.
  • 15. Процесс Создание списка задач проекта – владелец продукта производит сбор требований к продукту, которые являются основными для нового продукта (требования, change-request’ ы, новый функционал и баги) . Расстановка приоритетов - владелец продукта расставляет приоритеты для продукта. Расставляет последовательность, в которой данные задачи должны быть реализованы. Определение времени на реализацию – Scrum группа собирается вместе с Scrum мастером и производит анализ первоочередных задач: разделяет их на атомарные задачи и прогнозирует время. Когда задач будет достаточно для первого спринта – формируется список задач спринта и процесс прекращается.
  • 16. Процесс Закрепление задач и старт спринта – список задач спринта «замораживается» и команда приступает к работе. Ежедневные Scrum’ ы – каждый день в одно и то же время Scrum мастер и Scrum группа встречаются. Цель – устранить препятствия в работе. Каждый участник должен ответить в той или иной форме на 3 вопроса: Что ты сделал со времени последней встречи? Что ты намерен сделать до следующей встречи? Есть ли что-либо, что препятствует тому, что ты задумал? Первые два вопроса предназначены для того, что бы все участники были в курсе развития проекта. Последний вопрос предназначен для определения возможных проблем с продвижением работы.
  • 17. Процесс Главное в высказывании проблемы – чётко описать проблему и высказать предложение о возможном решении (если конечно идеи о решении есть). Каждый может принимать участие в ежедневном Scrum’ е, но только участники Scrum команды и Scrum мастер могут иметь право голоса.
  • 18. Демонстрация Каждый спринт заканчивается демонстрацией, перед большой группой людей, не обязательно участниками проекта – участвовать могут любые заинтересованные лица. Демонстрация нацелена на то, что бы каждый мог как можно более быстро увидеть результаты своей работы и получить оценку других. Так же она является основой для Scum ретроспективы, которая в свою очередь нацелена на то, что бы сформировать базу для следующего спринта.
  • 19. Отличительные черты SCRUM & Agile подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту
  • 20. Основные цели введения SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам
  • 21. Что делать если группа не успевает? SCRUM не разрешает откладывать сроки окончания спринта! Удалите часть задач спринта – и заканчивайте оставшиеся задачи…
  • 22. Положение в нашей фирме Спринты – 1 – 1,5 недели (что не есть хорошо, так как не позволяет самой группе разработки планировать свою работу и подготавливать демонстрацию). Частые переносы сроков окончания спринтов. Часть роли Scrum мастера (касаемо планирования) перенесена менеджера проекта, остальные аспекты - перенесены на опытных программистов. Отсутствие чётко сформулированных задач спринта (каждая задача может быть удобным стартом для парных программистов). Не участие программистов во временной оценке задач при составлении списка задач спринта.
  • 23. Вопросы? ? Попрошу мнения « Yandex’ а» и « Google » не озвучивать!