Принципы раздора
by Oleg Sovetnik
Методология “Принципы раздора” — это ироничный, но весьма практичный подход к командной работе, вдохновленный принципами Scrum и дискордианским календарем. Она сочетает элементы гибкой разработки с механизмом истории изменений умвельта, где любое изменение в проекте структурируется как последовательность фаз, которые могут бесконфликтно объединяться.
Каждый цикл начинается с хаоса и заканчивается синхронизацией, обеспечивая уникальный баланс между независимостью, творчеством и четкостью, необходимой для успеха команды.
Структура процесса
Методология включает пять этапов, каждый из которых отражает определенную стадию командного взаимодействия и разработки. Они соответствуют различным состояниям каждого изменения проекта: от абсолютного хаоса до момента, когда фича выходит в продакшн.
1. Chaos (Синхронно)
На первой стадии мы погружаемся в бездну хаоса. Все идеи, баги, требования и случайные мысли появляются как множество отдельных сущностей. Мы находимся в процессе концептуализации того, что будет называться предметной областью. Команда анализирует задачи, выявляет ключевые концепты, термины, сущности и юзкейсы. Это стадия формирования ubiquitous language, когда команда должна синхронизировать восприятие и договориться о терминах, которые станут основой для всей дальнейшей работы.
Фаза хаоса представляет собой сбор разрозненных идей и превращение их в первоначальные фазы проекта. Эти фазы становятся отправной точкой для дальнейших изменений.
2. Discord (Асинхронно)
После хаоса начинается раздор. Каждый участник команды погружается в свои потоки: разрабатывает термины, прототипы, идеи. На этом этапе царит индивидуальная работа — никакой синхронизации, все работают над своими фичами, вносят изменения в свои фазы проекта. Каждый берет на себя отдельные фичи или сущности и создает новую фазу. В фазе раздора каждый участник предлагает свое видение решения или подхода к проблеме. Этот этап дает пространство для творчества и позволяет параллельно разрабатывать различные части проекта. Результаты не обязательно должны быть окончательными — на этом этапе идет именно исследование возможных решений.
Каждая новая фаза проекта в umwelt.dev может быть представлена как отдельная ветка в дереве истории.
3. Confusion (Синхронно)
Этап Смятения. Команда снова собирается, чтобы обсудить предложенные решения. Поскольку на этапе раздора было создано множество версий, на этапе смятения мы выбираем лучшие идеи и еще можем скорректировать архитектуру проекта. Здесь легко вносить изменения, ведь в код еще не внесено серьезных изменений, а синхронизированы только контексты и интерфейсы.
Если что-то остается неясным или требует доработки, участники возвращаются к фазе раздора для дальнейших улучшений. Если решения удовлетворяют всех, можно двигаться дальше.
4. Bureaucracy (Асинхронно)
Если фича или решение прошло через смятение, можно двигаться к реализации. Тут нет вопросов о терминах или структуре — всё уже согласовано. Нужно довести дело до конца и тут самое время для бюрократии Участники погружаются в код, в создание алгоритмов и технической реализации.
Бюрократия фиксирует четко определенные на предыдущем этапе задачи проекта, и теперь любой участник может легко подключиться к работе, благодаря максимально подробному плану, уже выработанным понятиям и тестам.
5. Aftermath (Синхронно)
Последний этап — завершение цикла, последствия. Все фазы предыдущих стадий аккуратно интегрированы в умвельт проекта, создавая единую, согласованную картину. Все изменения из различных веток кода объединяются, создается релиз новой версии. Этот момент — кульминация работы, команда устраивает демонстрацию новых фич проекта.
На этом этапе фаза завершена, а новая версия проекта выходит в продакшн. Затем процесс начинается заново, возвращаясь к хаосу и цикл повторяется снова.
Фазовая структура изменений в umwelt.dev
Фазовая структура проекта umwelt.dev обеспечивает гибкость и прозрачность изменений. Каждый этап работы фиксируется в отдельной фазе, и фазы могут бесконфликтно объединяться. Например, если после завершения фазы были созданы две параллельные ветви с новыми фазами, их можно объединить в единую следующую фазу, сохранив все изменения.
Эта модель работы обеспечивает возможность для экспериментов и креативных решений, сохраняя при этом общий контекст и историю изменений.
Методология “Принципов раздора” — это гибрид гибких методологий и философских принципов. Она учит тому, что хаос не всегда разрушителен, а раздор — не всегда вреден. Правильная организация работы через этапы принципов раздора, синхронизацию и разделение задач позволяет команде создавать качественный продукт, сохраняя творческую свободу и общее понимание проекта.
umwelt scrum discord teamwork