Waterfall


Заказчик сообщает, что хочет блинов. Компания выделяет проджект менеджера, который говорит: «Говно вопрос! Наша компания специализируется по производству блинов! Мы сделаем вам офигенских блинов за две тысячи человеко-часов!»

Далее начинается аналитическая фаза. Бизнес-аналитик берет эксперта, и они денно и нощно заседают в офисе заказчика, потребляют халявный кофе и пончики, а также тщательно записывают бизнес-требования вплоть до толщины блинной корочки с точностью до микрона. Документы записываются на фирменных бланках компании, после чего заверяются подписью директора компании-заказчика, директора компании-исполнителя, стороннего консультанта по блинному производству, а также печатью Папы Римского. После окончания аналитической фазы на проект остается 1000 часов.

Далее начинается фаза архитектуры. Для такой задачи выделяют ведущего архитектора, который детально расписывает архитектурное решение по постройке блинной фабрики на 2000 гектар. В состав фабрики должны войти: цех просеивания муки; цех выращивания кур; цех сбора и сортировки яиц; цех отжима подсолнечного масла; цех замеса теста; система управления кулинарными рецептами; цех выпекания; система контроля толщины корочки (мы же помним про бизнес-требования). При этом, печи в цехе выпекания должны работать на холодном термоядерном синтезе, а продукция между цехами должна перемещаться по универсальному конвейеру-шине, который должен гарантировать доставку продуктов потребителю в нужном порядке. После окончания архитектурной фазы на проект остается 100 часов.

Далее проект передается в разработку. Разработчики приезжают на площадку, выделенную для строительства фабрики, и обнаруживают там болото. Тимлид заводит баг на архитектора со словами: «Если строить фабрику на болоте, она утонет к хренам». Через неделю архитектор возвращает баг с комментарием: «Так осушите болото!» Тимлид сообщает проджект менеджеру, что осушение займет десять тысяч часов. ПМ отвечает, что это слишком много, и надо строить прямо в болоте. Возможно, в следующем релизе у задачи появится второй этап, и мы придумаем специальный насос, который высосет болото из-под фабрики и закачает туда цемент. А пока укомплектуем фабрику эксплуатационным инструментом в виде сотни домкратов. К этому моменту на проект осталось 0 часов.

Пока разработчики возводят завод на болоте и костях своих коллег, умерших от малярии, из проекта одна за одной удаляются фичи. Первым уходит термоядерный реактор, который заменяют на печку-буржуйку. Потом уходит система управления рецептами, в результате чего фабрика может производить только блины захардкоженной квадратной формы. Архитектор до последнего защищает систему контроля толщины корочки, но спустя 1000 часов, на которые уже просрочен проект, отказываются и от нее.

После завершения фазы разработки на площадку запускают тестировщиков. Вместо фабрики они обнаруживают дощатый сарай, а также одинокого специалиста внедрения, который бегает от домкрата к домкрату и удерживает сарай от погружения в болото. В углу сарая стоит печка-буржуйка с unibody-алюминиевой сковородкой, запатентованной у Apple. В другом углу свалены мешки с мукой, коробки с яйцами и подсолнечным маслом. От мешков к буржуйке тянется универсальный конвейер-шина, очередность продуктов на котором гарантирует все тот же специалист внедрения.

Тестировщики удивляются, и заводят 500 багов на разработку, т. к. никто не отразил в документации ни одного компромисса, который был принят во время строительства. Ситуация осложняется тем, что регрессионная модель требует проверки базового функционала: возможности горения дров в присутствии кислорода; невозможности горения дров в отсутствии кислорода; возможности человека войти в дверь фабрики и т. д. Когда проект просрочен на 2000 часов, тестирование только начинает проверять температуру поверхности сковородки. Все бегают, кричат и паникуют, ПМ решает сдавать задачу с незавершенным тестированием.

