Agile — это целая система, которая организует рабочий процесс. Scrum — методология, которая помогает более точно организовывать процессы. По сути, эти два понятия связаны, но по иерархии первое идет выше второго: Agile — это набор принципов и правил организации всего рабочего процесса, а Scrum — набор точных действий для организации определенного периода в работе. В разработке такой подход начали использовать первыми, но сейчас все больше крупных компаний перенимают ее. Разберем подробнее, что подразумевают Agile и Scrum в контексте разработки, чем занимается разработчики Agile, а также как им стать.
Понятия выше не до конца понятны — нужно узнать, в чем именно их отличия, а также с какими задачами сталкиваются Agile и Scrum разработчики.
Agile помогает создавать ценность продукта разработки для клиента. То есть это подход к организации самой разработки программного обеспечения или совершенствования продукта. Команда при таком подходе затрачивает меньше сил и времени на решение задачи.
При внедрении Agile в работу команда разрабатывает требования, планы и следит за результатами, поэтому в случае внезапных изменений может быстро среагировать. Например, когда разрабатывали ПО для бизнес-компании. Но на одном из этапов разработки выделили не те задачи, которые должен решить продукт, поэтому его ценность упала. Благодаря Agile у команды есть сценарий на случай таких ситуаций — сотрудники могут быстро вернуться к ошибке, все пересчитать и оценить, чтобы довести процесс до конца правильно.
Раньше в разработке такого не было — обычно продукт поэтапно переходил от одной команды к другой. Это приводило к путанице — представьте, если какая-то команда допустит ошибку, и это выясняется только во время тестирования продукта. Сразу не понятно, к кому направлять ошибку для исправления, поэтому приходилось начинать все сначала. И так по кругу.
Agile помогает распределить все задачи точно, но при этом разработка происходит совместно. Каждый член команды в курсе изменений, он может следить за процессом в любое время и предлагать свои решения, если видит ошибку. При глобальных недочетах сразу ясно, к кому направлять продукт эффективнее, поэтому возвращаться прямо к началу необязательно. То есть Agile основывается на принципах обратной связи и совершенствования команды, но это далеко не все принципы подхода. Для удобства объединим принципы в единые идеи:
Scrum — это методология, которая является частью подхода Agile. Она включает набор конкретных действий, которые сделают проект успешным. Scrum состоит из этапов, за выполнением которых следит специалист по Scrum. Выполнять эти этапы приходится межфункциональной командой, которая включает различных специалистов по тестированию и разработке, дизайнеров и так далее. Во главе команды стоит менеджер проекта — он занимается анализом ценности продукта.
По сути, это выглядит так:
Вся работа специалистов над одним проектом включает следующие шаги:
По итогу можно сказать, что Agile и Scrum разработчики — это те люди, которые разрабатывают продукт по подходу Agile и методологии Scrum. С этой точки зрения мы и будем анализировать их задачи.
Задачи Agile и Scrum разработчиков не сильно отличаются от задач обычных разработчиков в компании. Просто первым приходится следовать определенной последовательности в разработке. Разберем задачи с этой точки зрения.
Чтобы работать Agile и Scrum разработчиком, нужно освоить ряд профессиональных умений, а также обзавестись софт-скиллами.
Чтобы обучиться тонкостям подхода Agile и методологии Scrum, уже нужна определенная база. То есть чаще обучают тех, кто уже является разработчиком или проект-менеджером, например. Поэтому в зависимости от того, на какую должность хочется претендовать, нужно развить базу. Мы говорим о разработке, поэтому и разберем базу для разработчиков, а потом необходимую базу по Agile и Scrum.
База, которая нужна каждому разработчику:
База, которая необходима разработчику в контексте Agile и Scrum:
Помимо этого для разработчиков, как и любого члена команды, важны софт-скиллов:
То есть специалисту придется изучить немало информации. Поэтому наличие базы так важно — будет легче освоить все необходимое.
Теперь давайте разберем преимущества и недостатки такой профессии:
Плюсы |
Минусы |
Есть возможность близко контактировать с коллегами — это означает, что работа будет в разы продуктивней и интересней. При этом можно найти среди коллег новых друзей или просто расширить круг общения. |
Нужна хорошая база — в компании внедряют Agile тогда, когда весь штат состоит из квалифицированных специалистов. Новички вряд ли смогут легко вклиниться в процесс и работать в таком темпе. Поэтому нужно получить опыт и знания в сфере разработки, чтобы потом идти в компанию, где работают на основе Agile. |
Возможность развивать связи — при работе придется близко контактировать и с заказчиками, большинство из которых являются представителями бизнеса или государственных компаний. Поэтому можно наладить связи и в будущем использовать их, когда это будет необходимо. |
Если сотрудник — интроверт, ему может быть сложно. Agile подразумевает не только открытость работы, но открытость между коллегами и с заказчиками. Поэтому для тех, кто не привык близко контактировать с людьми или просто не может это сделать, такая работа вряд ли подойдет. |
Конкурентная зарплата — если сравнить зарплаты просто специалистов и специалистов Agile и Scrum, можно увидеть разницу в зарплате. Например, проект-менеджер уровня сеньора в компании получает в среднем 150-160 тысяч рублей. Agile-менеджер может получать от 180 тысяч рублей. |
Иногда это утомляет — конечно, любая работа может утомлять. Но здесь можно легче получить выгорание, особенно творческим людям. Причина в том, что любое решение нужно обосновать и обсудить с командой. Даже о мелких решениях нужно сообщать команде, поэтому пространство для творчества немного сужается. Но часто это компенсирует сама работа в команде — во время тех же собеседований можно проявить фантазию и выдать интересное решение. |
Обычно компании либо внедряют Agile в работу компании и обучают этому своих сотрудников самостоятельно. Но бывает и так, когда таких сотрудников ищут — в этом случае придется все осваивать самому. И это должны быть твердые знания и навыки, так как ищут в основном специалистов не ниже уровня Middle/Middle+.
В этом контексте появляются две основные цели — изучить свою сферу хорошо и развить навыки и знания в области Agile и Scrum. Чтобы стать специалистом в своей сфере, достаточно закончить высшее образование — там можно получить все базовые знания и практические навыки для работы. Можно попробовать и курсы, если есть возможность. Правда, затем придется дополнительно проходить курсы по Agile и Scrum, потому что нет ВУЗов, которые бы полноценно этому обучали.
Здесь рассмотрим ВУЗы, которые можно использовать для получения базовых знаний в области разработки:
ВУЗ |
Факультет |
Московский физико-технический институт |
Факультет прикладной математики и информатики или системного программирования и прикладной математики |
Национальный исследовательский университет «Высшая школа экономики» |
Факультет информатики и вычислительной техники |
Московский государственный университет им. М. В. Ломоносова |
Факультет вычислительной математики и кибернетики |
В этом пункте разберем, какие курсы можно использовать для изучения тонкостей Agile и Scrum, и какие знания и навыки они могут дать:
Наименование |
Описание |
Введение в Agile |
Сможете изучить, что такое Agile, какие принципы и идеи включает подход, а также ближе познакомиться с манифестом Agile. Кроме того, можно узнать больше об упорядоченных, хаотичных и запутанных системах, как их классифицировать и какие подходы использовать при этом. |
Все о бережливом производстве |
Узнаете, что такое бережливое производство, как создавать ценность для продукта, а также как анализировать эту ценность, улучшать ее через определение целей и рассчитывать показатели эффективности проекта в контексте его ценности. |
Продукт |
Поймете, что такое продукт в бережливом производстве, как создавать, взаимодействовать и формулировать пользовательские истории. |
Scrum |
Изучите, что такое Scrum, что включает спринт, как его планировать и проводить, а также что делать во время ретроспективных обсуждений. |
Kanban |
Узнаете, что такое методология Kandan, как создавать доску, настраивать процессы и управлять задачами команды. Кроме того, сможете изучить, как рассчитывать расходы по времени на одного исполнителя. |
Погружение в Agile-практику |
Сможете полноценно погрузиться в процесс: больше узнать о задачах, методах работы в целом и с обратной связью. |
Чтобы без проблем устроиться в компания на позицию разработчика Agile и Scrum, нужно получить опыт работы в этой области. То есть после базового обучения лучше найти работу в обычной компании и набраться опыта. Кроме того, это поможет понять, как иногда хаотично проходит разработка при обычной организации работы. В будущем это даст возможность понять, что Agile действительно меняет всю работу разработчика в плане организации и упрощает ее. Ведь в большинстве случаев эта система не допускает того, чтобы сотрудники перерабатывали — отлаженные процессы помогают все делать вовремя и качественно.
Agile-подход активно внедряется в России, поэтому крутых специалистов ищут постоянно. И это касается не только конкретных компаний, которые занимаются разработкой приложений или ПО. Этот метод активно внедряется в среду бизнес-компаний, банков и даже медицины. По рейтингу предыдущего года, большинство компаний используют именно методологию Scrum — 44%. На Kanban приходится 27%.
Несмотря на показатели, по миру отходят от методологии Kanban и считают, что она уже не является частью Agile. Поэтому в скором времени есть смысл ожидать, что компаниях также будут чаще использовать Scrum, и сделать уклон в обучении на эту методологию.
Agile по актуальности становится все более популярным — 33% компаний в области финансов и 33% в области информационных технологий уже перешли на эту систему. И с каждым годом этот показатель растет, поэтому можно сделать вывод о росте необходимости в квалифицированных сотрудниках. Разработчики и менеджеры, которые работают по подходу Agile, сейчас нужны в финансовой, информационной, промышленной и телекоммуникационной сферах, а также в торговле, образовании и здравоохранении.
Чтобы найти работу в компании, которая развивается через подход Agile, можно искать вакансии на платформах и в тематических группах и каналах. Если хочется выйти на зарубежный рынок, придется смотреть вакансии на иностранных сайтах — в этом случае крайне важен английский язык не ниже среднего уровня. Разберем все варианты подробнее.
Вакансии можно искать по ключевым словам — «разработчик» и «Agile». Можно также искать просто вакансии для разработчиков и выбирать компании, которые поддерживают подход Agile. Поиск лучше осуществлять на следующих платформах:
Можно идти и другим путем — искать компании, которые развиваются по принципам Agile, и написать им. Подойдут и те, у которых нет открытых вакансий, — если специалист хороший, то ему могут ответить, когда появится необходимость.
Много вакансий для разработчиков публикуют в каналах Телеграм, а также в группах ВКонтакте и Фейсбук*. Разберем самые популярные:
На иностранных платформах легче найти нужную вакансию — все-таки, внедрение Agile за рубежом началось давно и активно продолжается. По большей части все крупные компании уже работают по этим принципам. Разберем популярные сайты с вакансиями.
Мы уже сказали, что зарплата у разработчиков Agile порой выше, чем у разработчиков в обычных компаниях. Давайте проверим — сравним данные по России и за рубежом.
По данным Zarplan, мастера Scrum могут получать в районе 276 тысяч рублей. Если посмотреть ставки по регионам России, цифры будут примерно похожими. Данные брали с hh.ru и представили в списке зарплаты специалистов, которые руководят IT-проектами — они знают тонкости и в разработке, и в Agile-подходе.
Москва |
220-300 тысяч рублей |
Екатеринбург |
от 160 тысяч рублей |
Санкт-Петербруг |
от 100 тысяч рублей |
Челябинск |
123 тысячи рублей |
Зарплаты за рубежом у разработчиков Agile составляют, в среднем, 123 тысяч USD по данным сайта ZipRecruiter. Посмотрим, насколько это врено на примере зарплат в США и Англии:
Остин, Техас |
3 500-6000 USD в месяц |
Линкольн, Небраска |
15 000-17 000 USD в месяц |
Сан-Франциско, Калифорния |
20 000-24 000 USD в месяц |
Лондон, Англия |
£24-31 тысяча в год |
Дарлингтон, Англия |
£24-28 тысяч в год |
Глазго, Англия |
£39-47 тысяч в год |
Agile — это философия внутри компании, которая регулирует взгляды, решения и действия каждого члена команды. Подразумевает стремление к постоянному совершенствованию процессов.
Scrum — это методология, которая входит в систему взглядов Agile. Она регулирует работу команды над одним рабочим проектом.
Чтобы стать специалистом в этой сфере, нужно быть экспертом в плане разработки и понимать, как работать в команде, вести проекты и договариваться с заказчиками. Все эти дополнительные знания могут дать курсы по Agile.
После их прохождения можно попробовать устроиться на работу, но важно понимать, что должен быть опыт в сфере разработки — желательно на позиции сеньора или лида, так как такие сотрудники уже умеют вести проекты.
Чтобы построить процесс работы по принципам Agile, нужна сильная команда специалистов с развитым критическим и аналитическим мышлением. Большинство работодателей это понимают, поэтому вряд ли будут искать новичков. Поэтому лучше сначала поработать на позиции обычного разработчика в любой компании — это поможет больше узнать о сфере разработки и даст опыт.