Содержание:
- Базовые вопросы собеседования Agile
- Продвинутые вопросы на собеседовании по Agile
- Вопросы на собеседовании для Scrum-мастера
- Заключение
Agile — самый популярный подход к управлению проектами по разработке ПО, в котором работу разбивают на этапы и постоянно поддерживает обратную связь с пользователем. Это позволяет получить качественный продукт в относительно короткие сроки.
Такой ответ можно дать на самый простой вопрос: что такое Agile-методология. Но на собеседовании по Agile вам могут задать не только простые вопросы, но и повышенного уровня сложности. И чтобы благополучно пройти собеседование, стоит разобраться и в тех, и в других.

Базовые вопросы на собеседовании по Agile
1. Что такое ежедневный стендап?
Ежедневный стендап — это собрание всех членов agile-команды. Его главная цель — узнать текущий прогресс и производительность каждого члена Scrum-команды. Как правило, встречи проходят по утрам, и обычно в них принимают участие владельцы продуктов (Product Owner), разработчики и Scrum-мастер.
Обычно ежедневный стендап проводится, чтобы:
- узнать, что было сделано вчера и каков план на сегодня;
- лучше понимать краткосрочные и долгосрочные цели;
- убедиться, что каждый член команды работает над достижением одной и той же цели;
- привлечь внимание к проблемам членов команды и быстро решить их;
- все члены команды были в курсе текущего состояния задач на проекте.
Каковы преимущества и недостатки Agile-процесса?
Преимущества
Использование Agile-процесса имеет ряд преимуществ:
- Хорошая адаптация к меняющимся требованиям
- Личное общение членов команды и заказчиков
- Фокус на техническом совершенстве и хорошем дизайне
- Быстрое и непрерывное развитие
- Сотрудничество и взаимодействие между командой проекта и заказчиком
- Обеспечение удовлетворенности заказчиков
- Быстрая обратная связь от заказчиков или конечных пользователей
- Быстрое выявление и устранение ошибок, найденных в коде
- Разделение agile проекта на спринты или итерации — короткие и повторяющиеся фазы, обычно продолжительностью 1–4 недели
- Быстрый запуск продукта
- Простота управления и большая гибкость
- Конечная цель может быть неизвестна: Agile выгоден для проектов, где цель может быть не до конца определена и становится более очевидной по мере продвижения проекта
Недостатки
Существует несколько недостатков использования Agile Process:
- Отсутствие официальной документации и проектирования
- Сложности с оценкой необходимых ресурсов и усилий
- Не подходит для небольших проектов разработки
- Более высокие затраты по сравнению с другими методологиями разработки
- Большие затраты времени и энергии каждого члена команды
- Риск постоянного затягивания проекта
- Сложность масштабирования крупных проектов
- Трудности с тестированием и созданием тестов
3. Объясните, что такое Agile-тестирование? Каковы его принципы?
Agile-тестирование — это процесс тестирования ПО, в ходе которого программное обеспечение тестируется на наличие дефектов, ошибок или других проблем. Оно считается главной частью процесса разработки, поскольку позволяет тестировщикам и разработчикам работать вместе как одна команда, что в свою очередь повышает общую производительность. Также Agile-тестирование помогает обеспечить успешную поставку высококачественных продуктов и обычно проводится для того, чтобы тестировщики могли оперативно выявлять и устранять проблемы на всех этапах разработки.

