На конференции Monitorama Пит Чеслок из Threat Stack провел параллель между историей строительства шведского корабля «Васа» и провальными проектами по разработке. Делимся с вами отрывком его выступления.

image

Корабль «Васа» должен был стать главным боевым кораблем шведского флота, но затонул с порывом ветра при первом же выходе из гавани в 1628 году, 53 члена экипажа погибли. Выживший капитан был немедленно отправлен в тюрьму: на допросе он клялся, что пушки были надежно закреплены, и экипаж был трезв. После расследования никто не был наказан или признан виновным, и инцидент был классифицирован как «Воля Божья». Почему затонул корабль и причем тут управление проектами?

За 3,5 года до этого король Швеции Густав II Адольф подписал контракт на строительство
четырех кораблей: двух 108-футовых и двух 135-футовых. Флот тогда потерял десять кораблей в бою.

image
«Мне нужно четыре корабля, немедленно!»

Так что «Васа» на самом деле задумывался как небольшой 108-футовый корабль, а обернулось все совсем иначе. Пару месяцев спустя требования изменились: теперь король захотел
120-футовый корабль. Но поскольку строить собирались совсем другое, древесины хватило
только на 111-футовый.

image

Поэтому они построили 111-футовый корабль. А потом король узнал, что Дания строит корабль с ДВУМЯ орудийными палубами. И вместо того, чтобы начать заново, они решили смасштабировать.

Стоит заметить, что, когда король изменил план, оказалось, что никто в Швеции никогда не делал кораблей с двумя орудийными палубами.

Когда дело дошло до орудий, пришел ряд поправок от короля: 12-фунтовые пушки, 24-фунтовые пушки, 40-фунтовые пушки… Их количество тоже постоянно менялось. В конце концов, они смогли сделать только 48 из 64 запланированных орудий — все из-за нехватки времени.

image

Когда эти пушки позже изучали в 1960-х годах, оказалось, что из-за спешки орудия были настолько плохо сделаны, что они, скорее всего, все равно бы не работали. Так что если бы он не утонул, то, наверное, взорвался бы.

Король также хотел, чтобы этот корабль был украшен сотнями витиеватых резных орнаментов: «Васа» должен был произвести впечатление и перещеголять тот поганый датский корабль. Денег не жалели.

image

И все это украшательство привело к тому, что центр тяжести оказался слишком высоко. И это была основная проблема. По проведенным расчетам, «Васа» был настолько неустойчив, что опрокинулся бы при крене даже меньше 10 градусов. Корабль опрокинул порыв ветра в 8 узлов
(~14,5 км/ч). По современным расчетам корабль перевернулся бы даже от вполовину менее сильного ветра.

Главный судостроитель заболел и умер, пока делался этот проект. И, как было принято в то время, всю схему целиком знал только он. Потому что, ну вы понимаете, зачем нужна документация-то? С менеджерской точки зрения проект, конечно, уже был провален. Адмирал (или капитан) провел проверку устойчивости, которая заключалась в том, что 30 человек переходили туда и обратно несколько раз. И им пришлось прекратить после трех раз, потому что корабль был настолько неустойчив, что мог перевернуться.

Поэтому они просто должны добавить балласт, верно? Но дизайн менялся столько раз, что для балласта просто не было места. И если бы они сделали это, то орудия просто были бы под водой. Вы, наверное, думаете: «Зачем запускать, если тест не пройден?». Но я вам больше скажу — как выяснилось, судостроители даже не присутствовали на этом испытании, да и вообще им о нем не сообщили.

Король приказал спустить корабль, он должен был отправиться 25 июля, и, если бы он не был готов к тому времени, цитата: «Виновные впадут в немилость его высочества». Первый рейс начался на две недели позже, чем предполагалось. Почти успели!

Итак, что же мы знаем о проекте «Васа»?

1. «Васа» был запущен в сжатые сроки, а требования при этом были серьезные.
2. Множество правок было сделано уже во время постройки корабля.
3. Документация не обновлялась, потому что ее не существовало вовсе.
4. Неумелая передача полномочий.
5. Никто в Швеции до этого ни разу не строил корабль с двумя орудийными палубами.
6. Множество доработок пришлось делать из-за постоянно меняющихся требований.
7. Никто по-настоящему не представлял, насколько корабль разросся за 3,5 года строительства.
8. Отсутствие научного метода расчета центра тяжести и устойчивости.
9. Запуск после неудачного теста. Кто вообще так делает?! Ну, то есть все мы так делали,
понятное дело…
10. Результаты тестирования были известны некоторым, но взаимодействия внутри команды не было.

Короче говоря, те, кто не знают истории, обречены на её повторение. Не позволяйте вашим проектам быть как «Васа».

image

На официальном сайте «Васа», кстати, вот такая 404-я.

