1. Что такое Scrum?
То, что всё, что касается разработки, стандартизировано, вы уже поняли. А что, если я вам скажу, что стандартизировано вообще всё? И речь здесь даже не про имена переменных и функций, хотя они тоже стандартизированы🤦♂️.
Есть методология разработки — называется Agile и её популярная реализация — Scrum. Scrum ещё называют фреймворком — он определяет все процессы в команде. Когда должны быть совещания, кто на них должен присутствовать, что должно обсуждаться, какие результаты совещания должны быть и в каком виде они должны быть записаны 📋.
"Но зачем столько стандартизации", — спросите вы. Ну, во-первых, вы работаете в высокотехнологичном секторе — хай-тек, все дела. Во-вторых, так проще работать друг с другом. Ну а в-третьих, в названии вашей профессии .NET Software Engineer обратите внимание на последнее слово — инженер. И поймёте, откуда ноги растут.
2. Как выглядит работа по Scrum
Scrum — это гибкая методология управления проектами, часто используемая в разработке программного обеспечения. Основанная на итеративных и инкрементных процессах 🔁
Scrum делит проекты на циклы/этапы разработки, называемые спринтами, которые обычно длятся от двух до четырёх недель. Каждый спринт начинается с планирования задач, которые должны быть выполнены, и завершается презентацией, где команда демонстрирует достигнутые результаты 🎯.
Ключевые элементы Scrum включают роли, события и артефакты.
- Основные роли — это Product Owner, который определяет требования к продукту, Scrum Master, поддерживающий процесс согласно правилам Scrum, и команда разработчиков, выполняющая работу.
- Основные события — это ежедневные встречи (daily meetings или дейли митинги), планирование спринтов, ретроспективы и демонстрации результатов работы.
- Артефакты включают бэклог (список задач) продукта, бэклог спринта и инкремент продукта 📋.
Не пугайтесь! Хотя регламентирование всего и вся выглядит немного страшно, работать "по Скраму" легко и приятно. Scrum разрешил основной конфликт между разработчиками и заказчиками/владельцами продукта 🤗
Разработчики всегда просили оставить их в покое и дать спокойно работать. А владельцам продукта нужно было срочно внести в него новые фичи, что-то изменить, или провести какой-нибудь эксперимент 🧪.
Scrum разбил разработку на стабильные периоды — спринты (обычно 2 недели). В течение одного периода разработчики делают только те задачи, которые были запланированы на текущий спринт. Если заказчику нужно что-то срочно сделать, он добавляет эти фичи в следующий спринт 🗓️.
3. Sprint & Scrum Board
Sprint — это основной цикл разработки в Scrum, продолжительностью от одной до четырёх недель. Как мы уже говорили, в течение этого периода команда работает над выполнением конкретного набора работ из бэклога продукта.
В начале каждого спринта проходит планирование ⏳, где команда выбирает задачи из бэклога продукта и обязуется их выполнить. Спринт заканчивается демонстрацией выполненной работы и ретроспективой, где команда анализирует процесс работы над спринтом и ищет способы улучшить следующий спринт. Этот подход позволяет регулярно обновлять продукт, быстро реагируя на изменения требований и приоритетов.
На протяжении текущего спринта разработчики и владелец продукта должны собраться на митинг и обсудить задачи для следующего спринта.
Backlog 📚, или бэклог, — это список всех задач, которые необходимо выполнить. В Scrum различают бэклог продукта, который включает все требования к продукту (фичи), и бэклог спринта, который состоит из задач, выбранных для реализации в текущем спринте. Бэклог является живым документом, который регулярно обновляется и пересматривается для обеспечения соответствия текущим бизнес-целям и условиям рынка.
Бэклог текущего спринта любят отображать в виде Scrum Board ✅ — некая доска с задачами и статусами. Доска разделена на столбцы, которые обычно представляют стадии выполнения задач, такие как "К выполнению", "В процессе", "На проверке" и "Выполнено". Это позволяет всей команде видеть прогресс и легко идентифицировать любые затруднения в рабочем процессе.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