Страница 11 из 19
Семейство методологий Crystal Алистэра Коуберна Алистэр Коуберн (Alistair Cockburn) изучает методологии разработки ПО с начала 90-х, когда компания IBM дала ему задание написать работу на эту тему. При этом его подход существенно отличается от подхода большинства других методологов. Его теории основаны не только на личном опыте, но и на постоянных исследованиях других проектов и процессов. Более того, он не боится менять свои воззрения в результате своих находок в этой области. Именно поэтому Алистэр Коуберн остается моим любимым методологом. Первой рекомендацией Коуберна по ведению проектов стала книга Surviving Object-Oriented Projects, и по моему мнению, она остается лучшей работой по управлению итеративным проектом и по сей день. Совсем недавно он написал еще одну книгу, которая посвящена обзору гибких методологий разработки программного обеспечения. В ней он рассматривает базовые принципы, лежащие в основе всех этих методологий. После этого он продолжал исследовать гибкие методологии, результатом чего стало появление семейства методологий Crystal. Коуберн называет это "семейством", так как убежден, что разным проектам нужны разные методологии. Он вводит следующую градацию проектов: по одной оси откладывается количество занятых в проекте людей, по другой - критичность ошибок. Каждая из методологий "семейства" предназначена для определенной ячейки получившийся сетки. Таким образом, проект, в котором занято 40 человек, и на котором компания может позволить себе потерять некоторую сумму, будет работать по другой методологии, нежели проект для 6 разработчиков, от которого зависит существование компании. Как и ХР, методологии семейства Crystal тоже ориентированы на человека, однако несколько по-другому. Алистэр считает, что людям сложно использовать в работе процесс, который требует от них высокой дисциплины. В результате своих исследований он выяснил, какой объем дисциплины является для действенной методологии минимальным. При этом производительность методологии сознательно приносилась в жертву простоте ее использования. Пусть Crystal уступает ХР в производительности, зато ей сможет пользоваться большее количество людей, полагает Алистэр. Особое значение Алистэр придает пересмотрам процесса в конце каждой итерации, благодаря которым процесс можно усовершенствовать в ходе работы. При итеративной разработке все проблемы, связанные с используемым процессом, обнаруживаются рано, и их можно успеть исправить. Поэтому так важно контролировать процесс разработки и адаптировать его к конкретной ситуации. В феврале 2001 года Алистэр объявил, что они с Джимом Хайсмитом решили объединить свои методологии. Однако пока непонятно не только то, что будет собой представлять их методология, но даже то, как она будет называться. |