Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/l/GlassRob/04h2101.shtml

10.2. Контроль и корпоративная культура

10.1. Греция и Рим: две очень разные культуры программирования

       Я был рад прочитать то, что написал Питер Дегрейс (и его соавтор Лесли Сталь). Он не только выразил мои мысли. И не только сделал это удачно. Он еще и внес в свое изложение известную культурную широту. Посмотрите, к примеру, как он противопоставляет Грецию и Рим [DeGrace 1993].
       Деграс описывает условия работы и культуру труда греков и римлян, отмечая большие и, как мне кажется, важные различия между ними. Греки, по его словам, работали как кустари или самостоятельные члены бригад. У них был личный инструмент, который они брали с собой на работу, а потом возвращались с ним домой. Они работали как отдельные независимые подрядчики, предоставляя свои услуги за плату. Они были вполне независимы.
       Это сильно отличается от римских методов. В Риме определяющее значение имела принадлежность работника к общественной группе. Он приносил себя в жертву организации, отказываясь от своей индивидуальности и сливаясь с группой. По римским порядкам, работник приходил на рабочее место, брал общие инструменты и делал то, что ему сказано. Он не был самостоятельной личностью — душой и телом он принадлежал той организации, в которой работал. Однако за это он получал значительное вознаграждение. Оно имело вид защищенности, денег или власти.
       Далее, Дегрейс заявляет, что описывает римский и греческий подходы без всякой моральной оценки. Не отдавая предпочтение ни тому, ни другому, он просто отмечает, что в условиях, сложившихся в нашей области, видит дисбаланс, поскольку большинство гуру предпочитает римскую, а не греческую точку зрения.
       Но ирония здесь все же есть. Посмотрите, кому принадлежали согласно этим описаниям душа и тело отдельного работника. Боюсь, никто из нас не захотел бы, чтобы его душа и тело принадлежали компании, в которой он работает. Несколько лет я работал в той же аэрокосмической фирме, что и Дегрейс, когда он писал свою работу. Определенно это была компания римского типа, и если мы, ее работники, не испытывали ощущения, что наши тела и души ей принадлежат, то все же не сомневались, что компания ценит не личный вклад каждого, а работу группы. (В действительности, даже писать на компьютерные темы я начал в поисках выхода из этой безумно душной атмосферы! Из личных бесед с Дегрейсом я знаю, что он ощущал примерно то же.)
       Есть, конечно, вещи и похуже организации греческого или римского типа. Некоторые менее цивилизованные фирмы, стоящие на низших ступенях организационного развития, вполне можно назвать “варварскими”.
       Давайте отобразим греко-римскую дихотомию в категориях, характерных для сферы разработки программного обеспечения. Для смеха добавим и варварскую систему (спасибо Стиву Макконнеллу за то, что вспомнил о ней). Читая следующий список, вспоминайте организации, в которых вам приходилось работать.
       — Греки организуют вещи, римляне организуют людей, варвары почти ничего не организуют.
       — Греческие методологии неформальны, римские — формальны, у варваров их нет.
       — Греки пишут программы, римляне управляют проектами, варвары спешат кодировать.
       — Греков вдохновляет задача, римлян — групповые цели, варваров — героика.
       — Греки минимизируют объем создаваемой документации, римляне максимизируют его, варвары презирают любую документацию.
       — Греки работают маленькими группами, римляне — крупными организациями, варвары — в одиночку.
       — Греки используют в качестве инструмента вещи, римляне используют людей как инструмент, варвары не пользуются инструментом.
       — Греки — демократы, римляне — империалисты, варвары — анархисты.
       — Греки эмпирически индуктивны, римляне аналитически дедуктивны, варвары немыслимо эмоциональны.
       — Греки интуитивны, римляне логичны, варвары импульсивны.
       — У греков управление основано на заслугах, у римлян — на функциях, у варваров — на страхе.
       — Грекам важна суть, римлянам — форма, варварам — количество строчек кода.
       — Греки делают дело, римляне планируют дело, варвары портят дело.
       В некотором смысле эти различия предвосхитили дебаты по поводу Agile-программирования и процесса, начавшиеся почти на десять лет позже. (Эта тема уже обсуждалась в нашей книге.) Греки хорошо вписались бы в лагерь Agile, римляне усиленно трудились бы над повышением своего уровня СММ, а варвары с негодованием отвергли бы и то и другое!
       Под конец [DeGrace 1993] Дегрейс приводит замечательную и ужасную историю, свидетелем которой был не он один — в разные времена и в разных местах она случалась и с другими. Это рассказ о том, как жили-были два программиста, которым дали решать одну и ту же задачу.
       Первый программист увидел, что задачу можно решить традиционными методами. Он собрал команду, чтобы разработать решение. При этом он развил заметную деятельность: совещания, планы, документы, отчеты и так далее.
       Второй программист увидел в задаче возможность проявить свое умение решать задачи и занялся обдумыванием решения, не демонстрируя заметной активности.
       Первый программист предложил детальное решение со столь же детальными графиками отладки и тестирования. Второй программист предложил простое решение, не связанное с какими-либо проблемами.
       Чем все кончилось? Первому программисту — почет и уважение, поскольку (к примеру) у него оказалась выше производительность, измеренная в строках кода. А второму — жесткая критика. Пусть его решение безупречно, но где же горы планов и документации, где труд в поте лица?
       Очевидно, в этой притче о греках и римлянах справедливость не восторжествовала. В данном случае, я бы сказал, состоялось “награждение виновных и наказание невинных”. Такое положение дел не удивительно (хотя, несомненно, прискорбно), ибо сегодня авторитеты в мире программирования отдают предпочтение римской, а не греческой точке зрения.
       Можно пофантазировать, что будет, если в эту историю ввести еще и программиста-варвара. Например, он может с безумной скоростью писать код, полный ошибок. Тем не менее, он может завершить работу раньше всех, если остальные старались написать корректно работающую программу, и в результате сорвать поначалу аплодисменты. Зато когда начнут поступать сообщения об ошибках, программисту-варвару придется заниматься отладкой, забыв об отдыхе и все чаще оказываясь на критическом пути, и потом выступить этаким героем, спасшим горящий проект (хотя пожар он сам же и устроил). В этом случае самому отъявленному преступнику будут возданы самые высокие почести!
       Конечно, этот сравнительный анализ Рима и Греции с примесью варварства нельзя назвать историей со счастливым концом. Но он прекрасно отражает некоторые проблемы, рассматриваемые далее в этой книге.

Ссылки
       DeGrace 1993 — The Olduvai Imperative, Prentice-Hall, 1993; Peter De-Grace and Leslie Hulet Stahl.




<<< Пред. Оглавление
Начало раздела
След. >>>

Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/l/GlassRob/04h2101.shtml