Dream-Land.by 
Вход
  Поиск  
Програмирование
Agile, scrum, kanban. Методолии в управлении IT-проектам. В чем разница?
  Посмотрели 68 раз(а)    
 Agile, scrum, kanban. Методолии в управлении IT-проектам. В чем разница? 
последнее обновление: 10 января 2019
Описание с Википедии:
Agile — семейство процессов разработки, а не единственный подход в разработке программного обеспечения, и определяется Agile Manifesto. Agile не включает практик, а определяет ценности и принципы, которыми руководствуются команды.

Agile Manifesto (ценности и принципы, которыми руководствуются команды):

Основные идеи:
• люди и взаимодействие важнее процессов и инструментов;
• работающий продукт важнее исчерпывающей документации;
• сотрудничество с заказчиком важнее согласования условий контракта;
• готовность к изменениям важнее следования первоначальному плану.

Принципы, которые разъясняет Agile Manifesto:
• удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
• приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
• частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
• тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
• проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
• рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
• работающее программное обеспечение — лучший измеритель прогресса;
• спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
• постоянное внимание улучшению технического мастерства и удобному дизайну;
• простота — искусство не делать лишней работы;
• лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
• постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Scrum
Методология SCRUM, едва успев появиться, совершила настоящую революцию в мире IT.
Именно SCRUM положил начало таким гигантам как Microsoft, Google, Amazon, Salesforce.com.

SCRUM (SCRibing Unified Methodology) - это набор принципов на которых строится процесс SCRUM-разработки, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающий продукт с новыми бизнес-возможностями, для которых определен наибольший приоритет.

Методология основана на тактике бега на короткие дистанции (спринта).

Задачи для реализации в спринте определяются в начале спринта на совещании для планирования задач (Sprint Planning Meeting) методом Planning Poker (задачи не могут меняться на всем протяжении спринта).
Фиксированная небольшая длительность спринта придает процессу разработки предсказуемость и гибкость.

Спринт - итерация в скраме, в ходе которой создается инкремент бизнес-продукта. Жестко фиксирован по времени.
Длительность одного спринта от 1 до 4 недель.
Чем короче спринт, тем более гибким является процесс разработки, релизы выходят чаще, быстрее поступают отзывы от потребителя, меньше времени тратится на работу в неправильном направлении.

Разные команды подбирают длину спринта согласно специфике своей работы, кросс-функциональности команд и требований, часто методом проб и ошибок.
Для оценки объема работ в спринте можно использовать предварительную оценку, измеряемую в очках истории.
Предварительная оценка длины спринта фиксируется в бэклоге проекта.

