ИнженерияЛабораторная №2
.docx
Цель работы: написать сравнения гибких Scrum и Kanban.
Ход работы
Введение
В основе, Kanban-а лежит очень простая идея. Количество незавершенной работы (НЗР) должно быть ограничено, и что-либо новое может начинаться только тогда, когда какой-то существующий кусок работы поставляется или – в терминах lean – вытягивается следующим элементом конвейера. Kanban (или сигнальная карточка) подразумевает, что производится некое визуальное оповещение о том, что можно "вытягивать" новую работу, так как текущий объем работ не равен принятым лимитам. На революцию это не тянет, также не похоже, что это может существенно повлиять на производительность, культуру, квалификацию и степень зрелости команды в частности и организации в целом.
Kanban – это подход к управлению изменениями. Это не методология разработки программного обеспечения, не жизненный цикл или процесс управления проектом. Kanban – это подход, который позволит привнести изменения в существующий жизненный цикл разработки программного обеспечения или методологию управления проектом.
Гибкая методология разработки Scrum
Разделили организацию на маленькие, кросс-функциональные, самоорганизующиеся команды.
Разделили работу на маленькие, конкретные компоненты. Отсортируйте этот список по приоритетам и оцените относительный объем работы по каждому элементу.
Разделили время на короткие итерации фиксированной длины (обычно 1-4 недели) так, чтобы после каждой итерации проводилась демонстрация потенциально готового к использованию кода.
Оптимизирование плана релиза и корректирование приоритетов совместно с клиентом, основываясь на данных, получаемых при рассмотрении релиза после каждой итерации.
Оптимизирование процессов с помощью проведения ретроспективы после каждой итерации.
Вместо большой команды, которая долго работает над чем-то большим, получается небольшая команда, которая короткими итерациями работает над небольшими кусочками. Но с регулярной интеграцией, чтоб видеть целостность картины.
Инструмент разработки Kanban
Визуализация потока работ.
Разбейте работу на части, выпишите каждый из пунктов на карточку и прикрепите на стену.
Подписание столбцов, чтобы видеть на какой стадии находится каждое задание.
Ограничение НЗР (WIP) (work-in-progress – незавершенная работа) – определение возможного количество незавершенных пунктов на каждой стадии рабочего процесса.
Сравнения Scrum и Kanban
Scrum и Kanban – это инструменты процесса, они помогают вам работать более эффективно, до определенной степени подсказывая, что делать. Инструмент – это то, что используется в качестве средства для выполнения задачи или достижения цели. Процесс – это то, как вы работаете.
Scrum и Kanban являются высоко адаптивными, но, если их сравнить, то Scrum более директивен, нежели Kanban. Scrum предоставляет вам больше ограничений, и, таким образом, оставляет меньше вариантов для выбора. Например, Scrum предписывает использование фиксированных по времени итераций, Kanban – нет.
Сравнение нескольких инструментов процесса на шкале "предписание/адаптация":
RUP – очень даже директивный метод, – насчитывает более 30 ролей, более 20 мероприятий и более 70 артефактов; просто куча всего для изучения.
XP (eXtreme Programming) – намного более директивен по сравнению со Scrum-ом. Эта методология включает в себя большую часть, Scrum-а + кучу весьма конкретных инженерных практик, таких как TDD (разработка через тестирование) и парное программирование.
Scrum менее директивный, чем XP, так как он не навязывает использование никакой конкретной инженерной практики. Scrum более директивный, чем Kanban, поскольку он предусматривает такие вещи, как итерации и кросс-функциональные команды.
Одно из основных различий между Scrum и RUP в том, что в RUP вы получаете сразу много всего, но надо избавиться от лишнего. А в Scrum – слишком мало, и надо добавить недостающее.
Kanban оставляет почти все на ваше усмотрение. Единственные ограничения – визуализировать ваш ход работы и ограничить незавершенную работу (НЗР). Всего в нескольких сантиметрах от "Делайте что хочешь", но все равно на удивление мощно.
Вывод: в ходе лабораторной работы написали сравнения Scrum и Kanban.