Ответ
Scrum — это фреймворк гибкой (Agile) разработки, предназначенный для управления сложными продуктами через итеративную и инкрементальную поставку ценности. Основан на эмпиризме (опыт, наблюдение) и трёх столпах: прозрачность, инспекция, адаптация.
Ключевые компоненты Scrum:
1. Роли:
- Владелец Продукта (Product Owner): Формирует видение продукта, управляет Product Backlog (упорядоченным списком всех требований), максимизирует ценность работы команды.
- Scrum Master: Лидер-слуга, который помогает команде и организации понять и применять Scrum, устраняет препятствия (impediments).
- Команда Разработки (Development Team): Кросс-функциональная, самоорганизующаяся группа (обычно 3-9 человек), которая выполняет работу по созданию готового к релизу инкремента продукта за спринт.
2. Артефакты (рабочие результаты):
- Product Backlog: Единственный источник требований. Это динамический, приоритизированный список всего, что может понадобиться в продукте.
- Sprint Backlog: Набор элементов из Product Backlog, выбранных для реализации в текущем спринте, плюс план по их выполнению.
- Инкремент (Increment): Сумма всех завершённых элементов Product Backlog за спринт и всех предыдущих спринтов. Должен быть в готовом (Done) состоянии.
3. События (временные боксы):
- Спринт (Sprint): Сердце Scrum. Фиксированный по времени итерация (обычно 2-4 недели), в течение которой создаётся готовый, потенциально релизный инкремент продукта.
- Планирование Спринта (Sprint Planning): Команда определяет, что будет сделано в предстоящем спринте и как этого достичь.
- Ежедневный Scrum (Daily Stand-up): 15-минутная синхронизация команды для обсуждения прогресса и препятствий. Формат: «Что сделал вчера? Что сделаю сегодня? Какие есть препятствия?»
- Обзор Спринта (Sprint Review): Демонстрация инкремента стейкхолдерам для получения обратной связи.
- Ретроспектива Спринта (Sprint Retrospective): Встреча команды для анализа своей работы и улучшения процессов в следующем спринте.
Пример работы в Jira для QA в Scrum:
- **Спринт:** "Разработка модуля корзины (01.04 – 15.04)"
- **Sprint Backlog (фильтр для QA):**
* [QA] Протестировать добавление товара в корзину (P1)
* [QA] Протестировать применение промокода (P2)
* [QA] Провести кросс-браузерное тестирование (P2)
- **Daily Stand-up ответ QA:** "Вчера завершил тестирование добавления товара, обнаружил баг JIRA-456. Сегодня начну тестирование промокодов. Препятствий нет." Ответ 18+ 🔞
А, ну вот, опять про этот ваш Scrum, блядь! Слушай, как будто без него мир бы остановился, ёпта. Ну ладно, раз уж спросили, расскажу, как есть, без этих ваших заумных буклетов.
Этот Scrum — он типа такой фреймворк, понимаешь? Не методология, а именно фреймворк, блядь, как рама для велосипеда. Суть — делать сложные штуки по кусочкам, постоянно оглядываясь и подкручивая гайки. Три кита у него: прозрачность (чтобы все всё видели), инспекция (чтобы смотреть, что натворили) и адаптация (чтобы, если накосячили, тут же исправить). Всё просто, как три копейки, но почему-то у всех мозг набекрень от этого встаёт.
1. Кто тут у нас главный?
- Владелец Продукта (Product Owner): Это тот самый чувак, который кричит «Хочу вот это, это и вон то!». У него в голове видение, а в руках — священный Product Backlog, то есть список всех хотелок, отсортированных по важности. Его задача — чтобы команда не делала какую-нибудь хуйню, а делала то, что реально нужно.
- Scrum Master: А это, блядь, самый несчастный человек. Не босс, а «лидер-слуга», ёпта. Его работа — чтобы все остальные не сходили с ума от процесса. Он бегает, убирает препятствия, объясняет за Scrum тем, кто «не в теме», и в целом похож на няню для гиперактивных детей. Если что-то идёт не так — виноват он, пизда.
- Команда Разработки (Development Team): Ну это те, кто реально пашет. Самоорганизующаяся банда из 3-9 человек, которые умеют всё: и код написать, и протестировать, и задеплоить. Главное — они сами решают, КАК им сделать ту хрень, которую заказал Владелец Продукта.
2. На чём они, собственно, работают? (Артефакты)
- Product Backlog: Один большой, жирный список «чего бы такого сделать». Туда всё скидывают, а Владелец Продукта его постоянно тыкает палкой, расставляя приоритеты. Живой документ, блядь, как амёба.
- Sprint Backlog: А это уже вырванный кусок из того большого списка. То, что команда обещала сделать за ближайший спринт. Плюс примерный план, как они это провернут.
- Инкремент (Increment): Вот это — святое. Это готовый, работающий кусок продукта, который можно хоть сейчас показывать клиенту. Не «почти готов», а именно готов. Если он не готов — значит, спринт провален, и всем пиzдец.
3. Их весёлые собрания (События):
- Спринт (Sprint): Основа всего. Это фиксированный отрезок времени, обычно 2-4 недели, за который надо родить тот самый инкремент. Как стартовал — так уже не остановишь, хоть тресни.
- Планирование Спринта (Sprint Planning): Долгая и нудная встреча, где все спорят: «А что мы вообще успеем за эти две недели?». Владелец Продукта тыкает в самые верхние пункты из своего списка, а команда орёт: «Овердохуища работы! Мы это за месяц не сделаем!».
- Ежедневный Scrum (Daily Stand-up): 15 минут утра, все стоят как идиоты (чтобы не затягивали) и отвечают на три вопроса: «Что вчера сделал?», «Что сегодня сделаешь?», «Что тебе мешает?». Идея — синхронизироваться. А по факту часто превращается в отчёт перед скрам-мастером, который потом всех пинает.
- Обзор Спринта (Sprint Review): Показуха. Команда демонстрирует, что наворотила. Все хлопают, Владелец Продукта хмурится и говорит: «Ну это не совсем то, что я хотел…».
- Ретроспектива Спринта (Sprint Retrospective): Самое важное, но все его ненавидят. Команда закрывается и честно (иногда не очень) обсуждает: «Что было хорошо? Что было хуёво? Как сделать, чтобы в следующем спринте не было так пиздецово?». Если ретро проходит формально — толку ноль, блядь.
Ну и примерчик, чтобы было понятнее, как это выглядит в жизни, например, для тестировщика в Jira:
- **Спринт:** "Делаем корзину, блядь (01.04 – 15.04)"
- **Sprint Backlog (взгляд тестировщика):**
* [QA] Проверить, как товар в корзину ложится (P1 — срочно, все ждут!)
* [QA] Поковырять промокоды (P2 — важно, но не горит)
* [QA] Гонять всё это в разных браузерах (P2 — а то потом клиенты начнут орать)
- **Что тестировщик бормочет на Daily Stand-up:** «Вчера допинал тесты на добавление товара, нашёл баг — JIRA-456, там кнопка с ума сходит. Сегодня буду промокоды мучать. Мешает только то, что разработчики кофе весь выпили».