Артефакты SCRUM:
Диаграмма сгорания задач (Burndown chart) - Диаграмма, демонстрирующая количество сделанной и оставшейся работы относительно времени на разработку проекта.
Данные диаграммы необходимо ежедневно обновлять, чтобы в реальном времени показывать подвижки и издержки в работе над спринтом и проектом, доступные для всех членов SCRUM-команды: скрам-мастера и скрам-владельца продукта.
Диаграмма сгорания работ для спринта — показывает, сколько задач сделано и сколько еще остается сделать в текущем спринте.
Журнал пожеланий проекта (Project backlog) — это список требований к функциональности, упорядоченный по их степени важности, подлежащих реализации. Элементы этого списка называются пользовательскими историями (user story) или элементами беклога (backlog items). Журнал пожеланий проекта открыт для редактирования для всех участников скрам-процесса. Project backlog ведется SCRUM Product Owner.
Журнал пожеланий спринта (Sprint backlog) — содержит функциональность, выбранную владельцем продукта из журнала пожеланий проекта. Все разбито по задачам, каждая из которых оценивается скрам-командой. На Sprint Planning Meeting команда оценивает объем работы, который нужно проделать для завершения спринта методом Planning Poker (задачи не могут меняться на всем протяжении sprint).
Канбан-доска Канбан-доска должна состоять как минимум из трех колонок: «сделать» (англ. to-do), «в процессе» (in progress), «сделано»(done). При разработке ПО SCRUM канбан-доска обычно включает следующие колонки в соответствии со статусом задач: обсуждается (backlog), согласовано (ready), кодируется (coding), тестируется (testing), подтверждается (approval) и сделано (done). На доску в соответствующий столбец прикрепляются канбан-карточки[26]. Вместо специальных канбан-карточек, которые обычно обозначают потребность или пропускную способность, вместе с доской используются магниты, пластиковые фишки, цветные шайбы или стикеры для представления рабочих элементов и процессов. Каждый из этих объектов представляет собой этап производственного процесса и движется по доске, по мере прогресса. Такое движение соответствует движению SCRUM-процесса производства по Burndown Chart сверху вниз. Часто используется электронная Канбан-доска.
Цель спринта (Sprint Goal). Это краткое описание бизнес-цели, ради которой выполняется данный спринт. Цель на спринт помогает команде принимать бизнес-обоснованные решения. Этот артефакт необходим для того, чтобы команда проекта могла самостоятельно принимать решение в случае появления альтернативных путей решения бизнес-задачи.
История спринта (Sprint Story). Требуемую бизнес-функциональность, которую добавляют в бэклог, часто называют историей. Зачастую история имеет следующую структуру: «Будучи пользователем <тип пользователя> я хочу сделать <действие>, чтобы получить <результат>». Такая структура удобна тем, что понятна как разработчикам, так и заказчикам.
Остановка спринта (Abnormal Termination). Остановка спринта может быть произведена раньше срока его планового окончания в исключительных ситуациях. Спринт может остановить команда, если понимает, что не может достичь цели спринта в отведенное время. Спринт может остановить скрам мастер или владелец продукта, если исчезает необходимость в реализации цели спринта. После этого начинается новый спринт.
Задачи истории спринта (Sprint Story Tasks). Добавляются к историям спринта. Выполнение каждой задачи оценивается в часах. Каждая задача не должна превышать 12 часов (зачастую команда настаивает, чтобы максимальная продолжительность задачи равнялась одному рабочему дню).
Скорость скрам-команды (Velocity). Общее количество очков, набранных скрам-командой за предыдущий спринт. Данная метрика помогает команде понять, сколько историй она может сделать за один спринт.

Совещания (ритуалы SCRUM)
В начале спринта SCRUM Product Owner вносит в Product Backlog новые User Story и удаляет сделанные. Затем проводятся совещания.

Планирование спринта (Sprint Planning Meeting)
Происходит в начале новой итерации Спринта.
• Из бэклога проекта выбираются задачи, обязательства по выполнению которых за спринт принимает на себя команда;
• На основе выбранных задач создается бэклог спринта. Каждая задача оценивается в идеальных человеко-часах;
• Решение задачи не должно занимать более 12 часов или одного дня. При необходимости задача разбивается на подзадачи;
• Обсуждается и определяется, каким образом будет реализован этот объем работ;
• Продолжительность митинга ограничена сверху 8 часами в зависимости от продолжительности спринта, опыта команды и т. п.
• (первая часть совещания) Участвуют скрам-мастер, владелец продукта и скрам команда: выбирают задачи из бэклога продукта;
• (вторая часть совещания) Участвует только скрам-команда: обсуждают технические детали реализации, наполняют бэклог спринта.

Покер планирования (Planning Poker)
Покер планирования (Planning Poker, а также англ. Scrum poker) — техника оценки, основанная на достижении договоренности, главным образом используемая для оценки сложности предстоящей работы или относительного объема решаемых задач при разработке программного обеспечения.

Planning Poker проводится на Sprint Planning Meeting.
Для проведения покера планирования необходимо подготовить список обсуждаемых функций и несколько колод пронумерованных карт. Колода карт содержит карты 0, ?, 1, 2, 3, 5, 8, 13, 20, 40, 100, «?», «Чашка кофе». Знак вопроса означает, что «игрок» не понял до конца смысл обсуждаемого или не обладает достаточной информацией, чтобы оценить ее. Чашка кофе, в свою очередь, означает «Я устал, давайте передохнем».

Каждому участнику обсуждения выдается по одной колоде карт. Все колоды идентичны друг другу.