Принципы Agile-тестирования
Существует восемь основных принципов Agile-тестирования:
- Непрерывное тестирование: Agile-команда должна проводить тестирование постоянно, чтобы обеспечить непрерывный прогресс в разработке.
- Постоянная обратная связь: этот процесс обычно предполагает получение обратной связи, чтобы убедиться, что продукт соответствует требованиям заказчика.
- Командная или коллективная работа: тестирование программного обеспечения или приложений могут выполнять не только тестировщики, но и разработчики и бизнес-аналитики.
- Чистый код: команда поддерживает качество ПО, чтобы убедиться, что код чистый и простой для понимания, а все ошибки и дефекты, обнаруженные на этапе тестирования, быстро устраняются в течение одной итерации.
- Меньше документации: вместо объемной документации обычно используются многоразовые чек-листы (reusable checklists).
- Ориентирован на тестирование: в других традиционных методах тестирование выполняется только после завершения всего цикла разработки продукта, но Agile-тестирование подразумевает проведение тестов во время разработки, что помогает своевременно устранять ошибки.
- Удовлетворенность заказчиков: при Agile-тестировании прогресс разработки демонстрируется клиентам или заказчикам, чтобы они могли адаптировать и обновить свои требования. Это делается для обеспечения их удовлетворенности.
4. Какими качествами должен обладать хороший Agile-тестировщик?
Agile-тестировщик должен обладать следующими качествами и навыками:
- позитивный настрой нацеленность на решение проблем;
- нацеленность на достижение цели;
- коммуникабельность;
- способность понимать и точно соблюдать требования заказчиков;
- базовые знания об Agile-процессе и его принципах;
- критическое и творческое мышление;
- умение эффективно делиться идеями с другими членами команды;
- планирование и расстановка приоритетов на основе требований;
- умение быстро адаптироваться к изменениям.
5. Что такое рефакторинг?
Рефакторинг — это работы по изменению или модификации внутренней структуры ПО без каких-либо изменений в его внешнем поведении или функциональности. При этом разработчики вносят некоторые изменения или пересматривают код для улучшения внутренней структуры ПО. Процесс рефакторинга делает код более читаемым, понятным и чистым. Непрерывный рефакторинг помогает упростить расширение и сопровождение кода.
6. В чем разница между бэклогом спринта и бэклогом продукта?
Бэклог спринта (Sprint Backlog). Он содержит те функции и требования, которые относятся только к конкретному спринту и с ним работает команда разработки. Бэклог спринта считается подмножеством Product Backlog, состоит из тасков, которые необходимо сделать для завершения конкретного спринта, и включает только те элементы, которые могут быть выполнены в ходе каждого agile-спринта.
Бэклог продукта (Product Backlog). Обычно он содержит все фичи продукта и технические требования, а ответственность за него несет владелец продукта (Product Owner). В бэклоге продукта собраны необходимые действия для завершения процесса всего процесса разработки продукта, и он более точно отражает конечную цель продукта.

7. Что такое Spike и Zero Sprint в Agile?
Spike. Спайки — это небольшие реализации функциональности для решения технических вопросов и проблем проектирования в проекте. Они используются в рамках слишком большой и сложной пользовательской истории при разработке ПО, которую невозможно оценить пока команда разработчиков не проведет быстрое исследование.
Zero Sprint. Нулевой спринт — подготовительный этап проекта, который идет непосредственно перед первым спринтом. Он включает в себя все виды деятельности, такие как настройка среды разработки, подготовка бэклога и т. д.
8. В чем разница между Agile-методологией (Agile Software Development) и традиционной методологией разработки ПО?
Agile Software Development: это итеративный подход, который используется для проектирования сложного программного обеспечения. При этом методе команда на проекте может быть более гибкой и гарантировать, что конечный продукт будет соответствать требованиям заказчика. При таком подходе продукты разрабатываются с учетом требований заказчика и внесенных им в течении разработки изменений, а также в более короткие итерации-спринты

Традиционная разработка ПО — это линейный подход, который используется для проектирования простого ПО и подразумевает последовательное прохождение всех этапов процесса. Он больше подходит для проектов, где потенциальные изменения в требованиях почти невозможны.

| Agile Software Development | Традиционная разработка ПО |
|---|---|
| Подход больше ориентирован на командную работу, гибкость, сотрудничество с заказчиками и быструю разработку функциональности (фичей) | Подход больше ориентирован на предварительное планирование и придает большое значение таким факторам, как стоимость, объем и время |
| Тестирование обычно проводится параллельно с разработкой | Тестирование обычно проводится в конце процесса разработки |
| Тестирование проводится на небольших компонентах функциональности (фичах) | Проводится тестирование сразу всего приложения |
| В процесс разработки вовлечены все заинтересованные стороны, включая заказчиков | Метод не предполагает вовлечения всех заинтересованных сторон в процесс разработки |
| Тестировщики и разработчики работают вместе для достижения цели | Тестировщики и разработчики работают раздельно |
| Команда разработчиков и тестировщиков сотрудничает с заказчиками на каждом этапе процесса | Команда разработчиков и тестировщиков взаимодействуют с заказчиками только на этапе обсуждения требований |
| Agile-процессы больше сфокусированы на цели более гибкие по сравнению с традиционными процессами | Традиционный процесс менее гибок по сравнению с agile-процессом |
| Этот метод больше подходит для сложных проектов | Этот метод больше подходит для небольших или менее сложных проектов |
9. Что вы подразумеваете под термином «velocity» в Agile?
Velocity (скорость) — это метрика, которая отражает, какой объем работы команда разработчиков может успешно завершить за один спринт и сколько времени потребуется для завершения проекта.
Измеряется она обычно в часах или SP (Story Points), широко используется для создания точных и эффективных графиков, а также применяется для выявления проблем и оценки улучшений продукта в будущем.

