Да пребудет с вами Agile: гайд по основным терминам + курсы
Понятия Agile и Scrum давно и прочно вошли в словарь ИТ-специалистов. Но не каждый, кто руководствуется в своей работе принципами манифеста Agile (или так думает), делает это правильно.
Мы составили краткий гайд по Agile в вопросах и ответах и подготовили список курсов, которые помогут разобраться в том, как организовать настоящую команду Scrum и эффективно применять Agile на практике, даже если вы далеки от ИТ.
Agile часто определяют как гибкую методологию разработки, что не совсем верно, т. к. Agile — это подход к разработке ПО, совокупность принципов, которые лежат в основе целого набора конкретных фреймворков. Их объединяет сосредоточенность на клиенте и его целях, работа короткими циклами-итерациями, стремление к максимальному упрощению правил, процессов, структур и т. д., большое значение обратной связи и расширение полномочий сотрудников. Другими словами, Agile — это образ мышления, философия и культура, суть которой изложена в Манифесте Agile.
Кто придумал Agile?
Agile, а точнее Agile Манифест или Манифест гибкой разработки программного обеспечения был сформулирован в 2001 году в США группой Snowbird 17, которая состояла из ИТ-специалистов. Их виденье того, как упростить работу и повысить ее эффективность, и легло в основу Манифеста.
Какие основные идеи и принципы Agile?
Главных идей и принципов Agile, которые составляют суть этого подхода и так или иначе определяют любую гибкую методологию разработки, не так уж много.
4 идеи Agile
Люди и их взаимодействие важнее процессов и инструментов.
Программное обеспечение, которое работает, важнее исчерпывающей документации.
Сотрудничество с клиентами важнее обсуждения и согласования условий контракта.
Готовность к изменениям важнее соблюдения первоначального плана.
12 принципов Agile
Удовлетворение потребностей заказчика — главный приоритет.
Изменение требований на любом этапе разработки — нормальная практика.
Как можно более частый выпуск работающего продукта (от двух недель до двух месяцев).
Ежедневное взаимодействие заказчика и разработчиков.
Работа с мотивированными профессионалами, которая строится на поддержке и доверии.
Непосредственное общение — это основной и наиболее эффективный способ коммуникации.
Работающий продукт — это самый важный показатель прогресса.
Поддержание постоянного ритма работы обеспечивает устойчивость процесса разработки.
Постоянное внимание к техническому совершенству и качеству повышает гибкость проекта.
Минимизация лишней работы.
Самоорганизующиеся команды создают самые качественные и эффективные решения.
Систематический анализ способов улучшения эффективности работы и корректировка стиля работы.
Какие методологии разработки основываются на принципах Agile?
Это гибкие методологии Scrum, Kanban, экстремальное программирование (XP), DSDM, Crystal, FDD. Самой популярной из них считается Scrum. Ее используют более половины компаний, которые используют Agile-подход.
Scrum представляет собой набор правил, цель которых — создать условия для гибкой, ускоренной разработки и эффективного выстраивания рабочих процессов. В Scrum продукт создается поэтапно, а за адаптацию всех процессов отвечают одна или несколько самоорганизованных команд. У этого фреймворка есть свой набор ценностей, которые помогают создать атмосферу доверия, необходимую для эффективной работы. Это смелость, сосредоточенность, ответственность, уважение и открытость.
Scrum называют эвристической методологией, т. к. в его основе лежит идея о постоянном совершенствовании через обучение и адаптацию. Команда проекта не знает изначально, как точно он будет развиваться. В процессе работы она осваивает навыки самоорганизации, приспосабливается к меняющимся требованиям, анализирует успехи и неудачи и использует полученный опыт для того, чтобы сделать свою деятельность более эффективной.
Как проходит процесс разработки в Scrum?
Процесс создания продукта начинается не с составления или изучения технического задания, которого в принципе нет в Scrum, а с бэклога.
Бэклог — это список задач, составленный на основе желаний и требований заказчика к системе, ее функциональности. Все задачи располагаются в бэклоге в порядке их приоритетности. Это помогает команде понять, какие из них стоит выполнить в первую очередь. Бэклог не создается раз и навсегда: в него постоянно вносятся изменения, т. к. может возникнуть необходимость в добавлении новой функциональности, измениться приоритеты и т. д.
Весь процесс разработки делится на спринты — итерации фиксированной длинны, в течение которых команда выполняет определенный объем работы. Обычно они занимают от 1 до 4 недель.
Команда забирает из бэклога часть задач, которые согласованны и должны быть выполнены за итерацию, и приступает к их выполнению. Такие задачи называются бэклогом спринта. В идеале в конце каждого спринта создается инкремент продукта — готовый к использованию конечный продукт, например, работающая функция ПО, его прототип и т. п.
Бэклог продукта, бэклог спринта и инкремент объединяются термином «артефакты Scrum» — это работа, которую нужно выполнить, чтобы завершить спринт или проект.
Как организована работа команды?
В Scrum очень важно постоянное обсуждение работы, полученных результатов, проблем и вариантов их решения. Поэтому процесс создания продукта включает набор мероприятий или Scrum-событий, на которых члены команды оценивают свои достижения и возникающие сложности.
К ним относятся:
ежедневный Scrum (стендап, Scrum-митинг) — встреча не более, чем на 15 минут, где команда разработчиков рассказывает о том, что сделано, какие проблемы возникли, планируется дневное расписание и синхронизируется работа всей команды;
планирование спринта проводится перед началом каждой итерации. На этой встрече презентуют продукт, назначают приоритеты и определяют объем работы, который должен быть выполнен к концу спринта;
обзор спринта (демонстрация) проходит в конце каждой итерации. На ней демонстрируется инкремент продукта, разработанный за время спринта;
ретроспектива — встреча, которая проводится после каждого спринта с целью обсудить, что и как можно улучшить в следующей итерации для повышения эффективности работы.
Как распределяются роли в команде Scrum?
Scrum предусматривает три основные роли, которые определяют структуру Scrum-команды. Это Product Owner (владелец продукта), Scrum Master (Scrum-мастер, Scrum-менеджер) и Scrum Development Team (команда разработки, команда разработчиков). Каждая из этих ролей имеет свой набор функций и зону ответственности.
Владельца продукта можно назвать посредником между заказчиком и разработчиками. Он собирает концепцию продукта на основе требований стейкхолдеров, доносит их до технических специалистов, формулирует задачи, определяет их приоритет, ведет бэклог продукта, управляет релизами и заинтересованными сторонами.
Scrum-мастер отвечает за эффективную реализацию методики Scrum. Он помогает наладить групповую коммуникацию, оптимизировать процесс поставки продукта и «защищает» команду от любых отвлекающих факторов. В зону ответственности Scrum-мастера также входит координирование ежедневных процессов: фиксация начала спринта, дедлайнов, добавление оценок и т. д.
Команда разработчиков — специалисты, которые выполняют все технические задачи по созданию продукта. Т. е. под этим термином понимаются не только программисты, но и дизайнеры, аналитики и другие участники команды. Команда разработчиков обычно состоит из 5–7 человек (иногда встречается формула 6 ± 3). Важно, чтобы команда была стабильной и все члены группы понимали, как работает продукт, ведь именно команда разработчиков отвечает за его поставку и качество.
Зачем применять Agile?
Гибкие методологии разработки позволяют максимально быстро реагировать на изменяющиеся требования заказчиков и ситуацию на рынке, а это дает компании конкурентное преимущество и помогает удержать клиентов. Кроме того Agile и Scrum позволяют снизить экономические издержки без ущерба для эффективности работы. Немаловажен и человеческий фактор. Все гибкие методологии подразумевают гуманистический подход: полномочия (и ответственность) сотрудников растут, стимулируя их мотивацию и давая возможности для самореализации, что положительно влияет на результаты работы.
Где и когда стоит использовать Agile-подход?
Несмотря на то, что в Agile-манифесте речь идет о разработке ПО, применять принципы Agile можно не только в ИТ-сфере. Они будут работать практически в любой области, которая связана с проектной деятельностью. Если вам важна ориентация на клиента, его потребности и командная работа, у вас нет точно сформулированных конечных задач, но есть множество факторов, способных повлиять на итоговый результат, а все члены вашей команды мотивированны и организованны, то Agile вам точно подойдет.
Эта специализация предназначена для того, чтобы помочь новичкам в Scrum овладеть базовыми знаниями. В ней вы узнаете об управлении задачами и событиями в рамках спринта, терминологии и ролях Scrum, отчетности Scrum и управлении рисками, обсудите сюжетные моменты и истории пользователей, масштабирование Scrum, непрерывную интеграцию, разработку, основанную на тестировании (TDD), и разработку, основанную на поведении (BDD).
За время обучения вы создадите план непрерывной интеграции, определите кросс-функциональные функции команды и разработаете план для практик DevOps с использованием облака и виртуализации.
Agile-подход к разработке программного обеспечения (Udacity)
Все, что понадобится вам для начала обучения на этом курсе, — базовая компьютерная грамотность.
Вы изучите самые популярные гибкие методологии разработки: Scrum, Kanban и XP, поймете, как использовать Agile-подход в управлении так, чтобы принести максимальную пользу бизнесу, и научитесь планировать и определять приоритеты по Agile. Сможете составлять план релизов, создавать метрики, которые отображают статус продукта, и освоите необходимые для этого инструменты. Отдельный блок курса посвящен выявлению и снижению рисков, выстраиванию коммуникации внутри команды и с заказчиками.
Обучение включает работу над реальными кейсами, поддержку менторов и карьерные консультации.
Гибкая разработка программного обеспечения (Coursera)
Индустрия программного обеспечения сходит с ума по гибким методам. Они быстро становятся выбором для разработки программного обеспечения, где требования непредсказуемы или ожидается, что они будут меняться с течением времени. Этот курс поможет вам получить знания о том, что такое agile? Почему agile лучше подходит для таких ситуаций? Вы также подробно рассмотрите некоторые из наиболее распространенных гибких фреймворков, таких как scrum и XP.
Тренинг для подготовки к сертификации Professional Scrum Master I (Udemy)
Этот курс можно пройти всем, кто хочет получить базовое представление о Scrum, внедрить его принципы в свою работу или подготовиться к сертификации PSM I.
Программа разработана в соответствии со Scrum Guide 2020 и основными темами сертификационного экзамена. Курс будет полезен и новичкам в Scrum, т. к. в нем рассматриваются основные понятия и принципы этого фреймворка, и тем, кто готовится к сертификации. Три теста помогут проверить знания, а советы — избежать частых ошибок на экзамене.
После успешного завершения этого курса вы сможете использовать гибкие концепции адаптивного планирования, итеративной разработки и непрерывного совершенствования, что приведет к ранним поставкам и повышению ценности для клиентов. Этот курс будет полезен всем, кто хочет научться использовать Agile. Он особенно подходит для ИТ-специалистов, таких как разработчики программного обеспечения, менеджеры по разработке, руководители проектов, менеджеры по продуктам и руководители высшего звена.
Специализация из пяти курсов дает возможность освоить основы Agile и Scrum и не требует никакой предварительной подготовки.
Цель программы — познакомить студентов с принципами Agile и применением этого подхода в реальной жизни. Вы поймете, как проходит процесс работы, планируются спринты и распределяются роли в команде Scrum. Разберетесь с особенностями Agile-лидерства, отличиями методологий Lean и Scrum, сможете эффективно выстраивать процесс непрерывного совершенствования и коммуникацию в команде.
Помимо практики и принципов, вы изучите прикладные навыки, которые позволяют команде добиться успеха. Применяя основанный на фактических данных подход на всех четырех курсах специализации, вы будете практиковать то, чему научились.
На курсе вы узнаете, как определить, что ценно для пользователя на ранней стадии. Узнаете, как организовать и сфокусировать программу аналитики (и data science), которая способствует достижению ваших основных целей, а также будете знать, как итеративно определять и тестировать правильные гибкие практики от ведущих фреймворков, таких как scrum, XP и kanban.
Постоянные перемены стали реальностью нашего времени. Agile стал популярной философией лидерства и методологией управления проектами для решения этой проблемы. Хотя теория проста, гораздо сложнее стать гибким на практике.
Чтобы преодолеть разрыв между простой теорией и сложным применением, вы узнаете о трех важнейших компонентах успеха для реализации Agile на практике.
В рамках этой специализации вы узнаете, как стать гибким лидером, как создавать гибкие команды, используя гибкую философию и инструменты Scrum, а также как подойти к преобразованию традиционной организации в Agile.
Основы Agile для работы: управление и поставка продукта (SkillShare)
Автор курса называет его «Agile для чайников», поэтому он подойдет всем, кто интересуется гибкими методологиями, независимо от уровня подготовки.
Вы начнете с самых основ, истории Agile, его принципов и отличий от других подходов к разработке, узнаете, как проводить ежедневный Scrum и рестроспективы, работать с Kanban-досками и системой Jira. Изучите действенные способы организации и управления командой и, самое главное, сможете использовать Agile в своей ежедневной работе, даже если вы далеки от ИТ-сферы.
Среди преимуществ курса студенты особенно отмечают простоту и понятность подачи материала, также к его плюсам можно отнести оперативную обратную связь и поддержку инструктора.
8 онлайн-курсов и интенсивов для Product Manager (февраль, 2024)
Собрали проверенные онлайн-курсы и интенсивы для Product Manager. В этой подборке: курсы от действующего PM в Microsoft, актуальная специализация по управлению продуктами в сфере AI, курсы для начинающих специалистов и лайфхаки как проходить собеседования на позицию продакта.
Как очистить Mac? Лучшие платные приложения для macOS (август 2024 г.)
Чем просканировать накопившийся за время работы мусор на диске вашего в Мака и навести порядок? Рассказываем о 7 платных приложениях для очистки macOS. Мы не называем их лучшими — просто советуем обратить на них внимание.
11 лучших сертификаций Coursera, чтобы освоить новую специальность (август, 2023)
Проанализировали Coursera в поисках лучших профессиональных программ на 2023 год, прохождение которых позволит получить востребованную специальность. Рассказываем, на какие направления обратить внимание и как сертификация Coursera помогает изменить вашу карьеру.
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digitaldefynd мы составили список курсов по Java, которые подойдут как новичкам, так и людям с опытом программирования, чтобы освоить этот востребованный язык.
Хотите сообщить важную новость? Пишите в Telegram-бот
Главные события и полезные ссылки в нашем Telegram-канале
Обсуждение
Комментируйте без ограничений
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.