Scrum или Kanban? Не так уж и важно
За последние 8 лет я занимался разработкой как по методологии Scrum, так и по Kanban.
Были времена, когда я отдавал предпочтение Scrum, а порой и наоборот - предпочитал Kanban.
Около двух лет назад я пришел к интересному выводу - неважно, как вы называете методологию своей работы,, пока вы применяете правильные принципы.
Scrum против Kanban
Личный рассказ, я начал свою карьеру в команде, работающую в стиле Scrum. Она работала блестяще, пока мы не начали работу над новым, очень важным проектом. Требования менялись все время во время спринтов, и мнения расходились, так как мы работали над незнакомыми доменами.
Поэтому мы решили сделать единственную разумную вещь - переключиться на Канбан . В Канбане у нас не было спринтов, и мы шли в ногу с постоянно меняющимися требованиями; мы всегда работали над самыми важными задачами. Но было две проблемы: мы работали только над самыми важными задачами, и мы работали непрерывно. В связи с этим у нас не было возможности работать ни над чем, кроме новых функций. У нас не было времени работать над нашими техническими долгами или на улучшение наших инструментов и инфраструктуры.
Поэтому мы решили сделать единственную разумную вещь - вернуться к Scrum.
Оговорка
Я преувеличиваю; это было не так уж плохо, но это было неправильно, независимо от того, какой из методов мы выбирали. Ни один из них не был совершенным, и мы постоянно чувствовали, что чего-то не хватает в нашем процессе.
Лучшее от обоих
После экспериментов с обоими методами, и, увидев работу Scrum и Kanban и потерпев неудачу во многих командах, я понял, что на самом деле не имеет значения, какой метод вы выберете: самое главное - принципы и лучшие практики. Итак, вот самые важные для меня принципы.
Важно закончить
В Scrum вы работаете со спринтами, и каждую неделю или две спринт подходит к концу. Это одна из самых дефицитных частей Канбана, где мы постоянно работаем; мы закончили задачи, но мы сразу же начали новые. Спринт создает область действия, которая в конечном итоге заканчивается. Мы все уходим домой с этим чувством выполненного долга (хотя мы и собираемся начать новый спринт после выходных).
Отмечайте победы
Другим важным принципом являются встречи с заинтересованными сторонами, где вы делитесь тем, что вы достигли в последнем спринте. Это праздник всех членов вашей команды, они могут поделиться тем, что они сделали, и получить отзывы от заказчиков.
Постоянно учитесь и совершенствуйтесь
Единственной лучшей практикой является ретроспектива. Подумайте о том, что вы должны делать, и что вы должны прекратить делать и улучшить. Когда вы постоянно работаете, вы не всегда можете остановиться и подумать об этих вещах, поэтому вы не становитесь лучше. Ретроспектива обязательна на собрании.
Требования будут меняться
В реальном мире требования постоянно меняются. Ошибки, особенности, сфера деятельности подвержены частым изменениям. Это нормально. Это реальный мир; мы создаем, измеряем и учимся. Поэтому хорошо менять приоритеты и работать над тем, что действительно имеет значение. Не закрывайте изменения - принимайте их. И это подводит нас к следующему пункту.
Планируйте заранее и разбивайте на небольшие задачи
Это трудно работать над большими, незнакомыми задачами. Вы не можете оценить требуемые усилия или даже по-настоящему понять сферу действия. Решение просто - не делайте этого. Не погружайтесь в незнакомую область без надлежащей подготовки. Не пытайтесь сделать все сразу. Потратьте несколько часов на исследование, вникните в сферу деятельности, требования, подводные камни, разложите эту задачу на небольшие цели и создайте проект высокого уровня. Поделитесь им со своей командой, используйте покер планирования, и вы увидите, что оценка этих задач довольно проста.
Визуализируйте и делитесь процессом
Ваш процесс должен быть видимым как для вашей команды, так и для ваших заинтересованных сторон. Каждый должен иметь возможность легко понять, над чем вы сейчас работаете, каковы ваши следующие задачи и что мешает вам. Обозримый процесс является ключом к выявлению узких мест, зависимостей и созданию порядка.
Неважно, как вы это называете
Итак, вы видите - вы можете использовать Scrum, но не бойтесь изменений и неизвестности - принимайте их. Вы также можете использовать Kanban, но иногда останавливайтесь, делитесь своей работой, отмечайте свои победы и думаете, можно ли что-то улучшить.
Вы можете называть это, как хотите. Я называю это Agile, а иногда и Lean, а иногда просто работой.
Деннис Неруш