10. Назовите типы Agile-методологии
Ниже перечислены различные типы Agile-методов и фреймворков, широко используемых для разработки программного обеспечения и развития проектов:
- Scrum: используется для выдвижения гипотез, их проверки и дальнейшего внесения корректировок. Он в значительной степени зависит от обратной связи, самоуправления, небольших команд и работы, разбитой на спринты. Он опирается на инкрементную модель разработки.
- Kanban: управление проектами осуществляется с помощью доски или таблицы, которая позволяет членам команды следить за рабочим процессом и отслеживать прогресс, а также содержит всю необходимую информацию для каждого этапа создания продукта вплоть до его завершения. Основная цель метода — гибкость в управлении задачами, постоянное совершенствование и улучшение рабочего процесса.
- FDD (Feature-Driven Development, разработка на основе функций): предусматривает создание моделей программного обеспечения каждые две недели с разработкой и проектированием каждой функции. По сути, это легкий итеративный и инкрементальный процесс разработки, ориентированный на своевременную поставку стабильного и работоспособного программного обеспечения.
- Бережливая разработка ПО: нацелена на минимизацию потерь и максимизацию ценности для клиента. Метод ориентирован на повышение эффективности процесса для достижения оптимальных результатов. Полностью основан на двух принципах: уважение к людям и постоянное совершенствование.
- XP (Extreme Programming, экстремальное программирование): ориентировано на создание наиболее качественного программного обеспечения и комфортных условий работы для команды разработчиков. Считается низкорисковым гибким подходом, гарантирующим удовлетворение потребностей заказчика. В этом методе программное обеспечение тестируется с самого первого дня, а для улучшения процесса разработки используется обратная связь.
- DSDM (Dynamic Systems Development Method, метод динамической разработки систем): охватывает, как правило, весь жизненный цикл проекта, а его главная цель — гарантировать хорошую структуру управления как основу для проект-менеджмента. Ориентирован на пользователя и предполагает, что изменения в проекте всегда ожидаемы. Также он предлагает наличие полной дорожной карты для поставки продуктов в срок и в рамках бюджета.
- ASD (Adaptive Software Development, адаптивная разработка ПО): предполагает концепцию,, согласно которой проекты должны находиться в состоянии постоянной адаптации. Включает в себя цикл из трех повторяющихся этапов: размышление, взаимодействие и обучение.
- Crystal: в основном фокусируется на людях и их взаимодействии, а не на процессах. Считается одним из самых легких и гибких подходов к разработке ПО. Семейство гибких методологий Crystal включает в себя несколько вариантов: crystal clear, crystal yellow, crystal orange и crystal red.
11. Что такое инкрементальная и итеративная разработка?
Итеративная разработка — это процесс разработки программного обеспечения, в котором циклы разработки (спринты и релизы) повторяются до тех пор, пока не будет получен конечный продукт. На основе обратной связи от клиентов или пользователей продукт разрабатывается повторно в циклах или релизах и спринтах, происходит итеративное добавление новой функциональности в продукт.
Инкрементальная разработка — это процесс разработки программного обеспечения, в котором работа разбивается на инкременты (части, порции). В этом случае программное обеспечение разрабатывается и поставляется частями (инкрементами), каждая из которых имеет полный набор функций. Инкременты могут быть как небольшими, так и объемными, и каждый полностью кодируется и тестируется. После тестирования каждого инкремента все они интегрируются в единое целое.
12. Что такое дорожная карта продукта?
Дорожная карта продукта, как следует из названия, — это эффективный инструмент, описывающий предполагаемое развитие продукта с течением времени. Это целостное видение характеристик и функциональных возможностей продукта. В карте указывается, что именно разрабатывается, каковы бизнес-цели нового продукта, какие проблемы он призван решить и т.д. Ответственность за карту продукта несет продакт-менеджер. А сама карта побуждает команду разработчиков действовать сообща, чтобы достичь желаемой цели для успешной реализации продукта.
13. Какие инструменты управления проектами чаще всего используются в Agile?
К числу инструментов управления проектами, наиболее широко применяемых в Agile, относятся:
- IceScrum
- Rally Software (Broadcom Rally)
- Agilent
- VersionOne
- Agilo
- X-Planner
Продвинутые вопросы на собеседовании по Agile
1. Назовите три основных Agile-фреймворка, кроме Scrum, для разработки продукта
Помимо Scrum существует три основных Agile-фреймворка:
- Kanban
- Test-Driven Development (TDD, Разработка через тестирование)
- Feature Driven Development (FDD, Разработка на основе функций)
2. Что такое техника Planning Poker?
Planning Poker («Покер планирования») — это техника, основанная на консенсусе всех участников проекта. Она позволяет agile-командам оценить время и усилия, необходимые для выполнения задач из бэклога, и заблаговременно выявить проблемы. Это значительно сокращает время на проведение встреч, позволяя давать оценки всей команде для повышения ее продуктивности и эффективности. В основном, техника покера планирования используется для того, чтобы избежать влияния участников команды друг на друга и дать возможность каждому участнику думать независимо от других и высказывать свое мнение.
3. Что такое Sprint Planning Meeting, Sprint Review и Sprint Retrospective Meeting?
- Sprint Planning Meeting (Планирование спринта). На таких встречах обычно обсуждаются новые фичи (новый функционал, доработки), а также задачи бэклога (пользовательские истории), которые необходимо реализовать. На планингах обычно присутствуют: владелец продукта (product owner), scrum-мастер и команда. Встречи проводятся еженедельно и длятся около часа.
- Sprint Review Meeting (Обзор Спринта). На таких встречах Scrum-команда проводит демонстрацию продукта. После этого владелец продукта определяет, какие элементы выполнены, а какие необходимо доработать. Также владелец продукта может добавить новые задачи в бэклог продукта на основе клиентских и пользовательских отзывов. Основная цель владельца продукта на этих встречах — проверить реализованный в течение спринта функционал продукта и при необходимости добавить или перенести требования в следующий спринт.