Участники выбирают по одной карте и кладут их рубашкой вверх, показывая таким образом, что выбор сделан. Числовые достоинства карт могут использоваться по-разному: они могут означать количество дней, наиболее подходящие дни или относительные единицы сложности (англ. story points). Каждый участник называет свою карту и переворачивает ее.

Ежедневное стоячее SCRUM-совещание (Daily SCRUM)
• начинается в одно и то же время в одном месте;
• все могут наблюдать, но только «свиньи» говорят;
• в митинге участвуют SCRUM Master, SCRUM Product Owner и SCRUM Team;
• длится ровно 15 минут;
• все участники во время Daily SCRUM стоят (митинг в формате Daily Standup).

SCRUM-мастер задает каждому члену SCRUM-команды 3 вопроса:
• Что я сделал с момента прошлой встречи для того, чтобы помочь Команде Разработки достигнуть Цели Спринта?
• Что я сделаю сегодня для того, чтобы помочь Команде Разработки достичь Цели Спринта?
• Вижу ли я препятствия для себя или Команды Разработки, которые могли бы затруднить достижение Цели Спринта? (Над решением этих проблем методом фасилитации работает скрам мастер. Обычно это решение проходит за рамками ежедневного совещания и в составе лиц, непосредственно затронутых данным препятствием.)



Другой источник:
Agile
В основе идеи Agile лежал отказ от долгосрочного планирования в пользу динамичного формирования задач и возможности вносить изменения в любой момент, как только того потребует рынок в лице конечных потребителей или заказчиков продукта. Идея «гибкого» менеджмента на рубеже 20-21 веков стала настолько актуальной и востребованной, что пришло время оформить её в виде свода ценностей и принципов.
Scrum
Ориентирование на актуальные потребности меняющегося рынка предполагает логичное решение в виде создания канала (-ов) получения обратной связи от потребителя или заказчика. Для полноты информации желательно настраивать такой канал, по которому будут приходить не абстрактные рассуждения, а отклики на практическое использование продукта. Чем чаще отклики будут приходить, тем тоньше и точнее получится настройка конечного продукта.

В этом смысле не обязательно тестировать полностью законченный продукт. Если есть возможность, лучше проверять каждую отдельную доделанную часть. Так как проект разбивается на элементы, для выполнения работы по каждому элементу достаточно небольшой рабочей группы. А поскольку динамика взаимодействия при работе по такой схеме возрастает, рабочие группы должны уметь самоорганизовываться в стиле Agile. То есть, у участников процесса образ мысли и система ценностей должны совпадать с этой идеологией.
Подобная логика приводит к созданию универсальной Agile-модели со следующими характеристиками:

1) Вся работа над проектом разделяется на короткие этапы – итерации (в Scrum, например, такие этапы называются «спринтами»). За время одной итерации нужно успеть выпустить продукт, который можно тестировать и получать отклики от потребителей (технический модуль, приложение, локальную услугу – например, востребованность кофемашины в булочной и т. д.).

2) Любые замечания или требования рынка фиксируются и входят в список требований на следующую итерацию. То есть, план составляется по ходу создания продукта. Подобные этапы цикличны и возобновляются до тех пор, пока не исчерпается список требований.

3) Чтобы было удобно фиксировать требования рынка они, как правило, приводятся к единому формату (в Scrum – это «пользовательские истории») и размещаются на информационных площадках (досках).

4) Чем эффективнее и достовернее каналы связи с потребителями, тем выше вероятность получения исчерпывающей информации. Множественные эксперименты дают более злободневные данные о продукте и о клиенте. Причём, каждая значимая поправка добавляет полезность, а, значит, и ценность конечному продукту. (За поддержание такой связи с заказчиком и создание ценности в Scrum отвечает специальный «персонаж» – т. н. «Владелец проекта»). А ориентированность на клиента – это ключевая ценность философии Agile.


habr источник
В чем разница между Scrum и Kanban?
Основу Scrum составляют короткие итерации или спринты, как правило, 2-3-х недельные. Перед началом спринта команда сама формирует список фич на итерацию, далее запускается спринт.

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

