История №988199
Часть 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 пишет записку «Так как Разработчик был недостаточно лояльным и уволился, прошу выделить мне команду для поддержки этого приложения, а пока мы замораживаем все работы по нему».
Через пол года всё рассыпается и компания теряет много денег. Обвиняют во всём уже ушедшего из компании Разработчика и решают сделать новую систему, так как никто не понимает, как работает старая.
При написании этого текста не пострадал ни один костыль. Все совпадения с реальными людьми и событиями считать злонамеренными.
История пользователя DemetrNieA с Habrahabr
Тарас Сереванн, эксперт в области IT магии
А есть ещё:
https://en.wikipedia.org/wiki/Six_phases_of_a_big_project
Переводить не буду, лень.
Теперь с точки зрения менеджера
1) сроки назначают ориентируясь на "сроки выхода на самоокупаемость", пожелания клиента Иван Иваныча и прочие экономические и не очень переменные о которых разработчик знать не знает а если узнаёт то будет считать ересью. Хотя именно от этих переменных зависит его зря-плата.
2) есть прописная истина - что бы успеть нужно рабочим установить дедлайн в два раза короче реального. Успеют - экономия, не успеют - все равно уложатся в реальный дедлайн и опять же экономия на премия.
3) разработчики - илитка, им главное обсудить интересное решение или новую платформу. Об мирской суете типа повышения или окладе не беспокоятся, что просто замечательно
4) при всем вышесказанном продолжают упорно видеть в менеджерах людей недалеких а в себе - соль земли и " если я уйду все развалится".
5) когда уходят их на раз заменяют следующим кустарем-одиночкой с мотором в заднице
А бывает, что ставят задачу, которую невозможно решить без нарушения законов физики. И на все возражения кричат:"Да мы же озолотимся, если это сделаем! Нужно только решить вопрос, как это реализовать технически. Ты что, не хочешь работать в нашей компании?" Раз меня так достали таким наездом, что я сказал:
-Вот у меня есть проект. Если мы его сделаем, то действительно озолотимся.
-И что это? (с горячим интересом)
-Делать золото из говна. Рынок сбыта устойчивый, сырья полно. Нужно только решить, как это реализовать технически.
После этого меня уволили.
Рассказ не полон, потому что Рахработчик показан одним лицом (кроме периода, когда ему помогает Гуру). На самом деле, разработчик многолик:
- собственно, Гуру, как описан
- разгильдяй, которому лишь бы быстрее сварганить хоть что-нибудь. Часто работает методом copy-paste, бывает хвалим за скорость работы, но делает много ошибок
- аккуратный, правильный програмист, чей код всегда работает, и читать его одно удовольствие, но который строчки лишней не напишет без особо острой нужды, а потому срезает очень много углов и, если можно не делать какую-то фичу, то и не делает.
- просто лентяй, который нифига не делает, а на прямой вопрос об успехах всегда выдает "Я уже почти закончил детальный дизайн"
- человек, который на самом деле уже почти закончил детальный дизайн
- человек, который ни строчки самостоятельно написать не может, зато читает все форумы и знает все имеющиеся продукты, а потому точно знает, какие две-три огромных пакета надо скачать из Интернета и слепить вместе, чтобы все заработало
- то же, но скачиваются не пакеты, а куски кода из Stack Overflow
- человек, который и на работу-то сюда устроился не за деньги, а чтобы написать строчку в резюме "Имею опыт работы с [тут следует название платформы]". Такие люди норовят в любой проект пропихнуть наиболее модную современную платформу, в чем похожи на Гур, хотя Гурами не являются (пока). Смываются после года-двух работы.
- человек, ничего не понимающий в производительности, который, например, чтобы найти минимальный элемент массива, отсортировывает его и берет первый элемент. Главное, чтобы программа работала, а быстро или медленно, неважно
- человек, который только о производительности и думает, в результате у него программа не работает, но делает это очень быстро
- новичок, ничего не знающий об алгоритмах и требующий постоянной опеки, но усердный
- формалист, который требует безоговорочного соблюдения процессов, например, требует юнит-теста для функции, которая складывает 2 и 2
- человек, котоырй плевать хотел на все вообще тесты и клал на все процессы
- дедок, который помнит еще, как редактировал (разрезаи и склеивал) пятидорожечную перфоленту на специальном станке, поэтому на все происходящее смотрит скептически, и говорит, что вот в его время все было по-настоящему
- ну и парочка обычных, ничем не выдающихся, незаметных парней (девушки тоже бывают), без каких-то идей или закидонов, которые все и пишут.
Так что не только на менеджера надо все валить.
Сроки реализации проекта
КРАТКО, Для того, чтобы сказать, что история [1] хорошая или плохая, там внизу на Анекдотах есть "+" и "-" [это я критикам, в т.ч. Арсению]. Лично я нажал на плюс, но вот что меня поразило, так это то, что Разработчик изначально ориентировался на год, согласился на полгода и несмотря на мощнейшее сопротивление Системы Менеджмента пусть и с недоделками уложился в этот срок. По моему опыту если на программирование чего-либо Программисту хочется попросить некий период, то нужно сразу умножать эту цифру на 2, а лучше на 3. Тогда пусть и с недоделками можно рассчитывать предоставить хоть что-то, пусть и не прошедшее никакого тестирования кроме самого поверхностного в этот 3*х срок.
ПОЛНО. http://tula-it.ru/node/1215 или http://tula-it.ru/comment/4972#comment-4972
ystervark➦vas_vic• 23.12.18 20:04
Да тут как раз просто. Во-первых, программист-то хотел сделать, как надо. Рарзаботать внутреннюю архитектуру системы, предусмотреть всякие средства контроля и регулировки, максимально облегчить развертывание и сопровождение, сделать полную систему тестов всех уровней. Теперь половину из этого похерили, типа по началу и так сойдет. Почему и называется технический долг.
Во-вторых, по-видимому втихаря сократили набор фич. Например, по-настоящему делать резервирование (переключение с упавшего сервера на рабочий) это очень серьезная задача, требует много усилий на разработку и отладку. А если поначалу обойтись без, то никто, может, и не заметит.
В-третьих, можно смухлевать с производительностью. Типа, у клиента будет миллион запросов в секунду, но не сейчас, а через год. А пока что сто тысяч. Ну так мы сто тысяч как-нибудь на коленке сделаем, а за год сделаем как надо. В реальности почему-то получается так, то как надо не делают, а приделывают новые заплатки на ту версию, что на коленке.
korovino2004 ★• 23.12.18 17:07
История, знакомая до собственных слез. Но повторяется, увы, еще с тех пор, как первый человек придумал колесо, а может еще раньше, когда Уы-Ах-Р решил, что жареная мамонтятина гораздо вскуснее сырой.
Среди программистской братии ее очень красочно описал еще Ф.Брукс (автор OS/360 для IBM) в своей замечательной книжке "Мифический человеко-месяц..."
А чего ополчились? Вполне правда написана.
Если за что автора и ругать, так это за элементы приукрашивания и лакировки.
Все правильно. А кто и зачем придумал SCRUM, сами поищите.
Но все таки надо сокращать ботву. Такой текст длинный...
ystervark➦Clopodav• 23.12.18 17:45
Ну официальная-то история этого "движения" известна. А неофициальная, по-моему, такова. Все это - специфически буржуйская благотворительность, имеющая целью трудоустроить бездарность.
Есть люди, которые учились на программистов, но так и не выучились, т.е. диплом имеют, а код писать не могут. Такие есть на любых специальностях, но на других о них заботятся другими средствами. В России с ними проблем нет - если женщина, выйдет замуж, а если мужчина - пойдет планктоном в любую контору "купи-продай", где директор учит пользоваться унитазом. Ну или пойдет таксовать в Яндекс. В общем, вариантов много.
А вот у буржуев хуже. Там женщины, помимо выхода замуж, хотят трудоустроиться, и шли традиционно в интерьерные дизайнеры, агенты по недвижимости или после небольших курсов открывали салоны красоты. Мужчины же были вынуждены претендовать на роль девелопмент-менеджеров в программистских конторах, где совершенно не тянули, поскольку там приодилось принимать какие-то решения и за что-то отвечать. Тогда они шли в финансовые консультанты, агенты по продаже солнечных батарей, а годам к пятидесяти становились мелкими строительными подрядчиками. Но все эти вакансии, и мужские, и женские, заполнены, и устроиться становится все труднее.
И вот оно - решение. Скрам-мастер. Ничего уметь не надо, отвечать ни за что не надо, можно вести одновременно несколько команд. Мечта. Правда, и карьеры нет, ну так на то она и благотворительность. Хотя один шаг в карьере есть: можно открыть курсы и учить новых скрам-мастеров.
bellov ★➦ystervark• 23.12.18 18:17
О,в точку! Как ни встретишь доебистого руководителя проектов или херового системного аналитика, при ближайшем сканировании всегда всплывает прошлое неудачного программера.
Чатланин➦Соломон Маркович• 23.12.18 19:44
В истории я каждое слово в отдельности понял. А вот нить повествования не вяжется (((
Это о чем вообще было?!
Братан, скоро в тебя полетят заряды вещества из телеги, упомянутого в части пятой (дальше ниасилил, извини), поэтому спешу тебе сказать: дело не в тебе. Ты-то писатель, ты так видишь. Виноват редактор, ведь в конце концов это его задача - чтобы текстовые версии вещества из телеги, упомянутого в части пятой, не достигали нежных читательских глазок. Это редактор опубликовал сие говно, подставив тебя под удары обиженных читателей.
Что касается текста, то тут ещё проще: это фиаско, братан. Не пиши больше о программистах, Agile, Scrum-е, а лучше - вообще не пиши. Попробуй поиграть в футбол. Попей пива. Попробуй освоить природную магию уральских шаманов. Хуже точно не будет.
Alexander_A ★➦Арсений• 23.12.18 12:45
Напротив!
Следует как можно чаще высмеивать бесполезные, а иногда и - вредные, "изобретения" маркетологии, как то: эджайл, облако и т.д.
Арсений ★➦Alexander_A• 23.12.18 12:47
Во-первых, высмеивать может и стоит, но вот хохмы я тут не вижу, а вижу жутко длинный скучный высер. Хочешь узнать, как можно шутить о топчущих батоны смешно - почитай эхи фидошки прошлого века. Во-вторых, если у кого-то что-то не работает - это может означать, что "что-то" вредно и бесполезно, но может - и то, что у кого-то кривые руки.
Alexander_A ★➦Арсений• 23.12.18 14:04
Ну да, в прошлом веке и трава была зеленее.
A Фидошкины эхи прошлого века мне читать не надо.
Я их писАл.
А история не про "топчущих батоны", а про идеологов всякой новомодной херни и ведущихся на неё руководителей.
Типа "А поддерживают ли наш факсы мультимедиа?"
А вот методология должна быть написана так, чтобы её процесс работал при чётком соблюдении требований и приводил к запланированному результату.
Если же требуются какие-то особенные руки, умение танцевать с бубном и прочее, то это профанация и попытка продать воздух.
Арсений ★➦Alexander_A• 23.12.18 14:36
Дык ты уж определись - ты за "прошлый век" или "новомодную херню" :)
Alexander_A ★➦Арсений• 23.12.18 16:08
В отличие от тебя, я за всё хорошее против всего плохого - вне зависимости от срока изготовления.
И я категорически против таких, как ты, критивняшек, которые вместо прибыли приносят красивые презентации.
vas_vic ★★➦Арсений• 23.12.18 19:22
СуперКРАТКО, Для того, чтобы сказать, что история [1] хорошая или плохая, там внизу на Анекдотах есть "+" и "-"
Арсений ★➦Alexander_A• 23.12.18 22:48
Кошмар, у меня аж сердце ёкнуло и в желудке что-то сжалось, когда я узнал, что ты против меня. А кто такие критивняшки?
Арсений ★➦Alexander_A• 23.12.18 22:58
"которые вместо прибыли приносят красивые презентации" - кстати, там в соседней истории было про одного героя, который в первый месяц принес 110% прибыли. Через полгода развалилось всё, правда - но поначалу-то как шло, а!
Ну... читается легко.
И цепочка Гуру-Г-Говно красивая.
Но боюсь, что текст будет очень скучен человеку "со сторону".
А разработчику передайте... Метастазы эджайла распространились уже и в такую консервативную отрасль, как банковское дело с его регуляцией и кучей разрешений.
ystervark➦Alexander_A• 23.12.18 15:22
Так что значит "распространились"? В России Сбербанк один из основных продвигателей этого дела.