вторник, 16 февраля 2010 г.

[life] Впечатления от книги “Оружие победы”

Сегодня поделюсь своими впечатлениями и поставлю точку в серии заметок о книге “Оружие победы”. Вкратце – мне было очень интересно. Рекомендовать не буду, поскольку мемуары – это чтиво на любителя, но сам я прочитал с удовольствием. Затрону лишь основные моменты, которые мне были интересны.

О Сталине.

Поскольку моя учеба в школе пришлась на 80-е годы, то в подростковом возрасте отношение к Сталину было сформировано вполне конкретное: кровавый тиран. Правда, весь поток “разоблачений преступлений сталинизма”, который бушевал в тогдашних газетах и журналах, мне быстро надоел. Посему я мало задумывался о том, что же из себя представлял Сталин – ну тиран и тиран. Однако, с возрастом, с более плотным общением с разными людьми, стало приходить понимание, что объявление Сталина “кровавым тираном” мало того, что сильно однобоко, так еще и далеко от истины. Поэтому очень интересно было прочитать в книге Грабина о Сталине как об очень дальновидном и внимательном к людям управленце.

О доверии к написанному…

Поскольку книгу написал сам Грабин, то при чтении складывается впечатление, что “вокруг все в дерьме, а он один весь в белом”. Впрочем, имеет полное право – на тот момент он был победителем (бюрократии, инертности, косности, карьеризма и пр.), а победителей не судят. Жалко, однако, что книга оканчивается на начале Великой Отечественной. Судя вот по этой статье, в послевоенные годы он мог бы рассказать много всего интересного про амбиции, про интриги, про перспективные виды вооружений и отношения к ним командования. Но тогда, вероятно, книга бы не вышла и в 1989-м году.

О руководстве, подходах к конструированию и продвижению своих идей.

Примечание: с проецированием на любимую мной тему разработки ПО ;)

Насколько я понял, главным своим достижением Грабин считал не какую-то конкретную пушку, а выстроенную под его руководством технологию быстрой разработки новых типов орудий. Самый яркий пример – создание весной 1941-го года орудия ЗИС-6 всего за 42 дня (в этот срок вошло и собственно проектирование, и выпуск опытного образца, и его испытания на заводе, и подготовка документации к валовому производству). Главными “секретами” технологии были две простые вещи (их аналоги, по-моему, легко прослеживаются в разработке ПО):

  1. Тесные взаимосвязи и мгновенная обратная связь между всеми стадиями проектирования и производства орудия. Если раньше конструкторы только рисовали проект, технологи затем занимались его внедрением, а потом исполнители были вынуждены со всеми последствиями бороться самостоятельно, то в КБ под руководством Грабина эту систему разрушили. Технолог и исполнитель получили возможность высказывать свои замечания на самых ранних стадиях проекта, когда проектное решение существовало всего лишь в набросках. А вся деятельность КБ была направлена не просто на разработку хорошего бумажного проекта, а на получение отличного конечного продукта – готового орудия.
  2. Широкое распространение получила унификация. При конструировании новых орудий конструктора перестали выдумывать новые узлы без лишней необходимости. В первую очередь за основу брались существующие узлы и агрегаты, а так же проверенные проектные решения. И только если выяснялось, что готовый элемент не может обеспечить приемлемых характеристик или технологичности, только тогда конструктор получал возможность заняться изобретением нового.

Не правда ли, все очень похоже на разработку ПО?

