Базовые и продвинутые вопросы на собеседовании по Agile

Содержание:

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 есть определенные различия, которые приведены ниже.

AgileScrum
Методология, используемая для разработки ПО и управления проектамиОдин из фреймворков Agile, полностью описывающий его процесс и его этапы
Основан на пошаговой и итеративной модели, известной как спринтыПо сути, это подход или реализация agile-методологии
Больше подходит для проектов, в которых обычно задействована небольшая команда экспертовБольше подходит для проектов, в которых предполагается  большое количество меняющихся требований
Долгосрочный процессПроцесс, поделенный на короткие, ограниченные по времени периоды
Требует простого и понятного проектирования и исполненияТребует инноваций, создания дизайна и исполнения
Все задачи решаются и находятся под управлением руководителя проектаВсе задачи и вопросы решаются коллективно всеми членами команды
Особое внимание уделяется личному общению для достижения желаемых целейОсновное внимание уделяется доставке бизнес-ценности
Менее жесткий метод с большей гибкостью для измененийБолее жесткий метод с меньшей ориентированностью на изменения

8. Что вы подразумеваете под парным программированием? Опишите его преимущества

Pair programming (Парное программирование) — это тип программирования, применяемый в технике Agile, когда два разработчика одновременно работают с кодом: первый разработчик непосредственно пишет код, а другой проверяет и просматривает каждую строку кода. В любой момент времени они могут поменяться местами.

Преимущества парного программирования

  • Высокое качество кода
  • Снижение риска возникновения ошибок 
  • Эффективный способ обмена знаниями внутри команды 
  • Высокая производительность
  • Эффективная коммуникация между членами команды

9. Что такое манифест Agile? Какие ценности и принципы в нем заложены?

Agile-манифест — это документ, в котором сформулированы ключевые ценности и принципы методологии Agile. В документе, созданном в начале 2001 года,изложены 4 базовые ценности и 12 принципов, которые помогают командам работать эффективнее, стимулируют сотрудничество, внедрение итеративной разработки и постоянное улучшение процессов

4 Agile-ценности:

  1. Люди и взаимодействие важнее процессов и инструментов: основное внимание уделяется взаимодействию с заказчиками.
  2. Работающий продукт важнее исчерпывающей документации: основной акцент делается на обеспечении того, чтобы проект достигал всех конечных результатов и целей.
  3. Сотрудничество с заказчиком важнее согласования условий контракта: регулярное взаимодействие с заказчиком в течение всего жизненного цикла проекта помогает лучше понимать его потребности и снижает риск выпуска продукта, не соответствующего ожиданиям.
  4. Готовность к изменениям важнее следования плану: Agile приветствует гибкость и адаптацию, поэтому команда должна быть готова к постоянным изменениям, которые вносятся в требования к продукту. Для этого в Agile команды работают короткими спринтами, чтобы оперативно реагировать на новые требования.

12 принципов Agile: 

  1. Удовлетворенность заказчика: выполнение требований клиентов или заказчиков является наивысшим приоритетом.
  2. Приветствуются изменения требований: даже на поздних этапах процесса разработки изменения приветствуются — они могут существенно повысить ценность продукта.
  3. Частые поставки рабочего продукта: версии продукта должны выпускаться ​​как можно чаще в максимально короткие сроки.
  4. Плотное сотрудничество между бизнесом и командой: взаимодействие во время всего жизненного цикла продукта помогает избежать синхронизировать цели и получить продукт высокого качества.
  5. Мотивированная команда: для выпуска и реализации высококачественного продукта важно, чтобы команда работала была обеспечена всеми необходимыми для эффективной работы условиями и поддержкой.
  6. Непосредственное общение (лицом-к-лицу): Agile делает акцент на прямом диалоге, как на наиболее эффективном способе добиться понимания и быстро решить вопросы.
  7. Работающий продукт: передача работоспособного продукта заказчику является главной задачей Agile.
  8. Поддержание постоянного темпа: Agile предполагает поддержание постоянного темпа работы, без перегрузок, чтобы все команды, спонсоры, разработчики и пользователи, вовлеченные в Agile-процесс, могли работать на длительной дистанции.
  9. Техническое совершенство: фокус на качественной архитектуре и внимание к деталям для повышения качества и гибкости.
  10. Простота: команда должна сосредотачиваться на действительно важных задачах и функциях для минимизации объема работы и времени, затрачиваемого на сложную функциональность и/или на задачи, которые не являются важными.
  11. Самоорганизация: Agile-команда должна быть кросс-функциональной, самоорганизованной уметь самостоятельно распределять свои ресурсы в зависимости от текущих рабочих задач. Она не должна зависеть от менеджера при планировании работ. Только так можно рассчитывать на выпуск качественного продукта.
  12. Анализ и корректировки: Для повышения эффективности команда должна проводить анализ и оценку своей работы. Это делается для того, чтобы вовремя выявить свои ошибки и слабые стороны и понять, что необходимо предпринять для улучшения своей производительности.

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»

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх