Вы здесь: Home > Правила XP > CRC Сессия
Что здесь происходит
Правила XP
   Соглашение о кодировании
   Коллективное владение кодом
   Конституция разработки ПО
   CRC Сессия
   Заказчик
   Выбирайте самое простое решение
   Функциональные тесты
   Частая интеграция
   Планирование Итерации
   Итерации
   Меняйтесь задачами
   Оставляйте оптимизацию на потом
   Парное программирование
   Безжалостно Рефакторить!
   План Релиза
   Частые Релизы
   Пробное решение
   Собрание стоя
   Метафора Системы
   Unit Test-ы
   User Story
   Скорость проекта
   Когда обнаружена ошибка
   Вам это не понадобится
Статьи по XP
Книги по XP
Ссылки по XP
Обсудить
Написать нам

CRC Сессия

Используйте Class, Responsibilities, Collaboration (CRC - Класс, Обязанности, Взаимодействие) карточки для дизайна системы командой. Использование карточек позволяет легче приучиться мыслить обьектами а не функциями и процедурами. Также карточки позволяют большему количеству людей участвовать в процессе дизайна (в идеале - всей команде), а чем больше людей делает дизайн, тем больше интересных идей будет привнесено.

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

CRC сессия происходит так: каждый из участников воспроизводит систему говоря какие сообщения он шлет каким обьектам. Проходит по всему процессу сообщение за сообщением. Слабые места и проблемы сразу выявляются. Альтернативы дизайна также хорошо видны при симуляции процесса.

Для наведения порядка часто используется ограничение числа одновременно взаимодействующих двумя.

Наш опыт.

CRC Сессии позволяют делать то что нужно, а не то что хочется сделать будучи Супер Архитектором в душе. Очень важно четко следовать правилам, поменьше базарить и не бросать сессию в середине говоря "ну, дальше там все ясно". Там-то как раз все проблемы и сидят.

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