Сначала строгая модель “водопада”, потом постепенное привлечение заказчиков/пользователей к опробованию будущего продукта, потом расцвет “гибких методологий”. Имхо, в области производства ПО мы движемся к тому, что Грабин в своем КБ проделал в конце 1930-х. В связи с этим лично мне грустно наблюдать за разработкой ПО в условиях, когда разные стадии разработки поделены между разными отделами – бизнес-аналитики, разработчики, тестировщики, технические писатели – и все сами по себе, общаясь строго формально и ограниченно :(

А Грабинская унификация узлов и агрегатов орудий? Это же в чистом виде reusable software и компонентно-ориентированное программирование. Совпадение, конечно, не 100%-ное, но идеи очень и очень сходны.

Очень впечатлили меня высказывания В.Г.Грабина об организации работы в КБ, об атмосфере, в которой должна происходить работа конструкторов, о воспитании конструкторов. Подробную цитату на эту тему можно найти в предшествующей заметке. К ней я бы добавил еще одну цитату про молодых специалистов (тут я, к сожалению, должен признать, что ничего с тех пор не изменилось), глава “Вынужденная инициатива”:

Нужно отметить, что и сегодня, спустя много лет после описываемых событий, подготовка молодых специалистов (речь идет не только о конструкторах артиллерийских систем) страдает, как мне кажется, той же однобокостью. Давая молодому инженеру огромный объем специальных знаний по избранному профилю, высшее учебное заведение считает свою задачу выполненной, если выпускник обладает навыками самостоятельной творческой работы. Однако конструкция станка, механизма, проект промышленного сооружения отнюдь не конечная цель инженерного творчества, а лишь первый, начальный этап. Конечной целью необходимо считать освоение конструкции промышленностью в серийном производстве, внедрение новинки в тех областях народного хозяйства, для которых она предназначена. И на этом пути непреодолимым препятствием часто становится малая технологичность конструкции. Проект трудно или вовсе невозможно воплотить в металл. Либо же практическое осуществление проекта требует непомерных производственных затрат, которые полностью сводят на нет все преимущества новой конструкции.

Другим препятствием нередко является и "тактическая" неподготовленность молодого инженера к тому, чтобы умело отстаивать свою идею. Выпускник вуза осведомлен, что научно-технический прогресс невозможен без столкновения идей, концепций, теорий на самых разных уровнях. Но столкновение это не ограничивается лишь рамками теории, в нем участвуют все же не концепции в их чистом виде, а люди, по-разному понимающие очень и очень многое. Утверждение нового, прогрессивного непросто.

Следующий момент, который оставляет очень сильное впечатление – это борьба Грабина за продвижение своих идей. Практически каждая успешно созданная и поставленная на производство пушка до Великой Отечественной – это результат, который был получен “не благодаря, а вопреки”. И здесь следует отметить ряд факторов, который, по моему мнению, очень важен:

  • убежденность в своей правоте и последовательное, поступательное продвижение своей идеи. Не смотря ни на что. С перешагиванием через головы начальства к вышестоящим руководителям, если прямые начальники демонстрируют непонимание или недальновидность;
  • доказательство своей правоты не на словах, а на деле;
  • постановка потенциальных заказчиков перед фактом. При продвижении новой идеи конструкторы постоянно сталкивались с инертностью и косностью потенциальных потребителей. Убедить которых можно было только готовым образцом. Поэтому КБ Грабина само, не дожидаясь разрешения сверху, начинало разработку нового орудия, а потом уже предъявляло готовый, испытанный и отлаженный образец военным.

По собственному опыту могу сказать, что последний пункт отлично работает и для новых программных разработок. Более того, похоже, что только он и работает ;)

Хотел бы отметить еще один немаловажный фактор – Грабин сам воспринимал дефекты своих пушек как обязательные к исправлению, и свое КБ сумел настроить на этот же лад. Характерный пример: на повторных испытаниях орудие Ф-22 заставили заряжать старыми французскими снарядами, гильзы которых были сделаны некачественно. В результате гильзу разрывало прямо в каморе и извлечь ее можно было только с помощью шеста (выталкивая гильзу с другой стороны дула). Другой бы конструктор заявил, что пушка не предназначена для стрельбы плохими зарядами. А Грабин поставил перед своим КБ задачу спроектировать затвор таким образом, чтобы из него извлекались даже деформированные гильзы. И ведь спроектировали, и затем использовали во всех последующих орудиях. И горя потом не знали – ни конструкторы, ни солдаты. А как часто программисты так относятся к дефектам в своих программах? И как часто программисты проектируют приложения на работу в неидеальных условиях? ;)


Такие вот дела. Книга, вроде бы о проектировании пушек семьдесят лет назад. А местами впечатление такое, как будто о современной разработке ПО читаешь…

Отправить комментарий