- Sprint Retrospective Meeting (Ретроспектива Спринта). Эта встреча проходит после планирования спринта. На ней scrum-команда анализирует задачи, обсуждает ошибки прошедшего спринта, потенциальные проблемы и методы их решения. Главной целью таких встреч, который длятся обычно около 2–3 часов, является улучшение процесса разработки.

4. Что такое Increment?
Increment (Инкремент) — это сумма всех элементов бэклога продукта, которые были завершены в текущем и предыдущем спринтах.
Что такое стандартные Agile-метрики?
Стандартные Agile-метрики — это показатели, которые используются для оценки работы команды. Метрики используются для определения качества работы команды, ее производительности и прогресса. Основное внимание уделяется ценности, которую команда создает для заказчиков, и тому, как это сказывается на конечных пользователях.
Стандартные метрики Agile-проекта:
- Velocity (Скорость): определяет объем работы, выполненной командой в течение спринта, и дает представление о прогрессе и производительности команды.
- Cumulative Flow Diagram (Накопительная диаграмма потока): используется для мониторинга текущего прогресса работы команды. С ее помощью удобно не только отслеживать прогресс работы команд, но и управлять стабильностью потока.
- Defect Removal Awareness (Контроль за устранением дефектов): используется для измерения возможности устранять дефекты до выпуска продукта. Данная метрика помогает поддерживать высокое качество продуктов рабочей командой.
- Work Category Allocation (Распределение работы на категории): помогает определить, на какие категории/направления команда тратит свое время, чтобы верно расставить или скорректировать приоритеты для команд.
- Sprint Burndown Metric (Диаграмма сгорания работ спринта): используется для измерения общего количества завершенных спринтов или задач по отношению к изначально запланированным в спринт. Данная диаграмма показывает прогресс выполнения задач в течение спринта.
- Defect Resolution Time (Время устранения дефекта): используется для измерения времени, затраченного командой на выявление и исправление дефектов или ошибок в разрабатываемом программном обеспечении.
- Time Coverage или Code Coverage (Покрытие кода тестами): это показатель того, сколько времени отводится на на тестирование кода. Это помогает понять, какой объем кода тестируется, а также помогает оценить эффективность тестирования.
- Business Value Delivered (Коммерческая ценность непрерывной поставки): используется для измерения эффективности работы команды.
6. Какие существуют типы диаграмм сгорания задач?
Типы диаграмм сгорания задач:
- Product Burndown Chart (Диаграмма сгорания задач продукта): тип диаграммы, который используется для отображения всех стори-поинтов (точек пользовательских историй) каждого завершенного спринта, чтобы отобразить прогресс выполнения требований во времени. В основном она показывает, сколько целей продукта уже достигнуто командой и сколько работы осталось.
- Sprint Burndown Chart (Диаграмма сгорания задач спринта): тип диаграммы, который используется для отображения оставшихся задач scrum-команды в текущем спринте. Диаграмма делает работу команды видимой и показывает скорость выполнения задач.
- Release Burndown Chart (Диаграмма сгорания задач релиза): тип диаграммы, который показывает, как команда продвигается в работе над релизом. Такие диаграммы строятся командой в конце каждого спринта, а их ценность заключается в контроле процесса выполнения задач спринта.
- Defect Burndown Chart (Диаграмма сгорания дефектов): тип диаграммы, который используется для отображения общего количества дефектов/ошибок, которые были выявлены и исправлены/устранены командой.
7. В чем разница между Agile и Scrum?
Agile — это подход, который основан на пошаговом выполнении задач и используется в основном для разработки ПО. Команды, следующие принципам Agile, разбивают сложные проекты на более мелкие единицы, которые можно выполнить в определенные сроки и всегда вовлекают заказчиков в процесс разработки.
Scrum — это одна из из наиболее распространенных agile-методологий. С ее помощью команды структурируют свою работу, разбивая разработку продукта на короткие циклы (спринты). В начале спринта ставятся цели, а в конце — подводятся итоги и проводится анализ результатов. Такой подход способствует развитию ответственности, функциональности и командной работе.
Между Agile и Scrum есть определенные различия, которые приведены ниже.
| Agile | Scrum |
|---|---|
| Методология, используемая для разработки ПО и управления проектами | Один из фреймворков Agile, полностью описывающий его процесс и его этапы |
| Основан на пошаговой и итеративной модели, известной как спринты | По сути, это подход или реализация agile-методологии |
| Больше подходит для проектов, в которых обычно задействована небольшая команда экспертов | Больше подходит для проектов, в которых предполагается большое количество меняющихся требований |
| Долгосрочный процесс | Процесс, поделенный на короткие, ограниченные по времени периоды |
| Требует простого и понятного проектирования и исполнения | Требует инноваций, создания дизайна и исполнения |
| Все задачи решаются и находятся под управлением руководителя проекта | Все задачи и вопросы решаются коллективно всеми членами команды |
| Особое внимание уделяется личному общению для достижения желаемых целей | Основное внимание уделяется доставке бизнес-ценности |
| Менее жесткий метод с большей гибкостью для изменений | Более жесткий метод с меньшей ориентированностью на изменения |
8. Что вы подразумеваете под парным программированием? Опишите его преимущества
Pair programming (Парное программирование) — это тип программирования, применяемый в технике Agile, когда два разработчика одновременно работают с кодом: первый разработчик непосредственно пишет код, а другой проверяет и просматривает каждую строку кода. В любой момент времени они могут поменяться местами.