Комментарии (22)


  1. AnutaU
    25.08.2017 18:08
    +11

    Вот ещё неплохой пример недостатка ресурсов на фоне растущих требований заказчика.

    image


  1. AmdY
    25.08.2017 19:22
    -18

    Практически в любом проекте можно найти кучу проблем, спешки и костылей, но они не потонули, а некоторые даже приуспели. Легко постфактум указывать на ошибки.

    У этого корабля есть другой смысл. Этот корабль символ конца эпохи имперских амбиций шведов, проиграв в той войне они сосредоточились на внутренних проблемах, а не завоеваниях Крымов, сейчас Швеция одна из лучших стран по уровню жизни при том что климатические условия далёкие от идеалов.

    Если вы в своей команде будете уделять досточно времени на обучение, оптимизацию и качество процессов, то вам не помешают ни сроки, ни изменения требований. В реальной жизни не бывает идеальных условий.


    1. trix
      25.08.2017 23:44
      +5

      1628 — конец имперских амбиций? :)) это было, скорее, начало


    1. amambaru
      26.08.2017 04:45
      +11

      символ конца эпохи имперских амбиций шведов, проиграв в той войне они сосредоточились на внутренних проблемах, а не завоеваниях Крымов, сейчас Швеция одна из лучших стран по уровню жизни при том что климатические условия далёкие от идеалов.


      Васа 1628
      Полтавская битва 1709


    1. JekaMas
      26.08.2017 10:35
      +3

      Да, пока речь про начала проекта, а потом… Вот например ВКонтакте накостылили свой процедурный язык и вроде все круто на старте, но теперь сложности с кадрами — не хотят опытные разработчики идти на это чудо. Или например архитектура: давайте накостылим на старте по-быстрому, а после это оборачивается «нам надо штут увеличивать в 4 раза и 3-5 лет переписывать легаси, и все равно жуткие куски останутся, многие задачи значит будут делаться не за 2 недели, а за пару месяцев + в разы большее число багов». И так далее и так далее.
      Но это цветочки, пока речь не заходит про банки, деньги, мед.оборудование, машины — ведь и там ради придуманных сроков фигачется дрянь, меняются требования, и нет времени подумать, во что превращается продукт.


      1. Scf
        26.08.2017 15:00

        Можно поподробнее про вконтакте? Всегда думал, что они на сях и пхп с самодельным компилятором.


        1. JekaMas
          26.08.2017 15:11

          kPHP не совместим с PHP, в частности в нем нет ничего из ООП. В вики есть немного о kPHP. Фактически народ упростил PHP где-то до уровня 4-й версии и написал транслятор в c++ с выведением типов.
          код на PHP 5+ не будет транслироваться kPHP.


        1. M_AJ
          26.08.2017 15:17

          Насколько я помню, они выбросили из своей версии PHP все или почти все ООП.


  1. kx13
    25.08.2017 20:09
    +6

    1. sova
      25.08.2017 20:41
      +3

      и ещё очень хорошее выступление у Маерса на Ютубе с таким же названием)


  1. impetus
    25.08.2017 21:17
    +20

    Все эти пункты — это следствия.
    Основная там была проблема — это постоянное вмешательство ВИП-заказчика, с воистину королевскими полномочиями, во все детали строительсва на всех этапах.
    По сути это был полностью его личный проект.
    «Его пример другим наука»


    1. Vkuvaev
      26.08.2017 08:11

      Ровно как и с Титаником, кстати


    1. saggid
      26.08.2017 19:48
      +1

      Надо заметить, кстати, что всё-таки наличие правильного руководителя — в целом, дело тоже важное и полезное для направления разработки в правильную сторону. Посмотрите на проект Star Citizen, который почти полностью контролируется основателем проекта, Крисом Робертсом. Вчера на GamesCom они продемонстрировали полностью новую технологию, благодаря которой игроки смогут передавать своим игровым персонажам свои настоящие лицевые эмоции через вебкамеру. И это в игре, которая про полёты между галактиками и планетами. Думаю, тут понятны масштабы проекта.


      И Криса очень многие ругали именно за усердный микроменеджмент. Но у него есть своё собственное видение проекта. Он хочет, чтобы были такие фичи, которые в других проектах делать вовсе не хотят, называя их невозможными. Он хочет, чтобы они были именно такими, как он задумал. Я вполне уверен, что лицевая анимация могла быть такой же идеей, про которую многие из скептиков сказали бы что-то типа "в космосиме таких масштабов это невозможно и вообще никому не будет нужно". Но они сделали это, и уже показали на вчерашнем демо работающую технологию, которая впечатлила большинство людей. И такого очень много в Star Citizen: скажем, "правильная" камера от первого лица, в которой нет отдельных моделей рук и оружия, как это делается в 90% сегодняшних игр. Многие разработчики также жаловались на то, что это во-первых почти невозможно сделать, во-вторых, в этом нет смысла. Снова оказались неправыми. Теперь у Star Citizen действительно настоящий вид от первого лица с возможностью видеть реальные руки персонажа.


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


      В общем, я думаю, что правильный руководитель для большого и сложного проекта — это упёртость + рациональность.


  1. Vkuvaev
    26.08.2017 08:10

    Видел шикарную презентацию с деталями по фейлам в проекте Титаника поданную ровно в таком же ключе:)


    1. Idot
      26.08.2017 08:41
      +7

      А ссылкой не поделитесь?


      1. Vkuvaev
        26.08.2017 12:52

        Выложу на slideshare слайды, вживую не записано, а жаль было с непередаваемой интонацией рассказано по-английски арабским боссом:)
        Вообще это часть презентации HPE software, но для корректности я выложу только, что касается этого топика:)


      1. Vkuvaev
        26.08.2017 13:45
        +1

        Вот, пожалуйста:
        www.slideshare.net/secret/gCeGAnsU2RtTbG

        Если будет пожелание это можно с подробностями как статью опубликовать, очевидно, многое объясняется на словах.


        1. Evengard
          26.08.2017 13:50
          -1

          slideshare заблокирован на территории РФ.


          1. Vkuvaev
            26.08.2017 14:13
            +6

            Верно, но я же не в бэби-блоге написал, не так ли?


            1. marazm
              26.08.2017 17:12

              VPN запретили


              1. Scf
                26.08.2017 17:17

                Пользоваться не запретили, до этого наши законодатели пока не додумались. Запретили предоставлять ВПН без фильтрации контента.


        1. Idot
          26.08.2017 17:04

          Как статью — было бы супер!