Crystal-методология: кристальная ясность в работе и взаимодействиях
Рассказываем о малоизвестном фреймворке Agile для построения рабочих процессов через коммуникацию в команде
Стремясь к быстрым результатам, менеджеры проекта пробуют самые известные методологии. Но популярность подхода — еще не гарант того, что он идеально подойдет для вашей команды. Возможно, идеальное решение кроется в непривычных инструментах.
В статье рассказываем о малоизвестном семействе методов Crystal как об одном из фреймворков Agile-подхода, его особенностях, преимуществах и недостатках.
Подход Agile и методология Crystal в управлении проектами
Agile — это семейство методологий, включающее в себя подходы для улучшения конечного продукта и совершенствования рабочих процессов по его разработке.
Отличительными особенностями методов Agile выступает высокая гибкость и скорость в принятии решений и адаптации к изменениям в работе, а также полная прозрачность всех рабочих процессов.
Самые известные методы Agile — Kanban и Scrum. Их использует множество современных команд в области IT, маркетинга, производства, рекламы, HR и других сфер бизнеса.
Однако существуют не такие популярные, но не менее полезные подходы, среди которых — методология Crystal. Как и Agile, она ориентирована на гибкость и адаптивность процессов, а также тесное сотрудничество в команде.
Что такое Crystal-методология
Crystal — это семейство методологий для разработки программных продуктов.
Подход предлагает командам адаптировать процессы под свои задачи, минимизируя формальности и концентрируясь на людях и постоянном общении. Он подходит проектам с непредсказуемыми изменениями, где важна гибкость и свобода действий.
Это подход предложил Алистер Кокберн, американский ученый-компьютерщик, в 1998 году в качестве альтернативы более «жестким» и структурированным методологиям, таким как Scrum и XP (Extreme Programming). Кокберн является одним из авторов манифеста гибкой разработки ПО , который содержит основные принципы Agile.
В основе методики лежит 3 основных принципа, которые Кокберн сформулировал в 2004 году:
- быстрая доставка полезного кода. Программный код должен внедряться меньшими объемами, но часто;
- усовершенствование через обратную связь. Каждое улучшение продукта должно быть основано на совместном анализе успехов и ошибок в процессе ретроспективы;
- «осмотическая» коммуникация. Это создание пространства, где информация по проекту словно «витает» в воздухе. Участники команды могут включаться в разговор и выключаться из него, улавливать нужные данные, неосознанно усваивать их и применять в процессе работы. Например, команда работает в общем помещении, где сотрудники обсуждают задачи и вопросы по проекту. Специалист техподдержки оповещает дизайнера, что клиенты не всегда видят баннер с акцией на сайте. В то же время программист, слушая их разговор, задумывается о добавлении нового раздела с акционными предложениями и заметной кнопкой для перехода на страницу акций.
Также вклад в понимание метода и применение его принципов сделал системный администратор Марсель Вагерманн — автор эссе о применении принципов разработки программных продуктов с помощью Crystal Clear, Agile и Scrum.
Основные характеристики методологии Crystal
Чаще всего Crystal применяют для краткосрочных проектов и для команд, работающих в едином рабочем пространстве, так как постоянное общение — одна из основ методологии.
В основе Crystal лежит идея, что каждая команда и каждый проект уникальны, поэтому разработчики должны сами адаптировать процессы и инструменты в зависимости от контекста продукта.
Основные особенности методологии Crystal:
- Гибкость и адаптация. Crystal допускает изменение процессов по мере необходимости, в зависимости от требований проекта и состава команды. Это позволяет более точно и максимально быстро реагировать на изменения.
- Коммуникация и фокус на людях. Подход придает большое значение общению внутри команды. При этом участники вовлекаются в наиболее предпочтительные для них задачи.
- Прозрачность и обратная связь. Регулярные ревью и анализ текущего состояния проекта каждые несколько недель/дней помогают вовремя получать обратную связь и корректировать планы.
- Минимум документации и формальных процедур. Crystal стремится сократить бюрократические процессы и объем документации. Акцент в работе делается на работающий продукт и результат.
- Безопасность и свобода мнений. В команде не бывает плохих предложений — все участники должны чувствовать себя безопасно и комфортно, открыто высказывая свои идеи и обсуждая мнения.
- Точное понимание задач. Все члены коллектива в любой момент времени знают, что им нужно делать и двигаются вместе к общим целям.
- Ответственность за работу. Методы Crystal поощряют лидерство, позволяют участникам брать на себя ответственность за задачи и принимать решения для успеха проекта.
- Постоянное обучение. Подход делает упор на непрерывное получение командой новых навыков и опыта, которые они смогут применить в своей работе по проекту.
- Обратная связь клиентов. В рамках проекта важно получение отзывов целевой аудитории, вовлечение пользователей в процесс разработки продукта. Это помогает повышать их удовлетворенность продуктом.
Crystal и Agile: общие черты и различия
Crystal — один из методов семейства Agile, поэтому наследует его ключевые принципы:
- Люди и взаимодействие важнее процессов и инструментов
Crystal акцентирует внимание на индивидуальности членов команды и их взаимодействии. Согласно подходу, основную роль в успехе проекта играют люди, а не жесткие процессы. Коммуникация внутри команды и с заказчиками должна быть интенсивной, предпочтение отдается живому общению. Это позволяет быстрее решать проблемы и находить оптимальные решения.
- Работающий продукт важнее исчерпывающей документации
Одной из ключевых идей Crystal является создание работающего продукта с минимальными формальностями. Документация в Crystal используется только в той мере, в какой она необходима для успешной разработки. Главный акцент делается на регулярных поставках работающих версий продукта, которые можно показывать заказчику для получения обратной связи.
- Сотрудничество с заказчиком
Crystal поддерживает тесное сотрудничество с клиентом на протяжении всего жизненного цикла проекта. Регулярные встречи с заказчиком позволяют гибко реагировать на изменения требований и адаптировать продукт к новым потребностям бизнеса.
- Готовность к изменениям важнее следования плану
Один из ключевых аспектов Crystal — это гибкость и адаптивность. Методология предполагает, что проекты должны быть готовы к изменениям в любое время. Команды в Crystal не придерживаются строгих планов или расписаний: вместо этого они фокусируются на возможности быстро менять направление.
- Мотивированные и квалифицированные команды
В зависимости от проекта, команды могут адаптировать свои процессы и подходы. Это означает, что каждый участник вносит свой вклад в организацию рабочего процесса, распределение задач и ответственность за конечный результат. Такой подход подчеркивает важность ответственности команды за результат, свободы действий и способности самостоятельно принимать решения.
- Регулярный анализ и работа над ошибками
Методология Crystal поддерживает идею постоянного улучшения процессов и результатов через регулярные ретроспективы и получение обратной связи. Команды регулярно оценивают свои результаты и корректируют процессы, исходя из полученного опыта.
При этом Crystal выделяется среди других подходов к разработке продуктов. Он не предлагает универсальные методы, а является настраиваемой системой. Команды могут самостоятельно адаптировать подход под свои нужды.
Основные отличия методики Crystal от Kanban и Scrum:
Основные циклы разработки по Crystal
Разработка продуктов по методу Crystal чаще всего предполагает работу в виде циклов и итераций. Каждый цикл устанавливает перечень задач для команды.
1. Проект. Это самая крупная сущность, включающая в себя все циклы и этапы работы над продуктом. Проект включает в себя:
- подготовку: определение состава команды, исследование потенциальной пользы продукта, определение методов разработки;
- серию из двух и более циклов доставки ценности клиенту;
- завершение — анализ проделанной работы.
2. Доставка ценности. Это часть проекта, предполагающая работу над конкретными функциями продукта. Длится от 1 недели до 3 месяцев. Включает:
- повторное обсуждение и корректировку плана выпуска программного обеспечения,
- несколько итераций по созданию кода,
- доставку интегрированного и протестированного кода реальным пользователям,
- завершение с разбором выполненных задач и допущенных ошибок.
3. Итерация. Основной этап доставки ценности. Состоит из 3 больших частей:
- планирование,
- выполнение намеченных задач,
- завершение с анализом работы.
4. Рабочая неделя/день. Из рабочих дней и недель состоят итерации работы над продуктом. Каждый проект предполагает деление цикла на единицы времени — день или неделю, в зависимости от формата проекта и команды. Это важно для планирования регулярных встреч отделов, отчетов заказчику, проведения обучающих семинаров и т. д.
5. Интеграция. Длительность от 30 минут до 3 дней. Интеграции включены в состав рабочих недель и дней. Интеграция включает:
- эпизоды разработки,
- интеграцию кода,
- тестирование системы.
В одних командах процесс разработки не прекращается, в других — интеграция происходит раз в день или несколько раз в неделю.
6. Эпизод разработки. Длится от 15 минут до нескольких дней.
Эпизоды разработки — самая мелкая проектная сущность. Они состоят из написания и проверки фрагмента кода.
Семейство методов Crystal для разных команд
Методы подхода Crystal имеют цветовую маркировку и предназначены для команд разного размера.
Это позволяет подобрать набор инструментов и оптимизировать их под конкретный размер команды и проект.
- Crystal Clear. Команды до 6 человек. Проекты отличаются коротким сроком, быстрыми итерациями разработки, интенсивными коммуникациями, минимальным ведением документации.
- Crystal Yellow. Команды от 7 до 20 человек. Применяется автоматизированное тестирование кода, документация ведется умеренно.
- Crystal Orange. Команды от 21 до 40 человек. Подходит для средних проектов, длящихся 1-2 года. Предполагает больше формальных процедур и более строгую структуру ролей и процессов, но с сохранением гибкости и готовности к изменениям.
- Crystal Orange Web. Подвид метода Crystal Orange, для которого характерна открытая и развивающаяся база кода и работа не над одним проектом, а над рядом инициатив.
- Crystal Red. Команды от 41 до 80 человек. Команда может разделяться на отделы. Из-за более сложной структуры предполагает более строгие процессы, четкое распределение ролей и зон ответственности, более детальную документацию проекта.
- Crystal Maroon. Команды от 81 до 200 человек. Применяется для крупных проектов, конкретные подходы и инструменты зависят от специфики разрабатываемого продукта.
Crystal Sapphire и Crystal Diamond. Используются для очень крупных команд более 200 человек и критически важных проектов, связанных с потенциальным риском для жизни человека.
Преимущества и недостатки подхода Crystal
Рассмотрим преимущества и недостатки методологии, которые помогут принять решение о ее внедрении или отказе от подхода.
Преимущества:
- совместная работа. Подход облегчает и улучшает взаимодействие в команде, объединяет сотрудников в достижении цели. Прямое общение также может сократить расходы на управляющих в небольших командах;
- адаптивность. Гибкость в организации работы и выборе инструментов позволяет команде эффективно реагировать на новые требования к продукту и условия на рынке;
- расширение прав и возможностей. Команда сама выбирает лидеров и ответственных за определенные задачи сотрудников;
- быстрая доставка ценности потребителю. Подход позволяет команде быстрее доставлять пользователям работающий продукт, помогая получить конкурентное преимущество на рынке в виде скорости поставки ценности;
- высокое качество. Методика позволяет выявлять и устранять ошибки на ранней стадии разработки, что приводит к повышению качества продукта;
- повышение удовлетворенности клиентов. Обратная связь — один из основных факторов фреймворка, который помогает полностью удовлетворить клиентские ожидания.
Недостатки:
- неопределенность. Отсутствие заранее определенных планов может привести к путанице в процессе работы;
- высокие требования к самоорганизации. Команды, которые привыкли к более строгим и нормативным подходам, могут столкнуться с трудностями в адаптации к свободной структуре Crystal. Им может не хватить ясности в распределении ролей и обязанностей, что ведет за собой конфликты и потерю концентрации на задачах;
- требования к физическому присутствию. Не все принципы подхода можно реализовать для удаленных команд. Например, осмотическая коммуникация требует присутствия сотрудников в едином рабочем пространстве;
- недостаток документации. Акцент фреймворка на коммуникацию может привести к нехватке важной документации. Это не подходит проектам со строгими требованиями и четкой структурой, которая, как правило, описывается в документации;
- отсутствие контроля передачи информации. Осмотическая коммуникация может привести к неформальному обмену данными по проекту, точность и полноту которой может быть трудно отслеживать. Собирать и управлять всеми данными по проекту могут помочь таск-трекеры.
При внедрении Crystal стоит учесть и плюсы, и минусы подхода, чтобы использовать максимум его преимуществ и минимизировать влияние недостатков на результат.
Коротко о главном
Методология Crystal подойдет для стартапов и небольших команд, а также может быть адаптирована для крупномасштабных проектов.
Основные принципы методики это:
- быстрая разработка короткими итерациями;
- ориентация на людей в команде — их комфорт, свободу мнения и принятия решений, обучение;
- постоянная коммуникация и сотрудничество участников проекта;
- высокая гибкость в выборе инструментов и построении процессов для быстрого реагирования на любые изменения;
- отсутствие строгих планов, четкой структуры ролей, большого объема документации и формальных процедур.
Crystal не накладывает строгих рамок на процессы, предлагая командам самостоятельно выбирать подходы в зависимости от их размера, критичности проекта и его требований. В отличие от методов Kanban и Scrum, методика не привязана к обязательным ритуалам, четкому планированию и структуре ролей, и позволяет строить и менять процессы по ходу проекта.
Основная ценность подхода заключается в том, что он подчеркивает важность человеческого взаимодействия и общения.
Методика отлично подходит для команд, которые сталкиваются с частыми изменениями требований и предпочитают гибкий подход к планированию, а также для краткосрочных проектов.