Scrum – один из многочисленных «скорых» (agile) подходов к разработке программного обеспечения (или гибких, как предпочитают переводить термин agile в книге Майка Кона «Scrum: гибкая разработка ПО» и во многих других источниках). Однако по известности и популярности Scrum, без сомнения, можно отнести к лидерам agile-методик, более того, это первый появившийся на свет метод «скорой» разработки ПО. Scrum существует с 1993 года, а Кон участвует в agile-проектах с 1995-го, из чего можно понять, что в книге собраны рекомендации опытного специалиста в данной области.
Майк Кон основал компанию Mountain Goat Software, которая специализируется на обучении и консалтинге по Scrum. Кроме того, в мае 2003 года Кон вместе с одним из создателей методики agile Кеном Швабером провел первый курс обучения по программе Sertified ScrumMaster. У Кона колоссальный опыт работы в компаниях по внедрению подходов Scrum, и, как объясняет автор, постоянный тщательный анализ возникающих в таких проектах проблем, ошибок и различных ситуаций подвиг его систематизировать все свои наблюдения и советы в книге.
В разделе «Введение» автор подробно объясняет, для кого предназначен его труд, однако не собирается подробно вводить читателей в курс дела, предполагая, что книгу возьмут в руки те, кто уже знаком с Scrum и нуждается в помощи в практическом применении принципов этого метода разработки. Не может не радовать и тот факт, что автор отсекает от своей аудитории борцов за «чистоту идеи», подчеркивая, что не собирается превозносить достоинства Scrum как единственно правильного подхода к разработке ПО. Для подобных философий есть множество дискуссионных площадок в блогах, книга же Кона носит сугубо практический характер.
Определяя аудиторию книги, Кон также замечает, что, поскольку целью его читателей будет внедрение или совершенствование Scrum в своей организации, они должны обладать в ней определенным влиянием. Это не означает, что книга рассчитана исключительно на ИТ-директоров, автор подчеркивает, что по-настоящему успешными в деле адаптации подходов Scrum, как правило, становятся неформальные лидеры – специалисты, пользующиеся большим авторитетом у своих коллег. Надо заметить, что Scrum описывает преимущественно методы управления проектами разработки, что также определяет круг читателей книги.
Книга состоит из пяти частей. Первая часть — «Приступаем к освоению Scrum», но здесь имеется в виду не изучение самой методологии, а освоение способов перехода к ней и к любой другой agile-методике. Автор подчеркивает, что переход к гибкости в разработке означает серьезные перемены в организации, поэтому требует готовности к таким переменам, осознания их последствий, умения их реализовать. Непосредственно для методологии Scrum в первой части книги автор советует, как выбирать исходные проекты и команды исполнителей, а также рассказывает о базовых механизмах, необходимых не только для внедрения Scrum, но и для совершенствования использования этой методологии. Необходимость такого постоянного совершенствования Кон особенно подчеркивает, замечая, что без этого гибкая разработка не раскроет полностью своего потенциала и не обеспечит организации тех преимуществ, на которые действительно способна.
Вторая часть – «Люди» – знакомит читателей с тем, через какие изменения должны пройти участники Scrum-проектов. Автор подробно останавливается на том, что может послужить причиной сопротивления этой методике и как его преодолевать, какие новые роли появляются в организации, которая встает на путь внедрения Scrum, и какие трансформации могут претерпеть традиционные роли: программист, тестировщик, руководитель проекта и др. В разработке ПО люди объединяются в коллективы – особенностям работы таких коллективов по принципам Scrum посвящена часть «Команды». Отдельная глава рассматривает вопросы изменения масштаба Scrum. Agile-методики уже давно не ограничиваются небольшими командами и активно завоевывают крупные коллективы разработчиков, поэтому задача внедрения Scrum в больших, в том числе распределенных коллективах очень актуальна.
В заключительной части — «Что дальше» Кон дает рекомендации, как измерить степень продвижения организации к достижению подлинной гибкости, и напоминает, что полноценная реализация agile-подходов требует постоянного совершенствования. Дополнительную практическую ценность книге добавляют врезки – в них автор приводит свои советы по разрешению определенных универсальных ситуаций, с которыми он сам сталкивался. Врезки под названием «Попробуйте прямо сейчас» описывают рекомендации, которые автору приходилось давать очень часто или они оказывались наиболее эффективными в конкретных ситуациях. Во врезках, озаглавленных «Возражение», воспроизводятся типичные разговоры, в которых собеседник Кона не соглашается с его точкой зрения на ту или иную проблему, и доводы автора.
В свое время мне довелось беседовать с одним из создателей методологии Scrum Джефом Сазерлендом, который утверждал, что идеи Scrum очень просты, но соавтор Сазерленда Кен Швабер отмечал, что реализовать Scrum очень сложно. Очевидно, что, для того чтобы справиться с этой сложностью, необходимы опытные учителя и действенные рекомендации. Майк Кон в своей книге выражает убеждение, что успех Scrum возможен практически в каждой организации, но ей для этого нужны «прагматичные и надежные советы».
Майк Кон. Scrum: гибкая разработка ПО/ Пер. с англ. — М.: ООО «И.Д. Вильямс», 2011. – 576 с.: ил.