Пьеса «Технический долг» в 9 частях

Вспомнилось… #МопедНеМой

Часть 0: В пустой комнате стоят Разработчик (Р) и Менеджер (М).

М: Я собрал нас тут, чтобы рассказать пренеприятнейшее известие: система КРОТОПОН, которая работает на продакшене, заглючила и мы потеряли кучу денег. Кроме того, нет никого, кто знает, как она работает. Поэтому (с придыханием) наш СЕО дал мне священную миссию — написать новую систему. Как ты думаешь, за два месяца справишься?

Р: А что делать-то нужно?

М: Да там немного, всего лишь пару десятков систем связать и рюшечки навесить.

Р: Эй, да это же на год работы! И вообще требования будут?

М: (В телефон) Да, конечно, за полгода справимся. (Разработчику) Ну, ты тут пока начинай, а я тебе требования потом донесу.

Менеджер уходит.

Р: Но тут же…

Разработчик тяжело вздыхает, затаскивает в комнату инструменты и начинает что-то сооружать.

Часть 1: Через 2 месяца. В комнате сидит Разработчик и что-то строгает. Забегает радостный Менеджер и протягивает Разработчику большую папку.

М: Знаешь, что я принес? Это требования к системе, составленные нашим главным писателем. А еще нашим проектом заинтересовался СЕО, так что мы релизимся на месяц раньше!

Р: (ошарашенно) Но ведь у нас всё рассчитано на полгода!

М: Не волнуйся, вот посмотри: я подробные требования принёс, всё получится!

Разработчик смотрит требования.

Р: Но ведь это булшит, мы вообще об этих требованиях не слышали!

М: А, это? Это попросил сам СЕО, так что нужно обязательно сделать.

Р: Но я же не успею!

М: Не волнуйся, я что-нибудь придумаю.

Менеджер убегает. Разработчик начинает разбирать собранное в центре комнаты.

Часть 2: Через месяц, Разработчик собирает что-то совершенно не похожее на сооружение из предыдущей сцены. Входит Менеджер.

М: Радуйся, я привёл нам помощь!

Р: О, кто-то ещё будет разрабатывать этот продукт? Тогда мы справимся!

М: Не совсем. Знакомься, это наш Скрам-мастер!

Входит Скрам-мастер (С).

С: Здравствуйте, дети! В смысле, приятно познакомиться!

М: Он поможет тебе лучше распределять время между задачами и повысит производительность нашей команды.

Р: Но я же один в команде…

С: Не волнуйся, я только что прочитал об особом виде СКРАМ, который как раз подходит для команд из 3-х человек.

Менеджер уходит, Скрам-мастер сдвигает сооружение, сделанное разработчиком, в угол комнаты и начинает рисовать графики.

Часть 3: Месяц до релиза. Скрам-мастер сидит в центре комнаты в позе йога, Разработчик пытается соединить всё в углу комнаты. Входит Менеджер.

М: О, я вижу у вас всё готово? Хорошо!

Р: Оно неидеально, но к началу тестирования я успею закончить.

М: А, ты про это… У нас не будет тестирования.

Р: Что?

М: Я поговорил с ВИПами и они хотят видеть всё за 2 недели до того, как мы покажем всё СЕО. Так что тестирование отменяется.

Р: Но ведь у меня нет времени укрепить всё к этому показу!

М: Не проблема, подопри костылями и прибей гвоздями.

Р: Оно не будет работать и мне стыдно будет показывать такой код!

М: Не волнуйся, мы всё исправим после релиза.

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

Часть 4: Неделя до релиза. В окне мелькает молния, в углу стоит противотанковый ёж из костылей. Рядом спит Разработчик. Вбегает Менеджер и будит Разработчика.

М: Надо всё переделать!

Р: Как? Что? Оно же работает!

М: Наш проект посмотрели ВИПы и вот список доделок, которые нужно сделать до показа СЕО.

Менеджер выходит из комнаты и ввозит тележку, заполненную бумагой.

Р: Но… как? (Смотрит на первую попавшуюся бумажку из кучи) Это же совершенно не так, как было написано в требованиях!

М: Забудь про требования, надо сделать так.

Р: Но ведь Скрам-мастер говорит, что мы не будем принимать новые требования!

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

Скрам-мастер уходит.

М: Не знаю, как ты, но я собираюсь сегодня ночевать в офисе. Обещаю хорошую премию по результатам!

Менеджер демонстративно садится напротив Разработчика и начинает на него смотреть.

Р: Ладно, я попробую что-нибудь сделать, но после релиза нужно будет всё исправить!

М: Да, конечно, у тебя будет время на это после релиза.

Разработчик начинает разбирать бумаги в тележке, Менеджер на него смотрит.

Часть 5: В углу комнаты стоит, покачиваясь, неустойчивая конструкция, рядом среди стаканчиков из-под кофе спит Разработчик. Входит Менеджер.

М: (Оглядываясь вокруг) Хорошо поработали. (Тормошит разработчика) Ты знаешь, наш проект хорошо оценили. Так и сказали, что я мастер управлением персоналом, что смог вытащить этот проект за такой малый срок. Так что меня повысили. Знакомься, это твой новый менеджер!

Входит Менеджер 2 (М2), Менеджер раскланивается с ним и выходит.

М2: (смотрит на полуспящего Разработчика) Привет! Надеюсь, ты полон сил и решимости работать на благо нашей компании?

Р: (с трудом садясь) Да, надо подчистить технический долг после релиза… И Менеджер обещал мне премию…

М2: Странно, мне он забыл об этом сказать. Я спрошу его. А пока, раз ты готов и полон решимости, мне нужна помощь с другим проектом.

Менеджер 2 выходит и вкатывает телегу с говном.