На Kanban мы посмотрим там, где он и возник. Представьте себе конвейер, на котором делают детали для машин Toyota. Есть станок, он делает зеркала для машин. Он умеет делать левые зеркала, правые зеркала, задние и зеркала для солнцезащитного козырька. Принцип прост: нажми на кнопку, поменяй режим — получи новую продукцию.

Вот вы заказываете в Москве на Кутузовском новую Toyota Camry на «максималке», и для вас уже делают зеркала в козырьке (вы выбрали «максималку» как раз из-за зеркал в козырьке). Важный момент тут — мы можем менять приоритеты в любой момент. Мы очень быстро можем переключать станок в другой режим.

Основная разница между Scrum и Канбан — в длине итераций. В Scrum итерации — 2 недели, в Kanban задачи программисту можно «подсовывать» хоть каждый день.

Kanban дает больше гибкости, если под гибкостью понимать частоту смены приоритетов. Вчера вы залили на прод новую фичу, а сегодня получили данные с передовой и узнали, что вот эта штука не работает так, как было задумано — люди не нажимают кнопку «купить». Вы «даете по шапке» UX, он дает вам новые требования. Вы поднимаете наверх очереди эту задачу, программист берет эту задачу «сверху», выполняет ее и, к вечеру fix уже на проде, конверсия в платежи выросли на 12%. Это победа.


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

К отдельным agile-подходам относятся scrum и kanban.
Scrum – это «подход структуры». Над каждым проектом работает универсальная команда специалистов, к которой присоединяется еще два человека: владелец продукта и scrum-мастер. Первый соединяет команду с заказчиком и следит за развитием проекта; это не формальный руководитель команды, а скорее куратор. Второй помогает первому организовать бизнес-процесс: проводит общие собрания, решает бытовые проблемы, мотивирует команду и следит за соблюдением scrum-подхода.

Scrum-подход делит рабочий процесс на равные спринты – обычно это периоды от недели до месяца, в зависимости от проекта и команды. Перед спринтом формулируются задачи на данный спринт, в конце – обсуждаются результаты, а команда начинает новый спринт. Спринты очень удобно сравнивать между собой, что позволяет управлять эффективностью работы.
Kanban – это «подход баланса». Его задача – сбалансировать разных специалистов внутри команды и избежать ситуации, когда дизайнеры работают сутками, а разработчики жалуются на отсутствие новых задач.

Вся команда едина – в kanban нет ролей владельца продукта и scrum-мастера. Бизнес-процесс делится не на универсальные спринты, а на стадии выполнения конкретных задач: «Планируется», «Разрабатывается», «Тестируется», «Завершено» и др.

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

Для визуализации agile-подходов используют доски: физические и электронные. Они позволяют сделать рабочий процесс открытым и понятным для всех специалистов, что важно, когда у команды нет одного формального руководителя.
Ваши Отзывы ... комментарии...
   
Вашe имя:
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Картинки

  Языки программирования и другое  

Тема: 'HTML'
Html & CSS

Тема: 'JS'
JavaScript
jQuery - библиотека для удобной работы с JavaScript
Three.js - библиотека для отображения графики 3D в JavaScript
prototype.js - библиотека для удобного написания классов и наследования в JavaScript

Тема: 'Графика, таблицы, диалоги и многое другое. WEB страница'
Bootstrap - кнопки, меню, диалог, slider ... Контейнеры для размещения элементов
jQuery UI - кнопки, меню, диалог, slider, spinner и так далее. Эфекты: растягивание, перетаскивание и так далее
jq Plot - диаграммы, графические линии
Kendo UI - редактор текста, excell редактор, chart и так далее

Тема: 'JavaScript технологии'
Node.js (это web сервер исполняющий js файлы)
React.js
Angular

Тема: 'SQL база данных'
Microsoft SQL Server (база данных)
SQL (язык запросов в базе данных)

