(3) Старший программист работал в одной комнате с шестью новичками. У этого специалиста были две не очень хорошие привычки: во-первых, он не принимал всерьез идею правильного и аккуратного дизайна системы и, во-вторых, вместо того, чтобы объяснять своим неопытным коллегам, что такое хороший дизайн или программа, он просто по ночам переписывал их код. Утром, приходя на работу, эти шестеро никогда не знали, осталась ли программа в прежнем виде или изменилась, и насколько. Через несколько месяцев все новички стали создавать не только плохой, но и неряшливый дизайн. Их идеалом стало высокомерное отношение к проектированию старшего программиста.
Когда этот человек перестал работать над проектом, на его место пришел другой консультант. Теперь проектные решения всесторонне обсуждались, так чтобы все могли при желании услышать, о чем идет речь. Через несколько месяцев трое новичков начали рассуждать о проектировании и строить диаграммы, и вскоре овладели этим искусством так же хорошо, как и программированием.
© Copyright 2000-2002, Alistair Cockburn ("Humans and Technology" Technical Report)
© Copyright maxkir.com, перевод, 2002
Глоссарий используемых терминов:
code review = проверка кода
distributed cognition = распределенное знание
field support = поддержка продукта, уже находящегося в эксплуатации
pair programming = парное программирование
pair relaying = парная эстафета
Послесловие переводчиков:
Опыт освоения парного программирования в отечественной софтверной компании описан в статье Романа Еремина "Наш опыт внедрения парного программирования"