Я недавно присоединился к молодому хакерскому пространству, которое все еще находится в процессе создания. Нам повезло, потому что у этого пространства есть несколько внутренних проектов, над которыми нужно работать, и нет недостатка в добровольцах для работы над ними.
Были некоторые дискуссии о том, как организовать эти проекты. Мой последний профессиональный опыт был связан со Scrum, поэтому я рассматриваю возможность использования подхода Scrum для наших программных проектов, но я не уверен, что он подойдет.
Хотя я видел, как Scrum хорошо работает для небольших групп, работающих полный рабочий день, природа этой организации иная:
- Члены являются добровольцами . Некоторые из них студенты дневного отделения. Другие работают на полную ставку. Мы не можем ожидать постоянного вклада от кого-либо, поскольку их реальная жизнь имеет приоритет.
- Несмотря на то, что почти каждый имеет многолетний опыт написания программного обеспечения, не так много участников сделали это профессионально или в команде.
- Там нет нет Владельца продукта . Требования к этим проектам определяются комитетом. Члены этого комитета также будут работать над реализацией. Это означает, что у нас не будет единого, преданного владельца продукта.
- У нас нет сроков (мягкий или жесткий). Проекты будут выполнены, когда они будут сделаны.
Это довольно существенные различия, но я не уверен, что они будут препятствием для применения Scrum. Я думаю, что некоторые незначительные изменения могут помочь нам преодолеть это препятствие:
- Если мы изменим Sprints, чтобы иметь фиксированный размер сюжета, но длительность (время), мы все равно сможем извлечь выгоду из итеративных выпусков, не оказывая нереалистичного давления доставки разработчикам-добровольцам.
- Мы можем угробить графики выгорания и расчета скорости . Если я правильно понимаю, это инструменты и метрики, которые работают как мост между командой разработчиков и руководством. Они служат для сообщения о прогрессе в форме, которая имеет смысл как для разработчиков, так и для заинтересованных сторон. Учитывая, что нам некому отчитаться (нет руководителя проекта, владельца продукта и внешних заинтересованных сторон), я считаю, что мы можем полностью отказаться от этого.
Вещи, которые я думаю, мы могли бы извлечь выгоду, которые не требуют настройки:
- Требования Gathering собрание (ы). Где все сидят за столом и обсуждают пользовательские истории, делают наброски макетов пользовательского интерфейса и создают журнал невыполненных работ.
- Спринт Ретроспективы . Это будет интересным способом для нас объединиться в процессе разработки, который работает для нас как команды добровольцев.
В чем я не уверен:
- Как следует ежедневно Stand планы лечить? Интересно, будут ли они вообще иметь большую ценность в наших условиях? Насколько я понимаю, ритуал заступничества заключается в том, что он помогает общению, естественным образом распространяя информацию в команде. Учитывая тот факт, что наши Спринты, вероятно, будут доставлять гораздо меньше сложности, чем средний Спринт, может быть меньше необходимости быть в курсе всех достижений / разработок других членов команды.
- Стоит ли настаивать на таких вещах в XP, как непрерывная интеграция, проверка кода и TDD? Я обеспокоен тем, что это будет требовать много. Я бы соблазнился применить эти концепции в будущих проектах, когда люди будут лучше знакомы со Scrum и будут работать в команде.
Мои вопросы:
Можно ли адаптировать Scrum к среде, основанной на волонтерах?
И мой запланированный подход пока идет в правильном направлении?