SCRUM с нуля, без базового каркаса?

11

Мы небольшая группа из 5 человек, которая собирается начать новый проект. Это первый проект, в котором мы пойдем олл-ин на схватку.

Мы немного боремся с тем, как мы собираемся создать базу для проекта (фреймворки и тому подобное). Такие задачи не являются чем-то полезным для пользователя, поэтому нам трудно понять, как мы пишем для этого пользовательские истории.

В общем, как вы используете scrum, когда запускаете проект с нуля, без фреймворков и базовой библиотеки?

Никлас Х
источник

Ответы:

7

Я не думаю, что многие гибкие методы хорошо справляются с действиями, которые обычно являются частью создания проекта. Многие из распространенных сред (XP, Scrum, Kanban) не решают эту проблему, но некоторые из масштабированных сред (Disciplined Agile Delivery, SAFe) в некоторой степени справляются.

Некоторые люди выступают за концепцию начального прироста (в Scrum, спринт), которая предназначена для настройки вашего проекта. Это часто называют нулем приращения (или, в Scrum, Sprint 0). Тем не менее, это не формальная часть Scrum, и пуристы говорят, что первый инкремент должен быть потенциально выпуская.

Такой прирост используется для настройки среды команды - настройки среды разработки, тестирования и производства, настройки вспомогательных инструментов и сценариев, а также создания рабочих сред с использованием выгрузочных диаграмм и резервных копий. Если кто-то в команде не знаком с используемыми инструментами разработки, именно здесь они изучают основы функционирования и начинают производить вывод на первой итерации.

Наряду с этим, вы часто начинаете писать свои первые пользовательские истории и расставляете приоритеты в бэклоге вашего продукта, так как на данный момент не существует бэклога в спринте. Кто бы ни был владельцем продукта, он будет придумывать истории. Если этот человек является новичком в Scrum, он будет учиться писать хорошие пользовательские истории, с которыми может работать и команда. Не подчеркивайте получение всех историй, но вы захотите начать с первой итерации разработки.

Различные команды обрабатывают Sprint 0 по-разному. Кто-то может поставить время на то же время, что и любой другой спринт. Другие могут сделать его немного длиннее или короче в зависимости от потребностей команды. Так как это ваша первая попытка в Scrum, я мог бы сделать это длиннее, особенно если у вас есть более короткие итерации как часть вашего цикла разработки. Если вы планируете двухнедельные итерации, сделайте это за 3 недели.

Что касается формулирования задач, я бы не стал формулировать их как пользовательские истории. Вы могли бы, с точки зрения членов команды и различных ролей (владелец продукта, ScrumMaster, разработчик, тестировщик, дизайнер, технический писатель и так далее). Однако Sprint 0 предназначен для команды, а не для клиента или пользователя. Достаточно простого списка задач и действий.

Томас Оуэнс
источник
3
Sprint 0 предназначен непосредственно для команды, но косвенно приносит пользу клиенту, поскольку он закладывает основу для будущей работы в спринте. Отличный ответ, вы делаете его звучащим простым и не таким хаотичным, как обычно кажется Sprint 0.
maple_shaft
Любой запуск проекта обычно в некоторой степени хаотичен, в зависимости от команды. Обычно возникают не только технические проблемы с настройкой всего, но и личные проблемы между членами команды и проблемы с процессом, выясняющие, как лучше всего решать возникающие проблемы.
Томас Оуэнс
Еще один инструмент в наборе инструментов Scrum - это серия «спайков» (исследовательских историй), в результате которых по существу определяется, какие варианты доступны и что команда выбрала в качестве предпочтительного решения. То есть, когда не используются фреймворки, вы можете провести спринт, чтобы определить, какие (если таковые имеются) фреймворки помогут вам приблизиться к полезному продукту. Нет фреймворка - это всегда вариант, особенно для небольших одноразовых утилит.
Берин Лорич
1

Это предварительные условия, которые мы создали до внедрения SCRUM в нашей команде. Как только вы закончите со списком, вы можете развернуть процесс и инструменты для реальной схватки.

  1. Члены команды имеют высокую или среднюю квалификацию.
  2. Команда крепко сплочена.
  3. Обмен информацией между членами команды происходит быстро, последовательно и свободно.
  4. Команда находится в одном месте.
  5. Бизнес тесно связан с командой.
  6. Архитектура (бизнес, информация, а также техническая) четко определена.
  7. Инфраструктура работает и работает - среда разработки, тестирования и UAT.
  8. Автоматизированная сборка и выпуск.
  9. Высокий уровень автоматизации тестирования.
  10. Зависимость команды от внешнего мира минимальна (в идеале ноль).
  11. Количество участвующих систем минимально.
  12. Требования стабильны на более высоких уровнях, поэтому отставание продукта имеет минимальные изменения.
  13. Члены команды автономны, чтобы принять решение о том, какая пользовательская история должна быть частью спринта / схватки, а также общего количества схваток / спринта, необходимых для достижения поставленной цели.

Две другие важные части:

  1. Выберите людей для ролей (Scrum master, владелец продукта и команда)
  2. Имейте свою белую доску, наклейки готовы.
java_mouse
источник
Что ты имеешь в виду под № 11?
Мэтт Гранде
3
По моему опыту, если приложение зависит от внешних систем или связано с ними, SCRUM не работал должным образом. Зависимость от других команд снизила эффективность нашего процесса. Может быть, это был только наш проект ...
java_mouse
О, хорошо, значит, вы имели в виду системы, которые нуждались в модификациях. Я просто думал, что это были системы, которые были включены, отсюда путаница. В прошлом мы справились с этим, имея два «уровня» схватки. Более низкий уровень для каждой системы и более высокий уровень для всего проекта, включающий все команды.
Мэтт Гранде