Преимущества парного программирования
- Высокое качество кода
- Снижение риска возникновения ошибок
- Эффективный способ обмена знаниями внутри команды
- Высокая производительность
- Эффективная коммуникация между членами команды
9. Что такое манифест Agile? Какие ценности и принципы в нем заложены?
Agile-манифест — это документ, в котором сформулированы ключевые ценности и принципы методологии Agile. В документе, созданном в начале 2001 года,изложены 4 базовые ценности и 12 принципов, которые помогают командам работать эффективнее, стимулируют сотрудничество, внедрение итеративной разработки и постоянное улучшение процессов
4 Agile-ценности:
- Люди и взаимодействие важнее процессов и инструментов: основное внимание уделяется взаимодействию с заказчиками.
- Работающий продукт важнее исчерпывающей документации: основной акцент делается на обеспечении того, чтобы проект достигал всех конечных результатов и целей.
- Сотрудничество с заказчиком важнее согласования условий контракта: регулярное взаимодействие с заказчиком в течение всего жизненного цикла проекта помогает лучше понимать его потребности и снижает риск выпуска продукта, не соответствующего ожиданиям.
- Готовность к изменениям важнее следования плану: Agile приветствует гибкость и адаптацию, поэтому команда должна быть готова к постоянным изменениям, которые вносятся в требования к продукту. Для этого в Agile команды работают короткими спринтами, чтобы оперативно реагировать на новые требования.
12 принципов Agile:
- Удовлетворенность заказчика: выполнение требований клиентов или заказчиков является наивысшим приоритетом.
- Приветствуются изменения требований: даже на поздних этапах процесса разработки изменения приветствуются — они могут существенно повысить ценность продукта.
- Частые поставки рабочего продукта: версии продукта должны выпускаться как можно чаще в максимально короткие сроки.
- Плотное сотрудничество между бизнесом и командой: взаимодействие во время всего жизненного цикла продукта помогает избежать синхронизировать цели и получить продукт высокого качества.
- Мотивированная команда: для выпуска и реализации высококачественного продукта важно, чтобы команда работала была обеспечена всеми необходимыми для эффективной работы условиями и поддержкой.
- Непосредственное общение (лицом-к-лицу): Agile делает акцент на прямом диалоге, как на наиболее эффективном способе добиться понимания и быстро решить вопросы.
- Работающий продукт: передача работоспособного продукта заказчику является главной задачей Agile.
- Поддержание постоянного темпа: Agile предполагает поддержание постоянного темпа работы, без перегрузок, чтобы все команды, спонсоры, разработчики и пользователи, вовлеченные в Agile-процесс, могли работать на длительной дистанции.
- Техническое совершенство: фокус на качественной архитектуре и внимание к деталям для повышения качества и гибкости.
- Простота: команда должна сосредотачиваться на действительно важных задачах и функциях для минимизации объема работы и времени, затрачиваемого на сложную функциональность и/или на задачи, которые не являются важными.
- Самоорганизация: Agile-команда должна быть кросс-функциональной, самоорганизованной уметь самостоятельно распределять свои ресурсы в зависимости от текущих рабочих задач. Она не должна зависеть от менеджера при планировании работ. Только так можно рассчитывать на выпуск качественного продукта.
- Анализ и корректировки: Для повышения эффективности команда должна проводить анализ и оценку своей работы. Это делается для того, чтобы вовремя выявить свои ошибки и слабые стороны и понять, что необходимо предпринять для улучшения своей производительности.
10. Что такое Burn-up Chart и Burn-down Chart в Agile?
Burn-up Chart (Диаграмма накопления): Это тип диаграммы, которая показывает объем проделанной работы по отношению к общему объему работ по проекту.
Burn-down Chart (Диаграмма сгорания): Это тип диаграммы, которая наглядно отображает, сколько работы еще осталось выполнить в проекте.
Вопросы на собеседовании для Scrum-мастера
1. Назовите основные артефакты Scrum Framework
Существует три основных артефакта фреймворка Scrum:

