Правообладателям!
Представленный фрагмент книги размещен по согласованию с распространителем легального контента ООО "ЛитРес" (не более 20% исходного текста). Если вы считаете, что размещение материала нарушает ваши или чьи-либо права, то сообщите нам об этом.Читателям!
Оплатили, но не знаете что делать дальше?Текст бизнес-книги "Scrum без ошибок"
Автор книги: Илан Голдштейн
Раздел: Зарубежная деловая литература, Бизнес-книги
Возрастные ограничения: +16
Текущая страница: 2 (всего у книги 2 страниц)
Лайфхак 2. Хрупкий Agile
Пожалуй, один из самых неприятных комментариев, которые я слышу от молодых scrum-команд: «Мы используем Scrum: работаем в спринтах, проводим ежедневные стендапы, у нас даже есть бэклог продукта». Может быть, вместо этого сказать честно: «Мы не ведем никакой документации, выпускаем релизы как бог на душу положит, планируем все на лету и не задумываемся об ошибках, потому что просто исправим их в следующей итерации»?
Эти люди делают Scrum ужасную антирекламу, а их проекты неизбежно терпят неудачу. Что еще хуже, после всего этого очень сложно вернуть доверие стейкхолдеров, разочарованных искаженной реализацией Scrum.
ЭТО ФРЕЙМВОРК, А НЕ МЕТОД
Часто можно услышать, что Scrum – это метод. Это неправильно. Scrum – это фреймворк практик, связанных небольшим набором четко определенных правил. Между методом и фреймворком есть существенная разница. Метод подразумевает универсальный формульный подход, в то время как фреймворк предлагает более гибкую платформу, на основе которой могут быть получены разные подходы в зависимости от той или иной рабочей среды.
Чтобы правильно внедрить Scrum, важно следовать четким правилам и работать в рамках практик фреймворка. Только так вы окажетесь на верном пути. Кен Швабер в своем блоге пишет: «Scrum – это как шахматы. Вы либо играете по правилам, либо не играете совсем»[15]15
Schwaber K. Scrum Fails? // Ken Schwaber’s Blog: Telling It Like It Is. 2011, April 7. Доступно по ссылке: http://kenschwaber.wordpress.com/2011/04/07/scrum-fails/.
[Закрыть]. Расширяя эту аналогию, можно сказать, что частичная реализация Scrum похожа на игру с 20 шахматными фигурами вместо стандартных 32. Есть небольшой шанс, что игра так или иначе пойдет, но это будет не стандартная и выверенная игра в шахматы, это будет другая игра с непредсказуемыми последствиями (см. рис. 1.3).
Рис. 1.3. Так же как нельзя менять правила игры в шахматы, не следует менять и правила Scrum
Scrum не содержит лишних правил или практик. Чтобы он работал как задумано, его нужно реализовывать целостно. Частичное применение Scrum равнозначно отказу от него.
КВАЛИФИКАЦИЯ ПРОТИВ КАЧЕСТВА
Сертификация scrum-мастеров, безусловно, полезна, но и здесь присутствует человеческий фактор, снижающий ее значимость. Много лет назад, когда я проходил первый курс обучения на scrum-мастера, в нашей группе был участник, менеджер проекта из банка, который, казалось, видел себя сержантом на курсах молодого бойца. Я тогда подумал:
даже если он несколько лет потратит на обучение, все равно ему не стать scrum-мастером, ведь качества гораздо важнее подтвержденной сертификации (см. лайфхак 4).
ЗЛОУПОТРЕБЛЕНИЕ AGILE-МАНИФЕСТОМ
Те, кто склонен искажать Scrum, обычно цитируют Agile-манифест, чтобы оправдать отсутствие документации и дефицит планирования.
Манифест agile-разработки программного обеспечения
Занимаясь непосредственно разработкой программного обеспечения и помогая в этом другим, мы постоянно открываем для себя более совершенные методы. Благодаря проделанной работе мы осознали следующие ценности:
• люди и их взаимодействие важнее процессов и инструментов;
• работающее программное обеспечение важнее исчерпывающей документации;
• сотрудничество с заказчиком важнее согласования условий контракта;
• готовность к изменениям важнее следования плану.
То есть, не отрицая важности того, что справа, мы все-таки больше ценим то, что слева.
Те, кто злоупотребляет Agile-манифестом, либо (а) не прочитали последнюю строку, либо (б) забыли последнюю строку, либо (с) проигнорировали последнюю строку.
И помните: хотя элементы слева ценятся больше, элементы справа также важны и почти всегда пригодятся вам в процессе разработки продукта.
АНТИПАТТЕРНЫ SCRUM
Рассмотрим несколько симптомов того, что Scrum искажен, деформирован и используется неверно. Не путайте их с проблемами «прорезывания зубов», с которыми сталкиваются начинающие (но настоящие) scrum-команды. Например, ежедневный Scrum, который не всегда начинается вовремя, – это неидеально, но при правильной мотивации эту проблему можно решить, и регулярное смещение графика не всегда сигнализирует о том, что команда не принимает эту практику.
Спринты тестирования
Обеспечение качества – неотъемлемая часть процесса разработки. Требование не может считаться выполненным, если оно не удовлетворяет критериям готовности (см. лайфхак 11). Однако иногда это правило нарушается. Обычно это происходит на этапе «функциональных» спринтов, фокусирующихся исключительно на разработке нового кода (чтобы создать впечатление прогресса), дополняемых связкой «догоняющих» спринтов для выявления и исправления багов.
Типичное оправдание такого поведения – команда хочет в первую очередь показать общие функциональные возможности ПО пользователям (чтобы проверить свою работу). В такой ситуации я обычно говорю команде: «Если вы работаете в спринтах, это еще не значит, что вы ушли от водопадной модели». Помните: до тех пор пока функциональность продукта не будет полностью протестирована и готова к релизу, она не является завершенной (должна считаться невыполненной, то есть бесполезной, и очень рискованной).
Другое проявление этого антипаттерна – программисты и тестировщики работают в разных спринтах. Например, тестировщики отстают на один спринт от программистов[16]16
В текущем спринте они тестируют результат работы программистов из предыдущего спринта. Прим. ред.
[Закрыть]. Такое становится возможным, если практика автоматизированного тестирования все еще недостаточно зрелая и зависимость от ручного регрессионного тестирования велика. Этот ступенчатый сценарий спринта неизбежно приводит к таким же «догоняющим» спринтам, которые обсуждались выше.
Бесконечные нулевые спринты
Нулевой спринт на самом деле не спринт, а искусственный термин, используемый для описания предварительной работы, которую команде необходимо выполнить, прежде чем она будет готова начать первый настоящий спринт (со всеми необходимыми атрибутами).
Эта предварительная работа, как правило, не подразумевает временных рамок и не обладает всеми типичными структурными элементами, которые есть в реальном спринте (бэклог спринта и четко сформулированные требования).
Хотя мне не нравится вводящий в заблуждение термин, концепция предварительного этапа мне понятна и я не имею ничего против. Главная проблема с нулевым спринтом возникает, когда в него входит бесполезная работа, задерживающая начало реальных спринтов. Давайте взглянем на то, что должно и чего не должно быть в нулевом спринте (см. рис. 1.4).
Рис. 1.4. Минимальный список задач для нулевого спринта
Элементы в списке «Не включать» на рис. 1.4 могут показаться туманными, в отличие от конкретных функциональных требований, но это не значит, что их нельзя оценить, спланировать и разбить на задачи и, следовательно, включить в спринт. Ввиду неопределенного характера этой подготовительной работы необходимо окружить ее надлежащими техниками спринта, чтобы обеспечить большую прозрачность и более жесткий контроль.
Изменяющаяся продолжительность спринта
Постоянная продолжительность спринта важна по ряду причин, описанных в лайфхаке 8.
Одно из самых распространенных оправданий, которые я слышал при несоблюдении этого правила: команда хотела взять несколько дополнительных дней и закончить почти готовые требования, чтобы обзор спринта был впечатляющим.
Полагаю, есть только две причины для изменения длины спринта:
1. Когда новая команда экспериментирует на начальном этапе работы.
2. Когда все работы завершаются ранее последнего дня финального спринта (см. рис. 1.5).
Рис. 1.5. После определения продолжительности спринта поддерживайте ее неизменной
Изолированная оценка
Подобная ситуация характерна для всех процессов вне Scrum, с которыми я сталкивался. Она возникает, когда ведущий разработчик пытается единолично оценить продолжительность всех работ. Вы можете спросить: а в чем проблема? Разве опытный сотрудник с наивысшей квалификацией не способен дать точную оценку? Тем не менее это действительно одна из проблем. Хотя ведущий разработчик может быть самым опытным, в большинстве случаев сам он не станет выполнять работу. По своим способностям он, несомненно, отличается от участников команды, которым и предстоит выполнить стоящие перед ними задачи. Следовательно, и его оценка будет отличаться от реального положения дел. Работу выполняет не один человек, а вся команда, поэтому она (как коллектив) и должна давать оценку (см. лайфхак 14). Когда это делает один человек, никакой системы сдержек и противовесов для него не существует. А если у него был выходной, он не услышал некоторые важные данные и сделал неправильные выводы? Когда в оценке задействованы все участники команды, такие промахи гораздо менее вероятны благодаря нескольким слоям и фильтрам при обработке информации.
Внимание! Это ознакомительный фрагмент книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента ООО "ЛитРес".Правообладателям!
Представленный фрагмент книги размещен по согласованию с распространителем легального контента ООО "ЛитРес" (не более 20% исходного текста). Если вы считаете, что размещение материала нарушает ваши или чьи-либо права, то сообщите нам об этом.Читателям!
Оплатили, но не знаете что делать дальше?