Тема: 'Работа с базой данных на C#'
ADO.NET (работа с базой данных на C#)
Entity Framework (работа с базой данных на C#)
LINQ to SQL (работа с базой данных на C#)

Тема: 'Microsoft C# и .NET'
C# (язык программирования)
Managed C++ (переходный код между C++ и C#)
Windows Forms (отдельное приложение exe файл)
WPF. Windows Presentation Foundation (отдельное приложение exe файл)
ASP.NET Web Forms (web сайт на aspx страницах). Это устаревшая технология!
ASP.NET MVC (web сайт на архитектуре Model-View-Controller)
.NET Core
ASP.NET Core
Web API (веб-служба работающая по протоколу HTTP)
Windows Communication Foundation (веб-служба работающая через интерфейсы)
Silverlight
Microsoft XNA
Xamarin (приложение на C# для iOS, Android, Windows Phone)
Собеседование (вопросы и задания C# и платформа .NET)

Тема: 'Unit тестирование'
Юнит тестирование (MSTest, NUnit, xUnit, Moq)

Тема: 'Автоматизированное тестирование'
Selenium WebDriver (для автоматизированного тестирования веб-приложений)

Тема: 'Рефакторинг & Паттерны'
Рефакторинг кода
Паттерны (шаблоны) проектирования

Тема: 'Методологии управления проектами'
Agile, scrum, kanban. Методолии в управлении IT-проектам. В чем разница?

Тема: 'Git'
Git Extensions  &  GitHub.com

Тема: 'Математические алгоритмы'
Массивы, графы (математические алгоритмы)

Тема: 'CI/CD'
CI/CD (Continuous Integration, Continuous Deployment, Continuous Delivery)

Тема: 'Разработка игр'

Тема: 'Технологии для написания игр'
MonoGame - разработка 2D игр на C# для Android, iOS, Windows
Unity - разработка 3D игр на C# для Android, iOS, Windows
LibGDX - разработка игр на Java для Android
Разработка игр на HTML5, CSS3, Javascript для Android

Тема: 'WEB сайт'
Создание Web сайта и управление (регистрация сайта, копирование файлов на сайт, сохранение базы данных)
Yandex сервисы для Web сайта (счетчик посещений, карта улиц, переводчик языков, контекстная реклама, ...)
Google сервисы для Web сайта
Продвижение WEB сайта

Тема: 'Языки программирования'
PHP (язык программирования для быстрого написания Web сайта)
Java
Python
C++

Тема: 'Интернет браузеры'
Интернет браузер "Google Chrome"

Тема: 'WEB сервер'
Что такое WEB сервер ?

Тема: 'bat файлы'
.bat файл (команды)

Тема: 'Операционные Системы'
Windows (операционная система для персональных компьютеров)
Android (операционная система для телефонов, планшетов)
iOS (операционная система для iPhone телефонов, iPad планшетов, MacBook ноутбуков)

Тема: 'Программы для разработки (интегрированные среды для разработки IDE)'
Visual Studio (интегрированная среда разработки) работает в Windows и macOS. Для написания программ на C#, С++
Открываем Visual Studio
Удаляем и устанавливаем NuGet в Visual Studio
Visual Studio Code (редактор кода) работает в Windows, macOS, Linux. Для написания программ на JavaScript, Perl, Python, Java, C#

Тема: 'Компьютерная платформа (процессор)'
x86 процессоры
ARM процессоры

Тема: 'Распознавание картинки в текст'
Распознать (перевести) картинку в текст (ONLINE)

Тема: 'Рисуем картинки, видео'
Рисуем карандашом (животных, машинки, сказочных героев)
Рисование в CorelDraw
Видео (редактирование, создание)
Делаем животных, цветочки из длинного шарика ШДМ

Тема: 'PDF to word, images'
Convert PDF to Word (online)
Convert FB2 to PDF (online)

Тема: 'Регулярные выражения'
Регулярные выражения (проверить онлайн)

Тема: 'Резюме (как найти работу)'
Как написать резюме, причины перехода на другую работу
Объявления
 

Концерты, выставки
Спортивные занятия
Детские центры
Кино
Книги
Бесплатные объявления
Праздники
Скидки в магазинах Минска
Домашние животные
Программирование и технологии
Игра
Путешествия
Форум (обсуждение)
vsedetkam.by для детей
Архив Евровидений

Ваши вопросы, предложения присылайте по почте: info@dream-land.by
Яндекс.Метрика