Р: Это же куча говна!

М2: Нет, это очень важный проект, который сделал наш Гуру. Тебе нужно всего лишь исправить пару маленьких недоделок внутри, тогда и поговорим о премии, кстати.

Менеджер 2 уходит.

Часть 6: Разработчик сидит и пытается починить колесо у телеги с говном, входит Менеджер 2.

М2: Ну вот, отлично выглядит, а ты говорил, что куча говна.

Р: Так можно мне премию?

М2: Да, да, конечно. Я обо всём договорился. Только мы немного опоздали и поэтому придётся ждать окончания следующего отчётного периода через 6 месяцев. Кстати, решено выпустить вторую версию этого замечательного продукта (оглядывает покачивающегося противотанкового ежа в углу комнаты).

Р: (отряхиваясь от говна) Хорошо, наконец-то я смогу починить эти костыли!

М2: Нет, на это нет времени. У нас есть куча новых требований.

Р: Но приложение же нестабильно! Я не смогу добавлять новую функциональность, пока не исправлю старую!

М2: Не бойся, я попрошу о помощи, начинай делать.

Часть 7: Те же лица, Разработчик пытается что-то делать.

М2: Возрадуйся, я договорился о помощи!

Р: Надеюсь не Скрам-мастера?

М2: Нет, я привёл настоящего профи своего дела! Знакомься, Гуру. Ты уже видел его проект (кивает на телегу с говном).

Входит Гуру(Г).

М2: Гуру будет руководить доработками. Вопросы?

Р: Но я же лучше знаю проект…

М2: Да, покажи проект Гуру.

Разработчик начинает показывать проект.

Р: А тут у нас куча костылей, их планировали исправить до релиза.

Г: (покачивая головой в разные стороны) Да, понимаю.

М2: Ну как, разобрались, успеете?

Г: Конечно, сделаем всё в лучшем виде. Начнём с самой важной части — платформы. Всё просто необходимо переделать согласно последним трендам.

Р: Но…

М2: (хлопая в ладоши) Ну, вот и разобрались!

Часть 8: Те же лица, Гуру втаскивает в комнату ещё одну телегу и водружает на неё противотанкового ежа. От ежа в процессе отрывается половина костылей и то, что к ним крепилось, и остаётся лежать на полу. Потом он бережно переливает говно из первой телеги в новую, покрывая остатки ежа.

Г: Ну вот, я даже перевыполнил план, заодно добавил интеграцию с прошлой системой. Кстати, забыл сказать, я ещё работаю на 10 других проектах и моё время для этого проекта вышло, но я буду заходить и смотреть, что ты сделал. Дальше уже тривиально. Пока!

Гуру выходит из комнаты.

Р: Всё, меня всё достало, я увольняюсь!

М2: Премия. Сразу после релиза.

Р: Да мне уже больше предлагают!

М2: Тогда ещё повышение зарплаты, тоже после релиза. И вообще, ты профессионал или где? Уходить сейчас непрофессионально!

Р: ОК. (начинает собирать костыли с пола)

Часть 9, заключительная: В центре комнаты стоит телега с говном и скульптурой из костылей, сидит Разработчик. Входят Менеджер 2 и Гуру.

М2: Какие мы молодцы, что сделали эту систему! Особенно важна самоотверженность, с которой ты (обращается к Гуру), в условиях жёсткой нехватки времени идеально встроил новую платформу! Обязательно выдам тебе хорошую премию.

Р: Надеюсь, вы не забыли про меня?

М2: Нет, конечно нет! Только у меня для тебя новость — я вместе с Гуру перевожусь в другой отдел, так что тобой займётся уже Менеджер 3. А вот, кстати, и он!

Менеджер 2 и Гуру уходят, входит Менеджер 3. (М3)

Р: Давай поговорим о моей премии и повышении зарплаты, о которых я договорился с Менеджером 2!

М3: Подожди, подожди, я слышал об этом, но мне кажется, что там повышение слишком большое. Тем более, основную работу сделал Гуру. Давай поговорим об этом через 6 месяцев, когда я присмотрюсь к тебе. Сейчас мне всё равно не выделили бюджет на увеличение зарплатного фонда.

Р: Да идите вы… (Разработчик пишет заявление ПСЖ и увольняется, уходит со сцены)

Менеджер 3 пишет записку «Так как Разработчик был недостаточно лояльным и уволился, прошу выделить мне команду для поддержки этого приложения, а пока мы замораживаем все работы по нему».

Через полгода всё рассыпается и компания теряет много денег. Обвиняют во всём уже ушедшего из компании Разработчика и решают сделать новую систему, так как никто не понимает, как работает старая.

КОНЕЦ
При написании этого текста не пострадал ни один костыль.
Все совпадения с реальными людьми и событиями считать злонамеренными.

Источник

————————
Технический долг (также известный как долг кодинга) — это метафора программной инженерии, обозначающая накопленные в программном коде или архитектуре проблемы, связанные с пренебрежением к качеству при разработке программного обеспечения и вызывающие дополнительные затраты труда в будущем. Технический долг обычно незаметен для конечных пользователей продукта, а связан с недостатками в сопровождаемости, тестируемости, понятности, модифицируемости, переносимости. По аналогии с финансовым долгом, технический долг может обрастать «процентами» — усложнением (или даже невозможностью) продолжения разработки, дополнительным временем, которое разработчики потратят на изменение программного продукта, исправление ошибок, сопровождение и т. п. Хотя увеличение технического долга как правило негативно влияет на будущее проекта, оно может быть и сознательным, компромиссным решением, продиктованным сложившимися обстоятельствами. (с) Wikipedia

Изменено: 15.01.2019

Johnny:
Похожая заметка

This website uses cookies.