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

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

Published on June 25, 2008

Author: fedor.malyshkin

Source: slideshare.net

Description

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

Agile, SCRUM, Планирование – что в этом для программистов? Малышкин Фёдор ( [email_address] ) 30 ноября 2007

Введение Разве не естественно знать как распределяется Ваше время? На основании чего распределяются заданий? И почему после всех приложенных усилий оказывается, что проект не укладывается в сроки? Разве не хочется принять участие в данном процессе – в процессе планирования?

Разве не естественно знать как распределяется Ваше время?

На основании чего распределяются заданий?

И почему после всех приложенных усилий оказывается, что проект не укладывается в сроки?

Разве не хочется принять участие в данном процессе – в процессе планирования?

Терминология Agile development – подход к разработке программного обеспечения, который среди прочего учитывает такие аспекты как: изменяемость условий, короткие пути между идеей и разработкой и упрощённые процессы общения. Планирование – попытка плавно подойти к сроку сдачи проекта с готовым продуктом и минимум пролитой крови. SCRUM – попытка объединить два предыдущих пункта данного глоссария для получения максимума из того минимума времени, что выдаётся на проект. Является конкретным продуктом Agile подхода. Про Agile дальше упоминаться будет всё меньше и меньше….

Agile development – подход к разработке программного обеспечения, который среди прочего учитывает такие аспекты как: изменяемость условий, короткие пути между идеей и разработкой и упрощённые процессы общения.

Планирование – попытка плавно подойти к сроку сдачи проекта с готовым продуктом и минимум пролитой крови.

SCRUM – попытка объединить два предыдущих пункта данного глоссария для получения максимума из того минимума времени, что выдаётся на проект. Является конкретным продуктом Agile подхода.

Про Agile дальше упоминаться будет всё меньше и меньше….

SCRUM в регби

SCRUM в разработке ПО

Отличительные черты SCRUM & Agile подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту («Автора!!!»)

Упрощённые методы планирования сложных процессов

В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время…

В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним.

Всё направляется на взаимодействие людей, а не на использование технологий.

Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества).

Проектирование по - контракту («Автора!!!»)

Основные цели введения SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам

Принятие новых требование более оперативно, чем с классическими подходами к планированию.

Повышение мотивации участников проекта (спросите автора!!!)

Повышение взаимодействия между заказчиком и исполнителем

Введение новой культуры лидерства, путём изменения ролей в процессе разработки

Передача части ответственности с менеджера проекта конечным разработчикам

Внимание!!! В нашей фирме используется комбинированный подход к планированию: часть SCRUM, часть классического проектирования. Нет чётко выделенных ролей – они размыты между многими людьми, а иногда один человек объединяет несколько ролей. Данное замечание – предназначено для того, что бы не было замечаний, что у нас применяется не «чистый» SCRUM.

В нашей фирме используется комбинированный подход к планированию: часть SCRUM, часть классического проектирования. Нет чётко выделенных ролей – они размыты между многими людьми, а иногда один человек объединяет несколько ролей.

Данное замечание – предназначено для того, что бы не было замечаний, что у нас применяется не «чистый» SCRUM.

Основные понятия SCRUM SCRUM основан на таком понятии как Sprint – сфокусированные усилия группа на небольшой участок времени (неделя, 2 недели, но обычно не более месяца)

SCRUM основан на таком понятии как Sprint – сфокусированные усилия группа на небольшой участок времени (неделя, 2 недели, но обычно не более месяца)

Основные понятия SCRUM Владелец проекта – собирает общие требования к проекту и приоритизирует будущий функционал ( своего рода «адвокат дьявола» для группы разработки ) . Заказы проекта ( project backlog ) – результат работы владельца проекта. Это список задач с расставленными приоритетами, из которых самые приоритетные попадают в… Заказы Sprint’ а (sprint backlog) – список задач для реализации в рамках ближайшего спринта. Scrum группа – группа разработчиков (программисты, дизайнеры, тренеры), которые совместно с владельцем проекта, обсуждают заказы Sprint’a , разбивают его атомарные задачи. Группы обычно самоорганизуемы и каждый обладает определённой ответственностью за взятые на себя атомарные задачи.

