Сейчас существует три сравнительно новых методологии, где одно из основных положений - размещение всех разработчиков в одной комнате или просто в непосредственной близости друг от друга. Это Adaptive Software Engineering [Hi], Extreme Programming [B99], [EP], и Crystal(Clear) [Co00]).
Модель коммуникации, которую мы рассмотрели выше, позволяет, кроме всего прочего, давать рекомендации по архивированию документации:
Пусть человек, занимавшийся проектированием, коротко (5-20 минут) расскажет нескольким коллегам, не знакомым с его разработками, о том, что он сделал. Эти люди выступят в роли тех зрителей, которые будут смотреть будущую запись на видеокассете. Пусть они просто обсуждают предложенный вариант проектирования и задают вопросы по мере необходимости. Обсуждение записывайте на видео. В конце воспроизведите те рисунки и примеры, вокруг которых велась дискуссия, или же приложите к видеозаписи те рисунки, которые использовались при проектировании. Они будут служить мнемонической связкой между самим обсуждением и его предметом.
Я очень обрадовался, когда Лизетт Веласкес (Lizette Velasquez) из "Lucent Technologies" рассказала мне, что она не только с успехом использует эту технику в работе, но что я забыл упомянуть еще один немаловажный момент: очень важно особо отмечать те места обсуждения, когда "происходило нечто интересное". Обычно обсуждение протекает довольно спокойно, но случаются моменты, когда какой-то вопрос вызывает целый поток дополнительных вопросов и комментариев. В таком случае, зрители наверняка захотят вернуться и просмотреть это место еще раз.
Теперь еще можно размещать подобные обсуждения в сети и снабжать их гиперссылками.
А тем, кто до сих пор предпочитает книги всем прочим средствам передачи информации, предложу сделать следующее: возьмите, к примеру, замечательную, но очень трудную книгу Design Patterns. Теперь представьте, что вместо того, чтобы разбирать значение паттерна "Decorator" с книжной страницы, у вас есть возможность щелкнуть мышкой и увидеть видеоклип, в котором авторы сами объясняют этот паттерн. Конечно же, в этом случае для передачи своих идей они будут использовать интонацию, жестикуляцию и синхронизацию общения.
Какой же вывод нужно сделать относительно этого свойства человеческой природы? Мы должны стараться поднять коммуникацию в команде разработчиков на максимально высокую точку нашей кривой - настолько, насколько это позволяют обстоятельства.
Когда речь идет о людях, говорить о режимах сбоя нужно осторожно. У англичан есть старинная пословица: "Если ты дашь собаке плохое имя, то лучше ее сразу пристрелить". В самом деле, как вы увидите из приведенных ниже примеров, простые изменения в стиле управления и местной культуре могут привести к огромным изменениям видимого поведения людей. И все же, весь мой опыт говорит о том, что ожидать от людей последовательности и постоянства действий практически невозможно. Как пишет Джим Хайсмит (Jim Highsmith) [Hi]:
"…в этой коробочке не винтики и шестеренки, а люди. Люди могут делать постоянно, раз за разом, похожие вещи, но они никогда не смогут сделать одно и то же. В пошаговой методологии мы ожидаем, что, задавая одинаковые данные на входе, мы будем получать одинаковые результаты на выходе. Однако реакция человека на вводную информацию может зависеть от различных условий, причем большая часть этих условий может не иметь никакого отношения к выполняемой этим человеком задаче".
Людям нравится отсутствие точных предписаний относительно их собственного поведения. Одна из двух самых трудных для человека задач, которые я могу себе представить - это заставить человека делать что-то очень аккуратно и единообразно день за днем (другой самой трудной задачей будет попросить его изменить свои привычки). Ниже я привожу выдержку из недавно услышанного диалога, которая как нельзя лучше иллюстрирует эту мысль.
"Как же мне справиться со всеми этими бумагами, которые приходят в мой офис?" - спрашивает один. Другой отвечает: "Ну, это совсем не сложно! Просто следи, чтобы твой стол всегда был пустым - четыре корзины по углам, несколько папок в верхнем ящике…". Он не смог закончить. "Чтобы стол был пустым?!" - закричали все. "Но ведь это невозможно!"
Обратите внимание, что советчик предложил им одновременно изменить свои привычки, а также совершать определенное действие постоянно и единообразно.
Если бы люди обладали последовательностью и постоянством, они могли бы убирать бумаги с рабочего стола, предотвращать кариес, избавляться от лишнего веса, бросать курить, и может быть, даже разрабатывать программное обеспечение, укладываясь в рабочий график.
Читать дальше