- Product Backlog (Бэклог продукта): список всех требований к продукту, составленный заказчиком, которые должны быть выполнены до конца проекта.
- Sprint Backlog (Бэклог спринта): список всех задач, отобранных для реализации в текущем спринте.
- Product Increment (Инкремент продукта): готовая к поставке версия конечного продукта, полученная в результате завершения каждого спринта.
2. Что такое Scrum? Каковы его преимущества?
Scrum — это фреймворк, использующий принципы Agile, который помогает командам совместно управлять процессом разработки продукта для поставки его в кратчайшие сроки. Чаще всего Scrum используется для управления проектами по разработке ПО, но также его можно использовать в в бизнес-контексте.
Преимущества Scrum:
- высокая скорость релизов продукта для пользователей и клиентов;
- эффективное использование времени и средств, а значит экономия на затратах;
- нацеленность на быструю реализацию проектов;
- возможность вносить изменения по мере их появления;
- упор на креативность и инновации для повышения коммерческой ценности продукта;
- возможность разложить большие и сложные проекты на небольшие и легко управляемые части (спринты).
3. Какие роли существуют в Scrum?
В Scrum существуют три основные роли:

Scrum Master (Скрам мастер): руководитель или супервайзер команды, но не в традиционном понимании, это скорее координатор, который помогает команде работать по Scrum и отвечает за то, чтобы поставленные перед ней задачи выполнялись должным образом.
Product Owner (Владелец продукта): участник проекта, который отвечает за управление бэклогом продукта, а также следит, чтобы продукт соответствовал стратегическим целям и потребностям пользователя.
Development Team (Команда разработчиков): группа специалистов, которая отвечает за разработку фактических инкрементов продукта и достижение целей спринта.
4. Кто такой Scrum-мастер? Какие у него обязанности?
Scrum-мастер (Scrum Master) — человек, который отвечает за управление и взаимодействие между участниками команды разработки, а также следит за тем, чтобы соблюдалась структура и правила Scrum. Также иногда выполняет роль коуча для команды, помогая ей развиваться и совершенствоваться.

