CRC СессияИспользуйте Class, Responsibilities, Collaboration (CRC - Класс, Обязанности, Взаимодействие) карточки для дизайна системы командой. Использование карточек позволяет легче приучиться мыслить обьектами а не функциями и процедурами. Также карточки позволяют большему количеству людей участвовать в процессе дизайна (в идеале - всей команде), а чем больше людей делает дизайн, тем больше интересных идей будет привнесено. Каждая CRC карточка представляет собой экземпляр обьекта. Класс обьекта может быть написан сверху, обязанности слева, взаимодействия справа. Мы говорим "могут быть написаны", поскольку когда CRC сессия в разгаре, участникам обычно нужно небольшое число карточек с именами классов и не обязательно они должны быть полностью заполнены. CRC сессия происходит так: каждый из участников воспроизводит систему говоря какие сообщения он шлет каким обьектам. Проходит по всему процессу сообщение за сообщением. Слабые места и проблемы сразу выявляются. Альтернативы дизайна также хорошо видны при симуляции процесса. Для наведения порядка часто используется ограничение числа одновременно взаимодействующих двумя. Наш опыт.CRC Сессии позволяют делать то что нужно, а не то что хочется сделать будучи Супер Архитектором в душе. Очень важно четко следовать правилам, поменьше базарить и не бросать сессию в середине говоря "ну, дальше там все ясно". Там-то как раз все проблемы и сидят. Наши разрабочики пока склонны не делать CRC сессии, мотивируя это тривиальностью задачи. С другой стороны, очень часто в конце итерации они ошибаются в оценках мотивируя это нетривиальностью задачи. Так что следует помнить, что не все так просто как кажется на первый взгляд.
|