Scrum: мешает или помогает?
Но как определить? Давайте поговорим об этом подробнее.
Коротко о сути Scrum
Начну с разъяснения данного понятия. Если вы уже услышали о Scrum, можно еще раз обновить в памяти главные моменты. А для тех, кто сталкивается с этим впервые, не будет необходимости гуглить. Просто читайте дальше.
Scrum — гибкая методология разработки, где присутствует нестандартное распределение ролей в команде и уникальная организация интераций (временного интервала фиксированной длины, отведенного на создание ПО). Scrum предполагает командный подход к реализации проекта и постоянное его улучшение во время работы. Благодаря особым ролям, правилам и инструкциям команда производит программный продукт быстрее.
Scrum относится к группе гибких (Agile) методологий, которые являются философией разработки ПО. Альтернативой могут быть XP, Kanban, Lean, Crystal, Rapid application development, Scrumban и ряд других. О том, как выбирать подходящий, поговорить чуть ниже.
Чтобы понять Scrum и детально разобраться в его сути, советую прочесть специальную литературу, в том числе о применении Agile в разных бизнес-направлениях и сферах нашей жизни. Например, можно выбрать из этого перечня:
«Scrum. Научись делать вдвое больше за меньшее временя» (Джефф Сазерленд).
Книга входит в Топ-10 Amazon.com, автор — разработчик революционной методики Scrum, которая позволяет гибко строить работу и повышает ее качество. За 20 лет методика помогла в работе не только специалистам IT, сотрудникам ФБР, бизнесменам, но и обычным людям.
«Чистый Agile. Назад к основам» (Роберт C. Мартин).
За почти 20 лет, прошедших с момента публикации Манифеста Agile, понимание этой методологии стало существенно отличаться от намерений, которые были положены в основу ее создателями. Сейчас самое время вернуться к оригинальной идее Agile: негромоздкому решению маленькой задачи, поставленной перед небольшими командами программистов, выполняющих мелкие задания.
«Книга Скрам. Гибкое управление продуктом и бизнесом» (Кен Швабер).
Несет в себе дух Scrum, раскрывая его ценности и основные принципы. Кен Швабер, один из создателей Scrum, соавтор «Руководства по скраму» и основатель Scrum.org, собрал лучшие кейсы из своей практики, демонстрирующие примеры успехов и неудач применения Scrum в реальных проектах. Они помогут понять, его как использовать для решения комплексных проблем и достижения результатов. Автор рассказывает, как эффективно управлять сложными, громоздкими проектами и изменяющимися требованиями к продукту, упрощать организационную структуру с помощью самоуправляемых команд разработки, получать более четкие описания требований и внятную обратную связь от клиентов и заказчиков.
«Scrum без ошибок. Инструменты, техники и советы для тех, кто работает по Agile» (Илан Голдштейн).
В книге идет речь о 30 лайфхаках, благодаря которым использование Scrum пройдет быстро, успешно и безболезненно. Свой многолетний опыт работы scrum-тренером автор изложил в 10 главах, подробно разобрал подводные камни и болевые точки, которые неизбежно возникают на пути каждой практикующей Scrum команды. Анализ типичных ошибок и способы их устранения автор описал довольно остроумно, сопровождая яркими метафорами и историями. Это практическое руководство по внедрению Scrum-практик будет полезно и Scrum-мастеру, и любому члену Scrum-команды.
«Agile в семье. 200 смелых и свежих идей» (Фейлер Брюс).
Это — руководство по тому, как уменьшить домашний хаос и умножить счастье. Автор Фейлер Брюс (известный американский писатель и телеведущий) выбрал ярчайшие примеры, разыскал умнейших людей и самые органичные семьи, которые только мог найти, чтобы собрать лучший опыт, имеющийся на сегодняшний день. На базе этого он создал своеобразное руководство для счастливых семей. Данная книга поможет ответить на вопросы «Как управлять хаосом в нашей жизни?», «Как привить детям свои ценности и помочь избежать ошибок?», «Как сделать свою жизнь полноценной, а семью — счастливой?», «Как избежать рутины и сохранить любовь в паре?», «Как поддерживать друг друга в разных ситуациях, ссориться с умом и вести трудные разговоры с ребенком?».
Когда подходит и не подходит Scrum?
Фактически, Scrum объясняет, каким образом работать команде, чтобы создавать ценности в каждом спринте (коротком временном интервале, в течение которого scrum-команда выполняет заданный объем работы). Это необходимо для производства продуктов, достижения поставленных целей и решения комплексных проблем.
Scrum — отлично подходит, когда команде приходится выполнять задачи в некой неопределенности. Если детализировать на примере IT-проектов, то речь может идти, о заказчике, который, не дожидаясь выполнения первого задания, дает второе с существенными корректировками. И внесенные уточнения либо изменения влияют на весь продукт. Здесь Scrum поможет не терять время на переделывание, а команде — показывать видимый результат после каждого спринта. Кроме того, вы сможете понять, правильно ли двигаетесь, и новые изменения реализовать уже в следующем спринте.
Однако существуют ситуации, когда Scrum точно вам не нужен. Опишу основные.
Реализация шаблонного проекта. В данном случае ситуация стабильная, задача поставлена точно и полностью, изменения не предвидятся. Здесь лучше применить каскадную модель — поэтапное выполнение проекта, при этом к следующему этапу можно перейти только после окончания предыдущего. Метод был особенно популярен в 90-х годах прошлого столетия, в отдельных случаях актуален и сейчас.
Если заказчику нужен исключительно багфиксинг (bug fixing). То есть от вашей команды требуется только устранить неисправностей в ПО (несоответствие поведения программы техническому заданию).
Когда необходима лишь поддержка программного продукта.
Также заказчик может обратиться к вашей команде за выполнением ряда конкретных задач с привязкой к оговоренным срокам и календарным датам.
В трех последних случаях больше подойдет Kanban, предполагающий применение принципа «точно в срок», с равномерным распределением нагрузки между работниками.
На самом деле в практике встречается немало случаев, в которых Scrum не будет лучшим решением. Однако, когда он точно необходим, то станет вашим отличным помощником. Поэтому советую вникнуть в него и практиковать в подходящих проектах. А что вы думаете о Scrum? Делитесь в комментариях.