Наверное, на Хабре не найдется человека, не слышавшего про Scrum – самую популярную в наше время методологию управления разработкой программного обеспечения. Обилие публикаций от «коучей», компаний, только начинающих работать по принципам Agile, или уже испробовавших их на практике, руководителей проектов и обычных разработчиков, довольных и недовольных, любящих и ненавидящих Scrum всем сердцем, всех их мы читали уже не раз.
Обычно, говоря про Scrum, люди говорят только про разработку софта, но сегодня Кодабра расскажет кое-что необычное, мы поведаем вам свой опыт использования гибкой методологии для «разработки» самого настоящего оффлайн-мероприятия с живыми людьми вместо кода, площадками вместо серверов и самой требовательной аудиторией – детьми. Это рассказ про необычный подход к организации крупнейшего в России фестиваля цифровых технологий для детей и подростков – Digital Fest 2017.
Резонный вопрос, который приходит на ум неискушенному читателю – для чего нам Scrum в таком отдаленном от разработки вопросе, как организация мероприятия? Да и зачем вообще здесь какие-то методологии, принципы, фреймворки? Казалось бы, арендовал площадку, договорился с докладчиками, продал билеты – и дело в шляпе, сиди считай денежки. Но не все так просто. Люди, хотя бы раз пробовавшие свои силы в организации чего-то большего, чем домашняя вечеринка, не дадут нам соврать – если в вашем мероприятии планируют принять участие больше 3 человек, то обязательно все пойдет не так и вам придется менять все свои планы на ходу. А чем затея больше, тем более хаотичный характер принимают задачи по ее воплощению. Совсем как в разработке сложного продукта – есть только цель и ее глобальное видение, но каким путем она будет достигнута не знает никто, даже сам автор идеи. Чем дальше, тем больше находится аналогий с разработкой продукта. Мы тоже так подумали и решили копнуть вглубь.
Вопреки устоявшимся стереотипам, Scrum – это не обязательно про написание ПО. Да, это самая распространенная, востребованная и лучше всего изученная область применения, но она далеко не единственная, достаточно вспомнить историю, ведь Scrum начинался как способ повышения эффективности производства копировальной техники. В самом деле, эта методология имеет бесконечную вариативность применения благодаря своим в меру абстрактным, но в то же время достаточно точно сформулированным терминам и строгим принципам. Что и говорить, если сам Джефф Сазерленд, один из основателей методологии, в своей книге «Scrum. Революционный метод управления проектами», преподносит ее именно как универсальное решение для управления проектами, любыми, от прополки грядок до колонизации Марса. В Кодабре есть грядки только с растущими на них талантами, а наш долг открыть им всю вселенную, поэтому мы идеально вписываемся в мир Джеффа Сазерленда и расскажем вам, как использовать Scrum, даже если вы не IT-компания и не делаете софт.
Романтика романтикой, но как и у любого бизнеса, наши цели должны быть сугубо прагматическими. Digital Fest для нас один из важнейших источников привлечения новой аудитории и идеальная платформа для демонстрации наших возможностей. Именно поэтому мы так серьезно относимся к организации – мы делаем свой настоящий продукт. У этого продукта есть фиксированная дата релиза и, пожалуй, это единственное, что отличает его от классического проекта, разрабатываемого в рамках Scrum.
Проведем остальные аналогии.
Основа Scrum – спринт. От 2 до 4 недель в классической парадигме для разработки ПО, 1 неделя максимум в нашем случае. Такая длина спринта выбрана как из-за ограниченных сроков реализации продукта, так и из-за чрезмерной динамики процесса, вызванной человеческим фактором и большой вовлеченностью в процесс третьих лиц.
Пользовательские истории aka «user story» – это реальные цели ваших спринтов. В Scrum категорически не поощряется разработка ради разработки и «тех. долг» как таковой. К счастью, в задачах реального мира такие понятия отсутствуют практически полностью, поэтому мы можем сосредоточиться исключительно на решении задач, связанных с потребностями посетителей нашего мероприятия, по одной за раз.
Команда – это наши «разработчики». Они не пишут на Си и не масштабируют базы данных под высокие нагрузки, они разговаривают с людьми. Когда вы занимаетесь организацией фестиваля, 99% ваших задач начинаются со слова «договориться». Варьируются лишь сферы, в которых нужно с кем-то о чем-то договариваться, но суть, как правило, остается неизменной. Договоренность приравнивается к решенной задаче. Докладчик согласился выступить или провести мастер-класс — стикер в колонку «done», сошлись с подрядчиком в цене – еще один стикер в заветную колонку, и так далее. Ваша команда может и должна быть хороша сама по себе, но именно Scrum позволит сделать ее работу максимально эффективной.
Каждый спринт нашей команды основан на одной или нескольких основных пользовательских историях, которые представляют собой потребности каждой группы посетителей фестиваля – детей, родителей, подростков. Мы классифицируем эти три основные группы на подгруппы и описываем в историях, что они хотят получить от фестиваля. Например, рассмотрим нашу классическую группу «дети».
Детей, приходящих на фестиваль, можно условно разделить на несколько групп:
1. «Геймеры» – увлекаются играми и хотят узнать про них больше, в том числе, как их делают.
2. «Увлеченные» – эти ребята уже пробовали программировать сами или в Кодабре, они хотят проявить себя и показать, чему научились.
3. «Продвинутые» – уже точно знают, что и зачем они делают и хотят приобрести новые знания либо познакомиться с единомышленниками.
4. «Ничего не интересно / Привели родители» – Комплексная группа из которой дети быстро «конвертируются» в одну из предыдущих, а родители распределяются по группам для родителей.
Как не трудно догадаться, все эти группы ведут себя по-разному, ожидают от фестиваля чего-то своего, и к каждой из них нужен особый подход. Мы это учитываем и начинаем на основе этих «пользовательских историй» создавать конкретные задачи по организации, которые будут включены в спринты. Выполнение всех задач будет означать, что мы удовлетворили потребности всех групп наших «пользователей» и, соответственно, фестиваль пройдет успешно.
Пользовательские истории – это очень важно, но насколько бы хорошо вы их не описали и как бы не продумали первый спринт – он не удастся. Даже будь у вас самый крутой скрам-мастер в городе, ваша команда провалит первый спринт, это нужно принять сразу. Дело не в вашей команде, пусть она хорошо понимает принципы Scrum и работала раньше с множеством подобных проектов, все равно вы провалите первый спринт. Потому что организация мероприятия это проект, в котором первый спринт обязан быть провален.
Программисты, и, в целом, люди технических профессий, очень любят экстраполировать свой опыт на другие области, на основе этого прогнозировать развитие событий в том или ином случае, и зачастую, оказываются в итоге в выигрыше. Но не в этом случае. Организация мероприятий имеет больше общего с рулеткой, чем с покером. Ваши знания и профессионализм зачастую не решают здесь ничего, потому что каждый раз вы будете начинать с чистого листа. Именно для этого нужен первый спринт – чтобы определить вектор работы. Проведя первый спринт вы поймете текущее состояние игроков и условий на рынке и сможете создать стратегию для текущего мероприятия. Вам придется полностью поменять план работы после первого спринта, но для этого и нужен Scrum – даже проиграв один раз, можно безболезненно адаптироваться и продолжить работу.
Scrum располагает еще одним очень важным инструментом, который позволит вам легче переносить неудачи и лучше строить свои спринты – ретроспектива. Никогда не игнорируйте ретроспективу, тем более работая с настолько непредсказуемой средой, как договоренности с реальными людьми. Даже самый максимально запутанный код предсказуемее спикера, с которым вы запланировали выступление на 11 часов утра. В особенности, если этот спикер еще и пишет запутанный код все остальное свое время ;)
Самый важный вопрос любого менеджера проекта – когда релиз? Но есть вопрос еще важнее – а что, собственно, мы релизим? Как вы помните, наш продукт – целый фестиваль, он не помещается в RPM-пакет и его нельзя отправить на удаленный сервер, так что критерий готовности у нас не так однозначен. Если вы начали готовиться к мероприятию заранее, в вашей команде может возникнуть ложное чувство, что «запуск продукта» == «открытие дверей фестиваля», но это не так. Надо понимать, что все, что вы делали до этого – это всего лишь подготовка, сколько бы сил и времени вы на нее не потратили, но все эти действия совершались только ради того, чтобы само мероприятие прошло без сучка и задоринки. Последний спринт проекта будет необычным для Scrum – он будет очень коротким и очень насыщенным, потому что последний спринт – это всегда само мероприятие.
Тут может быть два варианта развития событий:
1. Вы были не очень сильны в организации. Тогда вам придется импровизировать все время и задействовать максимальное количество имеющихся ресурсов.
2. Ваш Scrum был хорош и ваша команда сделала все как по учебнику. В этом случае вы будете ходить и взирать на все с довольной улыбкой.
Конечно же, нет, варианта №2 в природе не существует, но это не повод для отчаяния. Просто постарайтесь организовать ваш последний спринт с максимальной пользой, опираясь на предыдущий опыт и ретроспективы. Мы в Кодабре на Digital Fest 2017 сделаем именно так, а вас призываем прийти и лично оценить, насколько наш Scrum оказался эффективным!
Обычно, говоря про Scrum, люди говорят только про разработку софта, но сегодня Кодабра расскажет кое-что необычное, мы поведаем вам свой опыт использования гибкой методологии для «разработки» самого настоящего оффлайн-мероприятия с живыми людьми вместо кода, площадками вместо серверов и самой требовательной аудиторией – детьми. Это рассказ про необычный подход к организации крупнейшего в России фестиваля цифровых технологий для детей и подростков – Digital Fest 2017.
Зачем Scrum без софта?
Резонный вопрос, который приходит на ум неискушенному читателю – для чего нам Scrum в таком отдаленном от разработки вопросе, как организация мероприятия? Да и зачем вообще здесь какие-то методологии, принципы, фреймворки? Казалось бы, арендовал площадку, договорился с докладчиками, продал билеты – и дело в шляпе, сиди считай денежки. Но не все так просто. Люди, хотя бы раз пробовавшие свои силы в организации чего-то большего, чем домашняя вечеринка, не дадут нам соврать – если в вашем мероприятии планируют принять участие больше 3 человек, то обязательно все пойдет не так и вам придется менять все свои планы на ходу. А чем затея больше, тем более хаотичный характер принимают задачи по ее воплощению. Совсем как в разработке сложного продукта – есть только цель и ее глобальное видение, но каким путем она будет достигнута не знает никто, даже сам автор идеи. Чем дальше, тем больше находится аналогий с разработкой продукта. Мы тоже так подумали и решили копнуть вглубь.
Вопреки устоявшимся стереотипам, Scrum – это не обязательно про написание ПО. Да, это самая распространенная, востребованная и лучше всего изученная область применения, но она далеко не единственная, достаточно вспомнить историю, ведь Scrum начинался как способ повышения эффективности производства копировальной техники. В самом деле, эта методология имеет бесконечную вариативность применения благодаря своим в меру абстрактным, но в то же время достаточно точно сформулированным терминам и строгим принципам. Что и говорить, если сам Джефф Сазерленд, один из основателей методологии, в своей книге «Scrum. Революционный метод управления проектами», преподносит ее именно как универсальное решение для управления проектами, любыми, от прополки грядок до колонизации Марса. В Кодабре есть грядки только с растущими на них талантами, а наш долг открыть им всю вселенную, поэтому мы идеально вписываемся в мир Джеффа Сазерленда и расскажем вам, как использовать Scrum, даже если вы не IT-компания и не делаете софт.
Фестиваль как продукт
Романтика романтикой, но как и у любого бизнеса, наши цели должны быть сугубо прагматическими. Digital Fest для нас один из важнейших источников привлечения новой аудитории и идеальная платформа для демонстрации наших возможностей. Именно поэтому мы так серьезно относимся к организации – мы делаем свой настоящий продукт. У этого продукта есть фиксированная дата релиза и, пожалуй, это единственное, что отличает его от классического проекта, разрабатываемого в рамках Scrum.
Проведем остальные аналогии.
Основа Scrum – спринт. От 2 до 4 недель в классической парадигме для разработки ПО, 1 неделя максимум в нашем случае. Такая длина спринта выбрана как из-за ограниченных сроков реализации продукта, так и из-за чрезмерной динамики процесса, вызванной человеческим фактором и большой вовлеченностью в процесс третьих лиц.
Пользовательские истории aka «user story» – это реальные цели ваших спринтов. В Scrum категорически не поощряется разработка ради разработки и «тех. долг» как таковой. К счастью, в задачах реального мира такие понятия отсутствуют практически полностью, поэтому мы можем сосредоточиться исключительно на решении задач, связанных с потребностями посетителей нашего мероприятия, по одной за раз.
Команда – это наши «разработчики». Они не пишут на Си и не масштабируют базы данных под высокие нагрузки, они разговаривают с людьми. Когда вы занимаетесь организацией фестиваля, 99% ваших задач начинаются со слова «договориться». Варьируются лишь сферы, в которых нужно с кем-то о чем-то договариваться, но суть, как правило, остается неизменной. Договоренность приравнивается к решенной задаче. Докладчик согласился выступить или провести мастер-класс — стикер в колонку «done», сошлись с подрядчиком в цене – еще один стикер в заветную колонку, и так далее. Ваша команда может и должна быть хороша сама по себе, но именно Scrum позволит сделать ее работу максимально эффективной.
Пользовательские истории — основа всего
Каждый спринт нашей команды основан на одной или нескольких основных пользовательских историях, которые представляют собой потребности каждой группы посетителей фестиваля – детей, родителей, подростков. Мы классифицируем эти три основные группы на подгруппы и описываем в историях, что они хотят получить от фестиваля. Например, рассмотрим нашу классическую группу «дети».
Детей, приходящих на фестиваль, можно условно разделить на несколько групп:
1. «Геймеры» – увлекаются играми и хотят узнать про них больше, в том числе, как их делают.
2. «Увлеченные» – эти ребята уже пробовали программировать сами или в Кодабре, они хотят проявить себя и показать, чему научились.
3. «Продвинутые» – уже точно знают, что и зачем они делают и хотят приобрести новые знания либо познакомиться с единомышленниками.
4. «Ничего не интересно / Привели родители» – Комплексная группа из которой дети быстро «конвертируются» в одну из предыдущих, а родители распределяются по группам для родителей.
Как не трудно догадаться, все эти группы ведут себя по-разному, ожидают от фестиваля чего-то своего, и к каждой из них нужен особый подход. Мы это учитываем и начинаем на основе этих «пользовательских историй» создавать конкретные задачи по организации, которые будут включены в спринты. Выполнение всех задач будет означать, что мы удовлетворили потребности всех групп наших «пользователей» и, соответственно, фестиваль пройдет успешно.
Первый спринт – комом
Пользовательские истории – это очень важно, но насколько бы хорошо вы их не описали и как бы не продумали первый спринт – он не удастся. Даже будь у вас самый крутой скрам-мастер в городе, ваша команда провалит первый спринт, это нужно принять сразу. Дело не в вашей команде, пусть она хорошо понимает принципы Scrum и работала раньше с множеством подобных проектов, все равно вы провалите первый спринт. Потому что организация мероприятия это проект, в котором первый спринт обязан быть провален.
Программисты, и, в целом, люди технических профессий, очень любят экстраполировать свой опыт на другие области, на основе этого прогнозировать развитие событий в том или ином случае, и зачастую, оказываются в итоге в выигрыше. Но не в этом случае. Организация мероприятий имеет больше общего с рулеткой, чем с покером. Ваши знания и профессионализм зачастую не решают здесь ничего, потому что каждый раз вы будете начинать с чистого листа. Именно для этого нужен первый спринт – чтобы определить вектор работы. Проведя первый спринт вы поймете текущее состояние игроков и условий на рынке и сможете создать стратегию для текущего мероприятия. Вам придется полностью поменять план работы после первого спринта, но для этого и нужен Scrum – даже проиграв один раз, можно безболезненно адаптироваться и продолжить работу.
Scrum располагает еще одним очень важным инструментом, который позволит вам легче переносить неудачи и лучше строить свои спринты – ретроспектива. Никогда не игнорируйте ретроспективу, тем более работая с настолько непредсказуемой средой, как договоренности с реальными людьми. Даже самый максимально запутанный код предсказуемее спикера, с которым вы запланировали выступление на 11 часов утра. В особенности, если этот спикер еще и пишет запутанный код все остальное свое время ;)
Критерий готовности
Самый важный вопрос любого менеджера проекта – когда релиз? Но есть вопрос еще важнее – а что, собственно, мы релизим? Как вы помните, наш продукт – целый фестиваль, он не помещается в RPM-пакет и его нельзя отправить на удаленный сервер, так что критерий готовности у нас не так однозначен. Если вы начали готовиться к мероприятию заранее, в вашей команде может возникнуть ложное чувство, что «запуск продукта» == «открытие дверей фестиваля», но это не так. Надо понимать, что все, что вы делали до этого – это всего лишь подготовка, сколько бы сил и времени вы на нее не потратили, но все эти действия совершались только ради того, чтобы само мероприятие прошло без сучка и задоринки. Последний спринт проекта будет необычным для Scrum – он будет очень коротким и очень насыщенным, потому что последний спринт – это всегда само мероприятие.
Тут может быть два варианта развития событий:
1. Вы были не очень сильны в организации. Тогда вам придется импровизировать все время и задействовать максимальное количество имеющихся ресурсов.
2. Ваш Scrum был хорош и ваша команда сделала все как по учебнику. В этом случае вы будете ходить и взирать на все с довольной улыбкой.
Конечно же, нет, варианта №2 в природе не существует, но это не повод для отчаяния. Просто постарайтесь организовать ваш последний спринт с максимальной пользой, опираясь на предыдущий опыт и ретроспективы. Мы в Кодабре на Digital Fest 2017 сделаем именно так, а вас призываем прийти и лично оценить, насколько наш Scrum оказался эффективным!