Обязанности Scrum-мастера:
- защита команды от внешних отвлекающих факторов;
- мотивация и руководство командой для достижения цели спринта;
- формирование самоорганизованной и мотивированной команды;
- повышение эффективности и производительности команды;
- обеспечение выполнения командой задач в течение спринта;
- контроль за тем, чтобы команда следовала ценностям, практикам и принципам Scrum;
- устранение внешних препятствий и управление внутренними процессами в команде;
- проведение регулярных встреч для решения любых вопросов.
5. Дайте определение термина User story, Epic и Tasks в Scrum?
- Epic (Эпик) — это крупная задача или цель, которую нельзя завершить за один спринт. Именно поэтому эпики перед началом работы с ними разбиваются на более мелкие задачи, которые можно выполнить в течение одного или нескольких спринтов.
- User story (Пользовательская история) — наименьший модуль, который можно реализовать и завершить за один спринт и разбить на одну или несколько задач.
- Tasks (Задачи) — подробно и детально описанное, конкретное действие, которое необходимо для реализации пользовательских историй.
6. Какие инструменты чаще всего используются в Scrum-проекте?
В проектах Scrum чаще всего используются следующие инструменты:
- VersionOne
- Sprintster
- Atlassian JIRA
- RTC (Rational Team Concert) Jazz и т.д.
7. Дайте определение термина Timeboxing в Scrum
Timeboxing (Таймбоксинг) — это метод управления временем, который предполагает выделение для каждой задачи фиксированной величины, называемой “таймбокс”. Максимальная продолжительность таймбокса составляет 15 минут.
Метод не только помогает сконцентрироваться на выполнении задачи, но и приводит к повышению производительности. В Scrum есть некоторые события, ограниченные по времени. Таким событиям отводят максимально возможный, фиксированный период времени.
Примеры таких событий
- Спринт
- Планирование спринта
- Дейли (Ежедневный Scrum)
- Демо спринта (Обзор Спринта)
- Ретроспектива спринта

8. Что такое Impediments в Scrum?
Impediments (блокеры) — это то, что блокирует или останавливает работу команды. Из-за таких препятствий команда не может вовремя выполнить задачу, и сроки всего проекта сдвигаются. Ответственность за устранение таких препятствий лежит на Scrum-мастере.
Примеры блокеров
- Отсутствие или нехватка ресурса
- Строгий, неуступчивый заказчик или член команды
- Техническая или операционная проблема
- Отключение электроэнергии
- Непонимание принципов Agile или Scrum
- Обстоятельства и условия, не зависящие от Scrum-команды
- Бизнес-проблемы
9. Какова основная роль Sashimi в Scrum?
Sashimi (Сашими) — это японское слово, означающее «пронзенное тело». Применительно к Scrum сашими — это техника, которая используется для проверки того, все ли фазы цикла разработки ПО завершены после показа продукта. Фазы включают: анализ требований, планирование, проектирование, разработку, тестирование и документирование.
10. Что такое Story point в Scrum?
Story point (Стори-поинт) — это величина для оценки общих усилий, необходимых выполнения конкретной задачи. Она позволяет получить более точные показатели, сократить время планирования и точнее спрогнозировать дату релиза.
11. Дайте определение термина Scrum of Scrums (SoS)?
Scrum of Scrum — это Agile-метод, который помогает объединять сразу несколько команд, работающих над одним проектом, для эффективной коммуникации в рамках реализации сложного проекта.
На таких встречах представители отдельных команд предоставляют другим участникам последние версии своей работы. Главная цель Scrum of Scrum — обеспечить координацию и интеграцию команд на основе принципов прозрачности, контроля и адаптивности.

Заключение
Теперь вы имеете представление о том, что такое методология Agile, каковы ее принципы и особенности. И самое главное, вы знаете, чего ожидать на собеседовании по Agile, какие вопросы обычно звучат на таких интервью и как на них правильно ответить.
Перевод статьи «Agile Interview Questions»