На приемке заказчику в качестве бонуса дают разогретых блинов из привокзальной рыгаловки и договариваются принимать задачу с ограничениями. Даже с ограничениями заказчик находит проблему: после зажарки блин невозможно отделить от unibody-алюминиевой сковордки, запатентованной у Apple. Приемка откладывается, а разработчики бегут исправлять критичный баг. В результате, запатентованную сковородку заменяют на обычную Tefal за 150 р. из Ашана. Из первоначальной архитектуры остается только универсальный конвейер-шина, на котором так и не смогли обеспечить гарантию очередности продуктов. После 5000 часов, потраченных на задачу, заказчик, скрепя сердце, принимает фабрику и согласует второй этап задачи в следующем релизе. Изрядно поседевший ПМ говорит: «Говно вопрос! ...»

Далее начинается аналитическая фаза.

[ Продолжение следует ]

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


  1. Sevlyar
    03.03.2016 10:55
    +42

    Когда начал читать, ожидал что будет несколько методологий.


    1. ThePretender
      03.03.2016 11:14
      -15

      Хотел написать несколкьо, но потом понял, что про Waterfall получилось много, и ещё больше народ не осилит :) Другие методологии опишу в другом посте.


      1. dom1n1k
        03.03.2016 12:02
        +8

        6-7 экранов текста на телефоне — это много?


      1. Newbilius
        03.03.2016 12:09
        +17

        2 страницы! 2 страницы, Карл! Серьёзно? Не осилят?!


        1. ThePretender
          03.03.2016 12:20
          +16

          Ну да: дефицит внимания, поколение айфонов, фруктовые смузи — вот это всё :) Сам недавно узнал, что тексты размером в средний ЖЖ-пост 2008 года теперь называют лонг-ридами :))


          1. impetus
            03.03.2016 14:21
            +7

            Ну вот нам и ответ почему мрёт хабр. Интресно АЭС и даже простой водопровод долго ещё продержатся? Там же ИНСТРУКЦИИ!!! — тома-талмуды, да ещё предполагающие, что тома учебников давно в голове...


            1. Iceg
              03.03.2016 18:21
              +5

              Ну вот заказчик один недавно требовал от нас, интерграторов в энергетике, инструкции на оборудование. На оборудование, к которому есть отличная — подробная, исчерпывающая и понятная — инструкция завода изготовителя на русском. Не, грит, надо покороче, на 2-3 страницы.


              1. impetus
                03.03.2016 18:42
                +8

                На авиафоруме рассказывали как они в Африке сводили в три итерации многокилограммовые инструкции по Ми-24 вначале к брошюре, а потом к буквально колоде карт с комиксами.

                Все там будем.


  1. Scf
    03.03.2016 10:58

    Этот текст не про то, что Waterfall плох. Этот текст про то, что Waterfall плох, если ТЗ составляют плохие аналитики.


    1. vintage
      03.03.2016 11:03
      +18

      Плох тот процесс, который позволяет завалить проект одному "плохому" работнику.


      1. lair
        03.03.2016 11:44
        +3

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


        1. sebres
          04.03.2016 00:11
          +4

          ошибки на этапе анализа — самые дорогие в любой методологии

          Если бы только ошибки… Оно само по себе часто съедает кучу человеко-часов. В корпоративке (европы если что) частенько бывает примерно вот так (ЧД — человеко-день):

          • есть бюджет у заказчика — 100 ЧД, но надо бы в идеале за 50-75 (оставить на черный день);
          • собственный проект-менеджмент заказчика — 20 ЧД;
          • выяснение "тонкостей" внутри самого заказчика (проект-менеджмент <-> люди которым нужен продукт) — 5 ЧД;
          • собственный аудит заказчика — 10 ЧД;
          • согласование внутри заказчика (все эти вышеуказанные "грантоеды") — 10 ЧД;
          • обсуждение с salesman подрядчика — 5 ЧД;
          • здесь в первый раз проект-менеджер (или в идеале команда разрабов) подрядчика увидели проект — 1 ЧД;
          • написание тех-задания (или переделка-подгонка ТЗ от заказчика) — 10 ЧД;
          • согласование тех-задания проект-менеджер — разработчик — 5 ЧД;
          • согласование тех-задания с заказчиком — подрядчик (глухие телефоны туда-сюда) — 10 ЧД;
          • здесь неоднократный повтор вплоть до аудитора заказчика, а все почему — прямой контакт разраба подрядчика и человека от заказчика, для которого пишем проект, не желателен (а часто просто тупо запрещен);
          • подготовка инфраструктуры, репозитариев, и т.д. — 1 ЧД;

          Итог: разработчики только начинают писать, когда осталось 0 ЧД с хвостиком (в идеале).

          Про тест, ввод в эксплуатацию, баг-фиксинг, энд-аудит и т.д. и т.п. уже промолчим.


    1. ThePretender
      03.03.2016 12:25
      +2

      Всё дело в объёме задачи. Если это простая доработка на 50 часов, то waterfall ничего не испортит. Если мы говорим о задаче с фазой разработки на 3 месяца, то тут лучше получать фидбэк как можно раньше. И agile-подход в этом плане сильно снижает риски по «плохим аналитикам», т. к. качество требований и их влияние на следующие фазы видно сразу.


      1. Gorthauer87
        03.03.2016 12:27

        Может тогда разбить большую фазу на несколько мелких и получить себе вполне годный Agile?


        1. ThePretender
          03.03.2016 12:30
          +1

          Так ведь так оно и получается. Берём большую задачу, разбиваем на понятные более-менее законченные куски, делаем для каждого аналитику и архитектуру, кодим… Опа, а мы уже в agile!


      1. NortaBirdo
        03.03.2016 12:40
        +1

        К сожалению, в случае контрактов, которые должны проводиться по конкурсной процедуре, agile не подходит. Ибо в agile клиент платит за процесс разработки. А в ГК — за результат.


      1. Scf
        03.03.2016 12:58
        +1

        Всё немного сложнее. Agile, при всех его преимуществах, не бесплатен: итерации требуют дополнительных ресурсов и дополнительного взаимодействия между людьми, увеличивая время разработки. Я думаю, что не будет преувеличением сказать, что примерно на треть.

        С другой стороны, при наличии сильной команды аналитиков waterfall может оказаться намного полезнее, предоставляя меньшие сроки разработки, предсказуемость по срокам и качеству результата. Другой вопрос, что качественное ТЗ — это очень дорогое и еще и небыстрое удовольствие, позволить которое мало кто может. Но кое-где это оправдано.


        1. ThePretender
          03.03.2016 13:18
          +1

          Да, действительно, agile не бесплатен. Время уходит на ежедневные статусы, ретро и демо. Некоторые спринты вообще выкидываются в мусорку из-за упущений в аналитике и архитектуре. Но я пока не видел ни одной крупной задачи, которую удалось реализовать по waterfall без последующего пересмотра аналитики или архитектуры (я говорю о большой доработке существующей системы, которая развивается больше 10 лет).


    1. NortaBirdo
      03.03.2016 12:37
      +1

      Здесь просто пропущена важная фаза — обсуждение требований с Implementation Matter Expert. Когда БА должен взять за шкирку архитектора и разработчиков, посадить в одной комнате и провести проверку требований на реализуемость. Это не серебряная пуля, но иногда позволяет найти болото на "строй площадке" раньше, чем подпишут документ. А там уже пусть ПМ думает что делать — менять границы проекта, или предлагать резать функционал.

      Справедливости ради, тут действительно есть косяк: нет снимков местности (требования к окружению).


    1. customtema
      08.03.2016 16:34

      Кстати, да.

      Хотелось бы видеть завершенную статью. Тема интересная.


  1. k12th
    03.03.2016 11:33
    -1

    Супер, еще!


  1. zip_zero
    03.03.2016 12:04
    +1

    Человечество печет блины сколько себя помнит, а IT как отрасли от силы 70 лет.
    Можно смеяться сколько угодно, но пройдёт ещё столько же времени прежде, чем IT-компании наконец научатся, как это делать.


    1. ghost404
      03.03.2016 12:35
      +4

      однако до сих пор не все знают как печь блины. что уж говорить про IT

      картинка в тему
      image


      1. zip_zero
        03.03.2016 13:18
        +3

        "Все" — это очень широкая и абстрактная категория, но.

        Я уверен, повара точно знают, как печь блины.
        А айтишники (в широком смысле) — не всегда знают, как делать IT.

        Собственно, в этом вся изюминка ситуации.


  1. Goodkat
    03.03.2016 12:24
    +1

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


  1. Segun92
    03.03.2016 12:25

    У вас в тексте почему-то waterfall также ассоциируется с плохим ПМ, плохими аналитиками, архитекторами, девелоперами, тестировщиками… в общем все страдают ерундой и делают всё не так. С такими людьми при работе по любому процессу вы сделаете не блины, а черт знает что. И никакой agile тут не поможет.

    У каждого SDLC есть свои плюсы и минусы.


    1. ThePretender
      03.03.2016 12:28
      +1

      У каждого SDLC есть свои плюсы и минусы.

      Безусловно. Штука в том, что в реальности очень сложно найти идеального аналитика, архитектора, разработчика и тестировщика. Рискну даже предположить, что их не бывает :) Суть текста в том, что waterfall гораздо менее простительно относится к ошибкам на начальных стадиях, чем тот же agile.


      1. Segun92
        03.03.2016 12:30
        +1

        Заказчик сообщает, что хочет блинов. Компания выделяет проджект менеджера, который говорит: «Говно вопрос! Наша компания специализируется по производству блинов! Мы сделаем вам офигенских блинов за две тысячи человеко-часов!»

        Мне после этой фразы стало ясно чем всё закончится)


        1. ThePretender
          03.03.2016 12:32
          +1

          Ну это же юмор, как-никак :) Все роли гипертрофированы.


  1. Gorthauer87
    03.03.2016 12:29
    +3

    Без методологии получается ненамного хуже.
    https://xakep.ru/2001/06/19/12860/


  1. Rumega
    03.03.2016 12:40
    +2

    Вот так, братцы, строятся блинные заводы в представлении узбека из «привокзальной рыгаловки», и это во многом подытоживает Agile vs не-Agile дискуссию :)


  1. siemdi
    03.03.2016 12:51
    +1

    Впервые столкнулся с этой методикой в этом году… Начинающий разработчик… Опять таки выскажу свое субъективное мнение. Все бы было отлично и на деле, если бы разработчики и менеджеры были роботами а не людьми. Холодный расчет, никаких форсмажоров и тд… Но обычно при разработке ТЗ и всей шелухи, забывают внести во временные риски, человеческий фактор. А именно людям свойственно болеть, увольняться, лениться… А так все работает как часики...


  1. spmbt
    03.03.2016 14:01
    +1

    в результате чего фабрика может производить только блины захардкоженной квадратной формы.

    В результате, запатентованную сковородку заменяют на обычную Tefal за 150 р. из Ашана.

    Они взяли сковородки диаметром в sqrt(2) раз больше?


  1. forgotten
    03.03.2016 15:44
    +1

    Что, кто там утверждал, что Хабр не умер?…


    1. Milfgard
      04.03.2016 08:50
      +1

      Надо признать, что это частный пример плохого поста. Но вот что он делает наверху уже два дня — второй вопрос.


      1. forgotten
        04.03.2016 08:57

        Что из этого — хороший пост?

        Обзор инфракрасного датчика CO2 MH-Z19 5
        Видеоаналитика 2.0 или при чём тут оставленные предметы. Часть 1 0
        Порог вхождения в Angular 2 — теория и практика 22
        (La)TeX на Хабрахабре 16
        Тестирование JS. Кармический Webpack 0
        Фильм о победителях Google Lunar XPRIZE появится на YouTube 17 марта 1
        BMW Australia отказывается соблюдать условия лицензии GPL 20
        Обзор и сравнительное тестирование ПЭВМ «Эльбрус 401?PC». Дополнение — вопросы и ответы 23
        Астронавт Скотт Келли за год в космосе вырос на 5 см 18
        Векторная графика бесплатно — подборка сайтов 2


        1. Milfgard
          04.03.2016 08:58

          Не знаю, хорошие они или нет. Мне же они, к счастью, на глаза не попались. То, что я читаю, меня, в целом, устраивает.


          1. forgotten
            04.03.2016 08:59

            Ну это сегодняшний топ.


            1. Milfgard
              04.03.2016 09:00
              -1

              Рад за него.


            1. Milfgard
              04.03.2016 09:01

              Вот моя стартовая.


  1. Labutin
    03.03.2016 22:35

    Waterfall, Agile и т.п. — это и хорошо и плохо.
    Но в большинстве случаев как бывает? https://youtu.be/ir5rj2yYH_8