Владелец проекта – собирает общие требования к проекту и приоритизирует будущий функционал ( своего рода «адвокат дьявола» для группы разработки ) .

Заказы проекта ( project backlog ) – результат работы владельца проекта. Это список задач с расставленными приоритетами, из которых самые приоритетные попадают в…

Заказы Sprint’ а (sprint backlog) – список задач для реализации в рамках ближайшего спринта.

Scrum группа – группа разработчиков (программисты, дизайнеры, тренеры), которые совместно с владельцем проекта, обсуждают заказы Sprint’a , разбивают его атомарные задачи. Группы обычно самоорганизуемы и каждый обладает определённой ответственностью за взятые на себя атомарные задачи.

Основные понятия SCRUM Scrum мастер ( Scrum master ) – производит постоянную тренировку команды, устраняет препятствия для реализации задач, фиксированных для данного Sprint’ а. Каждый спринт предназначен для повышения ценности продукта для бизнеса, добавления нового функционала и улучшения того, что может быть предоставлено конечному заказчику.

Scrum мастер ( Scrum master ) – производит постоянную тренировку команды, устраняет препятствия для реализации задач, фиксированных для данного Sprint’ а.

Каждый спринт предназначен для повышения ценности продукта для бизнеса, добавления нового функционала и улучшения того, что может быть предоставлено конечному заказчику.

Роли Scrum группа – группа, производящая фактическую работу по реализации функционала спринта. Количество людей в группе в среднем составляет 5-9 человек, что по данным анализов и исследований является наиболее эффективным количеством для реализации подобного рода задач. Группа людей самостоятельно определяет задачи для себя, сама решает с кем данная задача может быть распределена и в какие сроки решена. В группе нет заранее предопределённых ролей (программист, дизайнер, архитектор) – каждый в праве взять на себя какую пожелает роль. Таким образом каждый может быть экспертом какой-то области.

Scrum группа – группа, производящая фактическую работу по реализации функционала спринта. Количество людей в группе в среднем составляет 5-9 человек, что по данным анализов и исследований является наиболее эффективным количеством для реализации подобного рода задач.

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

В группе нет заранее предопределённых ролей (программист, дизайнер, архитектор) – каждый в праве взять на себя какую пожелает роль. Таким образом каждый может быть экспертом какой-то области.

Роли Владелец продукта – является представителем заказчика и следит за тем, что бы группа работала в правильном направлении в области бизнес требований. Следит за актуальностью задач проекта и корректирует его в случае изменения требований. Документ или ресурс с текущим состоянием списка должен быть доступен рамках всей организации и особенно группы.

Владелец продукта – является представителем заказчика и следит за тем, что бы группа работала в правильном направлении в области бизнес требований.

Следит за актуальностью задач проекта и корректирует его в случае изменения требований.

Документ или ресурс с текущим состоянием списка должен быть доступен рамках всей организации и особенно группы.

Роли Scrum мастер – является своего образа тренером, контроллёром проекта и человеком находящимся в курсе всего проекта. Основная его обязанность это следить за фокуссировкой усилий разработчиков над проектом. Фокус нацелен на то, что бы достигнуть конечную дату спринта с зафиксированными для спринта целями. После каждого спринта им производится так называемая « Sprint ретроспектива» - рассмотрение принятых решений и достигнутых целей. Цель – повысить знание всех участников проекта о состоянии работы, повысить общий уровень знания и опыта.

Scrum мастер – является своего образа тренером, контроллёром проекта и человеком находящимся в курсе всего проекта.

Основная его обязанность это следить за фокуссировкой усилий разработчиков над проектом. Фокус нацелен на то, что бы достигнуть конечную дату спринта с зафиксированными для спринта целями.

