Эта методология подойдет для организации работы в маленьких командах и проектах. Пока крупные компании предпочитают Scrum и Agile, эта методология выигрывает за счет своей простоты. Расскажем, что она из себя представляет.

Немного истории

Crystal Clear разработал Алистер Кокберн, известный в качестве одного из создателей манифеста гибкого программирования. Он долго исследовал и анализировал практики коммерческой разработки, принятые в разных командах.

А в 1994 году использовал свои наблюдения, консультируя проект Orange. По мотивам этой работы он написал книгу, а в 1998 году создал семейство методологий Crystal. Обычно их разделяют в зависимости от количества людей в команде.

Crystal Clear предназначена для групп до 8 разработчиков. Есть еще Red для команд из 50-100 сотрудников, Yellow для 10-20 и т.д.

Основные принципы

Разработка по Crystal Clear стоит на трех китах:

  1. Осмотическая коммуникация. Односторонняя диффузия похожа на коммуникацию разработчиков во время проекта. Таким образом участники общаются друг с другом и воспринимают информацию.
  2. Быстрая доставка. В основе методологии лежат частые релизы новых версий программного обеспечения. Разработчики должны стараться разбивать обновление на более мелкие части.
  3. Рефлексия. Она считается главным способом работы над улучшением продукта. Команде необходимо регулярно собирать и анализировать информацию о положительных и негативных изменениях в работе.

Из чего состоит

В основу этой методологии положили шесть основных понятий. Именно по ним нужно строить процесс разработки.

  1. Проектирование. В него входит подготовка, доставка и так называемый «ритуал завершения», который представляет собой анализ и работу над ошибками. Последние два цикла могут повторяться несколько раз. А общий цикл может длится до двух недель.
  2. Доставка. В нее входит дополнительная калибровка плана выхода нового программного обеспечения и несколько итераций. В итоге команда должна выпустить готовый к использованию код. Затем проводится его доставка и последующий анализ. Цикл может длится от одной недели до нескольких месяцев.
  3. Итерации. В них входит три основные части: планирование, интеграция и завершение.
  4. Единица измерения. В ее качестве могут принимать как один рабочий день, так и неделю. Ими отмеряют каждый цикл. В конце нужно созывать встречу и создавать отчеты.
  5. Период интеграции. В него входит собственно написание кода, его интеграция в соответствующий продукт и проверка работоспособности системы. Есть два пути: можно внедрять новый код ежедневно (еженедельно) или сделать это непрекращающимся процессом, параллельным разработке.
  6. Собственно разработка. Это процесс программирования, когда каждый из команды пишет код, проверяет его и интегрирует в общую систему.

Основные техники Crystal Clear

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

В качестве техник используют:

  • Блиц-планирование с составлением тайминга задач и дорожной карты проекта.
  • Парное программирование — совместная работа над одной задачей двух коллег.
  • Воркшоп рефлексии — часовое совещание, на котором обсуждают слабые места продукта и возможности по их улучшению.
  • Slide-by-slide — техника разработки, в процессе которой два коллеги сидят рядом, могут видеть работу друг друга, но занимаются разными задачами. Именно за счет такой близости должна производиться осмотическая коммуникация.