Введение в технологию программирования


Национальные черты производства ПО


Понять свою уникальность можно только сравнивая себя с кем-то. Раньше нас учили, что отечественное – значит отличное. Мы видели, что сильно отличаемся от американцев, а про себя отмечали, что порой не в лучшую сторону...

Я хорошо помню, как начиналось сотрудничество с американцами в 1992 году. С самого начала они признавали наше преимущество в созидательности (модном сегодня понятии "creativity"), в уровне образования, общей математической культуре. Сразу же обнаружились и наши основные проблемы: плохо работающая почта (электронной почты тогда еще не было), резкое несоответствие технического оснащения у нас и в Америке, недоступность новых технологий и даже их описаний. Первый в нашей организации факс мне привезли итальянцы в 1993 году. Специальную рулонную бумагу к нему в России приобрести было очень трудно.

Мы осознавали, чему нам стоит поучиться у западных коллег. Что такое планирование, мы, разумеется, знали. Но были искренне убеждены(и обстоятельства того времени располагали к такому мнению) что детальное планирование на год – это шарлатанство. Сдвиги сроков исполнения квартального заказа на 1-2 недели были нормой. Понятия планирования рисков для нас не существовало. Пользу регулярных недельных отчетов мы осознали только через несколько лет. До этого мы к ним относились как к блажи заказчика, неизбежной в процедуре получения от него вознаграждения. То же можно сказать и о базе данных ошибок, где из года в год накапливаются все серьезные и мелкие недочеты. Именно американцы объяснили мне, что если какой-то сотрудник сделал много ошибок в течение недели, это еще ничего не значит. Такая нестабильность может быть обусловлена проблемами личного характера. Но если один программист в течение 5-10 недель допускает в 5 раз больше ошибок, чем другой, то по этому факту уже можно судить о способностях каждого из них при наличии достоверной статистики. Так, основной проблемой стало наше воспитание, склад ума. Нашему программисту ничего не стоило забыть ответить на запрос в тот же день.
Более того, когда американцы устраивали по этому поводу скандал, я про себя думал: "чего прицепились...". Все эти недочеты мы исправляли, руководствуясь опытом западных коллег.

Постепенно нам удалось наладить процесс производства ПО в точности так, как это принято у американцев. Но вместе с тем стала очевидна и обратная сторона медали. Современному молодому сотруднику с двухлетним опытом работы в жесткой производственной структуре начинает казаться, что, кроме выполнения правил игры, от него ничего не требуется. Редко кто из молодежи проявляет инициативу, предлагает варианты рационализации процесса, хотя это было естественно для молодого поколения 30 лет назад. И уж никак нельзя опустить явный меркантилизм: очень часто предложение о небольшом повышении зарплаты является для молодых сотрудников достаточным поводом для того, чтобы сменить работу. Аргументом служит: "А что, в Америке принято раз в год менять работу и переезжать из штата в штат, почему у нас должно быть по-другому?" С другой стороны, такой борьбе за "рубль подлиннее" способствовала и общая нищета в стране. Отсутствие государственной поддержки индустрии в целом спровоцировало ситуацию, когда наши элитные вузы готовили специалистов высшей квалификации для приходящих на наш рынок западных компаний, способных предложить достойный уровень заработной платы. Российским производителям ПО при этом оставалось довольствоваться тем, что осталось, хотя немалый вклад в подготовку будущих специалистов внесли именно они.

На мой взгляд, корень проблемы – именно в слепом следовании американскому опыту. Если мы выберем этот путь – мы всегда гарантированно будем отставать в организации производства ПО на 10-15 лет. Нужно стараться выявить наши преимущества, четко их сформулировать, развивать коллективизм в работе, сделав основную ставку на образование и способность самостоятельно созидательно мыслить.

В Америке я много раз сталкивался с ситуацией, когда разработчик, сидящий за соседним столом, не хочет потратить 5 минут, чтобы объяснить тебе что-то.Там это называется job security. Сегодня я тебе что-то объясню, завтра ты станешь лучше, чем я, а послезавтра меня выгонят. Хочется верить, что эта американская черта не приживется в нашей действительности.

Я много лет играл в баскетбол. Тренеры учат, что основное внимание надо уделять шлифовке своих сильных сторон, а не тратить время на освоение того, что ты не выучил в детстве. Я думаю, что эта мысль применима и в нашем случае. Неистовое стремление "стать похожими" только отдалит нас от возможности быть уникальными. Пытаясь равняться на индийские software house или довольно безликие американские программистские организации, мы потеряем свое лицо и потенциальную возможность занять достойное место в мировой индустрии ПО.


Содержание раздела