После каждого спринта им производится так называемая « Sprint ретроспектива» - рассмотрение принятых решений и достигнутых целей. Цель – повысить знание всех участников проекта о состоянии работы, повысить общий уровень знания и опыта.

Процесс Создание списка задач проекта – владелец продукта производит сбор требований к продукту, которые являются основными для нового продукта (требования, change-request’ ы, новый функционал и баги) . Расстановка приоритетов - владелец продукта расставляет приоритеты для продукта. Расставляет последовательность, в которой данные задачи должны быть реализованы. Определение времени на реализацию – Scrum группа собирается вместе с Scrum мастером и производит анализ первоочередных задач: разделяет их на атомарные задачи и прогнозирует время. Когда задач будет достаточно для первого спринта – формируется список задач спринта и процесс прекращается.

Создание списка задач проекта – владелец продукта производит сбор требований к продукту, которые являются основными для нового продукта (требования, change-request’ ы, новый функционал и баги) .

Расстановка приоритетов - владелец продукта расставляет приоритеты для продукта. Расставляет последовательность, в которой данные задачи должны быть реализованы.

Определение времени на реализацию – Scrum группа собирается вместе с Scrum мастером и производит анализ первоочередных задач: разделяет их на атомарные задачи и прогнозирует время. Когда задач будет достаточно для первого спринта – формируется список задач спринта и процесс прекращается.

Процесс Закрепление задач и старт спринта – список задач спринта «замораживается» и команда приступает к работе. Ежедневные Scrum’ ы – каждый день в одно и то же время Scrum мастер и Scrum группа встречаются. Цель – устранить препятствия в работе. Каждый участник должен ответить в той или иной форме на 3 вопроса: Что ты сделал со времени последней встречи? Что ты намерен сделать до следующей встречи? Есть ли что-либо, что препятствует тому, что ты задумал? Первые два вопроса предназначены для того, что бы все участники были в курсе развития проекта. Последний вопрос предназначен для определения возможных проблем с продвижением работы.

Закрепление задач и старт спринта – список задач спринта «замораживается» и команда приступает к работе.

Ежедневные Scrum’ ы – каждый день в одно и то же время Scrum мастер и Scrum группа встречаются. Цель – устранить препятствия в работе. Каждый участник должен ответить в той или иной форме на 3 вопроса:

Что ты сделал со времени последней встречи?

Что ты намерен сделать до следующей встречи?

Есть ли что-либо, что препятствует тому, что ты задумал?

Первые два вопроса предназначены для того, что бы все участники были в курсе развития проекта. Последний вопрос предназначен для определения возможных проблем с продвижением работы.

Процесс Главное в высказывании проблемы – чётко описать проблему и высказать предложение о возможном решении (если конечно идеи о решении есть). Каждый может принимать участие в ежедневном Scrum’ е, но только участники Scrum команды и Scrum мастер могут иметь право голоса.

Главное в высказывании проблемы – чётко описать проблему и высказать предложение о возможном решении (если конечно идеи о решении есть).

Каждый может принимать участие в ежедневном Scrum’ е, но только участники Scrum команды и Scrum мастер могут иметь право голоса.

Демонстрация Каждый спринт заканчивается демонстрацией, перед большой группой людей, не обязательно участниками проекта – участвовать могут любые заинтересованные лица. Демонстрация нацелена на то, что бы каждый мог как можно более быстро увидеть результаты своей работы и получить оценку других. Так же она является основой для Scum ретроспективы, которая в свою очередь нацелена на то, что бы сформировать базу для следующего спринта.

Каждый спринт заканчивается демонстрацией, перед большой группой людей, не обязательно участниками проекта – участвовать могут любые заинтересованные лица.

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

Так же она является основой для Scum ретроспективы, которая в свою очередь нацелена на то, что бы сформировать базу для следующего спринта.

Отличительные черты SCRUM & Agile подходов Упрощённые методы планирования сложных процессов В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время… В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним. Всё направляется на взаимодействие людей, а не на использование технологий. Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества). Проектирование по - контракту

Упрощённые методы планирования сложных процессов

В то время как старые методы направлены на сохранение курса – новые на выдачу результата, ценного для бизнеса, всё время…

В то время как условия изменяются всё более быстро и условия становятся всё более сложными – новые методы нацелены на адаптацию к ним.

Всё направляется на взаимодействие людей, а не на использование технологий.

Разработка-тестирование-выдача является основной линией работы (причём «тестирование» - не только отделом качества).

Проектирование по - контракту

Основные цели введения SCRUM Принятие новых требование более оперативно, чем с классическими подходами к планированию. Повышение мотивации участников проекта (спросите автора!!!) Повышение взаимодействия между заказчиком и исполнителем Введение новой культуры лидерства, путём изменения ролей в процессе разработки Передача части ответственности с менеджера проекта конечным разработчикам

Принятие новых требование более оперативно, чем с классическими подходами к планированию.

Повышение мотивации участников проекта (спросите автора!!!)

Повышение взаимодействия между заказчиком и исполнителем

Введение новой культуры лидерства, путём изменения ролей в процессе разработки

Передача части ответственности с менеджера проекта конечным разработчикам

Что делать если группа не успевает? SCRUM не разрешает откладывать сроки окончания спринта! Удалите часть задач спринта – и заканчивайте оставшиеся задачи…

SCRUM не разрешает откладывать сроки окончания спринта! Удалите часть задач спринта – и заканчивайте оставшиеся задачи…

Положение в нашей фирме Спринты – 1 – 1,5 недели (что не есть хорошо, так как не позволяет самой группе разработки планировать свою работу и подготавливать демонстрацию). Частые переносы сроков окончания спринтов. Часть роли Scrum мастера (касаемо планирования) перенесена менеджера проекта, остальные аспекты - перенесены на опытных программистов. Отсутствие чётко сформулированных задач спринта (каждая задача может быть удобным стартом для парных программистов). Не участие программистов во временной оценке задач при составлении списка задач спринта.

Спринты – 1 – 1,5 недели (что не есть хорошо, так как не позволяет самой группе разработки планировать свою работу и подготавливать демонстрацию).

Частые переносы сроков окончания спринтов.

Часть роли Scrum мастера (касаемо планирования) перенесена менеджера проекта, остальные аспекты - перенесены на опытных программистов.

Отсутствие чётко сформулированных задач спринта (каждая задача может быть удобным стартом для парных программистов).

Не участие программистов во временной оценке задач при составлении списка задач спринта.

Вопросы? ? Попрошу мнения « Yandex’ а» и « Google » не озвучивать!

?

Попрошу мнения « Yandex’ а» и « Google » не озвучивать!

Add a comment

Related presentations

Related pages

Re: [agilesoftwaredevelopment] Re: Программа ...

... Программа планирования по методике Scrum для ... что планирование Scrum не ... scrum в наших ...
Read more

Планирование и отслеживание ...

... что написано в этом абзаце ... итерации в Scrum с ... Для этого в ...
Read more

Что такое Scrum - Блог Романа ...

... (agile) методов. В ... При этом Scrum ... и только это дает уверенность в том, что ...
Read more

Re: Re[2]: [agilesoftwaredevelopment] Re ...

... Программа планирования по методике Scrum для ... что делает ... роль в этом ...
Read more

Что такое Scrum | Roman's knowledgebase

Home > Uncategorized > Что такое Scrum ... решений для команды в ... В этом митинге ...
Read more

Что еще нужно знать о Scrum ?

Идеальный «климат» для Scrum: ... что в Scrum ... при работе по Scrum – $9000. Конечно, в этом ...
Read more

Agile не чуждо планирование

... команды помочь мне в этом ... Планирование точно в ... что в Agile отсутствует ...
Read more

Scrum — Википедия

... который привел Scrum в ... Agile Software Development with SCRUM ... Что я сделаю сегодня для ...
Read more