Протокол Разработки Un-Fuckup (Udp)

Недавно, после очередного Тимбилдинга, я получил письмо-притчу от товарища-графомана о большой кнопке «сделай все хорошо».

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

Если кому интересно, пожалуйста, приглашаю под кат. С его разрешения, дословно:

Во время этой сиесты на веранде практически никто не курил, потому что все ушли на очередную двухдневку.

СКРАМ -обучение.

Джонни устало оглядел присутствующих: Дёму и Варю.

Они тоже были недовольны происходящим, было слишком жарко и душно, лето в Долине было в самом разгаре, и казалось, что на улице даже жарче, чем в Task Tracker.

Дела шли не очень хорошо, все трое это знали.

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

Настоящая работа, которая должна была быть сделана еще вчера, сегодня перенесена в тот невидимый момент в будущем, когда остальные «борцы» вернутся с фронта борьбы за ликвидацию неграмотности.

— Ребята, а хотите, я расскажу вам сказку о рае программиста? - спросил Джонни, стряхивая пепел после очередной затяжки.

Варя и Дема грустно кивнули, но попытались улыбнуться.

Тогда Джонни достал из кармана трубку и, объяснив, что это будет Long Run Story, начал неторопливо нырять в клубы Balkan Delight (разновидность табака).

Конечно, ни одна хорошая сказка не обходится без предыстории.

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

И, конечно, Джонни, как любой хороший рассказчик, не мог начать рассказ без вступительного слова.

Инициализация BIOS предоставила слушателям информацию об оборудовании:

Ну и прочая IO и периферия, типа «сторонних» тестировщиков, верстальщиков и дизайнеров, с чем все согласились.

Все также сошлись во мнении, что дисплей — это SCRUM-плата, а операционная система — Linux, то есть движение Открытый источник конкретно и прорывных инноваций в сфере ИТ в частности.

Управление, естественно, было отнесено к прикладному программному обеспечению — Task Tracker и Крон .

«электричество по понятным причинам было заменено понятием Денежный поток от Заказчиков и Клиентов.

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

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

ИБП, в виде самых эпатажных корпоративов и прочих существенных поблажек в графике присутствия, тоже, конечно, выступил как неотъемлемое и очень нужное устройство.

Пропустив остальные неважные части описания, Джонни подытожил: — Итак, у нас есть 50+ человек, которые уже пару лет дышат той или иной методологией разработки, но при этом у нас до сих пор регулярно происходит какой-нибудь FuckUp! Начинали мы с самоорганизованного хаоса, тогда нас было 10 человек.

Потом нам стало и 20, и 30, и 40, и у нас было « Модель водопада (развития событий).

И когда вдруг все получилось не так, как мы привыкли, мы начали делать SCRUM. И вроде бы у нас все хорошо, стабильная зарплата, отличное руководство, довольные пользователи регулярно платят немалые деньги, но все равно видят проблемы? - подытожил Джонни.

Проблем действительно было много.

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

Все знали, что каждый из разработчиков регулярно получает не только бонусы, но и «бонус» за f-caps. Что тестировщики «не тестируют», а инженеры не тестируют. Верстальщикам либо не хватало «еды», так как дизайнеры были перегружены микроменеджментом, либо они были настолько перегружены, что разработчики были вынуждены их ждать.

О поддержке – этих отважных ребятах – могучих викингах во главе с самим Тором можно было бы радостно писать только панегирики и некрологи.

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

Пожалуй, не будем продолжать, вы сами все обо всем этом знаете, везде так, не только в ИТ.

— Все понимают, что вне зависимости от методологии процесса разработки наши задачи не исчезнут? Останутся ли неизменными их количество и качество? Все также поняли, что ни Scrum, ни Waterfall, да и ничто в этой вселенной не может отменить здравый смысл.

А если на производстве возник пожар – его необходимо потушить.

Что если вы что-то пропустили и вам это срочно нужно, то будет обрыв и потеря контекста, это естественно.

Что вы не сможете отказаться от необоснованного общения с руководством, и никакой SCRUM не спасет вас от внезапно возникшей «чудо-идеи».

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

И что ни Скрам, ни Канбан, ничто вас не спасет от всего этого бардака, так как система не закрывается, она дышит, это живой организм.

- Таким образом, мы все хотим расти, развиваться, написать код , но чтобы все это и дальше было так же интересно, как сейчас, нужен ли нам какой-то новый «рай»? Все кивнули.

Джонни снова закурил давно потухшую трубку.

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

- Все помнят разницу между TCP И UDP ? — Джонни объяснил, что это метафорично в контексте сказки, и все согласились, что UDP лучше подходит для стриминга, но не гарантирует доставку.

Тогда всем стало ясно, что руководство хочет, чтобы мы объединили и UDP, и TCP, то есть гарантировали высокую скорость доставки новых функций.

— У нас есть команда разработчиков, которая, как это бывает, делится на команды.

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

Над нами стоят генеральный директор и технический директор.

Есть у нас и все остальные непонятные люди, которые постоянно прерывают процесс и вносят свои коррективы.

И вот, кажется, что все разработчики вроде бы постоянно заняты разработкой, но кто-то постоянно простаивает или перегружен и/или одновременно занят решением каких-то перерывов: со стороны руководства, со стороны поддержки, из-за технического долга.

То есть мы постоянно имеем дело с каким-то FuckUp, который происходит потому, что все просто так произошло.

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

Кто на митинг пошел, кто на чай, так вот плов все равно не приготовят до необходимого качества.

- Ну и что ты предлагаешь? — самый неопытный и нетерпеливый Василий наконец озвучил вопрос, давно звучавший в знойном воздухе.

— Я предлагаю объединить команды по-другому.

Команду не может возглавлять руководитель группы.

То есть все будет так же, как и раньше, только руководить командой будет не Senior Developer, а кто-то более-менее компетентный из Middle или даже перспективного Jun’а.

Как это? И вот: мы перестраиваем процесс управления по другим направлениям.

Смотрите сами, продуктивность любого старшего намного выше продуктивности среднего или младшего.

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

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

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

Например, у нас есть Пул высококвалифицированных и наиболее компетентных специалистов, назовем его Senior Developers. Затем у нас есть менее компетентные люди, которые действительно хотят «вырасти» и стать более компетентными.

Но им постоянно не хватает ни времени «старших» братьев, ни уважения руководства, ни тем более понимания процессов.

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

Но он не должен просто руководить разработкой.

Он должен развиваться, принимать решения и нести ответственность за их реализацию.

Но управлять процессом должен Миддл или опытный Джун просто потому, что они умеют:

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

И тогда через год у нас будет не 8 Сеньоров, а как минимум вдвое больше.

Мы не меняли свою точку зрения вот уже два года.

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

Помнить! У всех мидлов загораются глаза, когда они приходят к нам, а потом немного привыкают, и все утекает в это болото.

Уставшие пожилые люди ставят задачи, которые никто из них не понимает, и в результате процесс еле ползет. — Представь, Дема, что ты мог бы работать, именно работать, писать код, а не просто сидеть в скайпе, отрываясь каждый час, не по 20+, а по 30-40+ часов в неделю? Вы уже работаете более 60 часов только потому, что кто-то постоянно сводит вас с ума.

Но работа того стоит, но сделать ее нужно сегодня, код не ждет, вы несете ответственность! Конечно, Дема не мог не согласиться; уже две недели он видел только спящих свою жену и дочь.

Ему очень хотелось как-то все-таки вернуться домой вовремя, сентиментальность.

- Представь, Вася, что ты был у Дёмы начальником, а не наоборот? Если бы у тебя все шло не так, может, Анита из аккаунтов тебя наконец заметила бы? А потом, глядишь, ты бы увидел из-за него код Дёмы и понял бы, что никакой особой старшей «магии» в нем нет. Конечно, у Васи загорелись глаза.

Он не мог себе этого представить даже в самых смелых мечтах, возглавляя отдел! Он уже точно знал, как все устроить, если бы у него были такие подчиненные, как Дема, он бы уже давно во всем разобрался.

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

В основном она работала с Аристархом, который тоже был хипстером: «командиром» Front-End команды.

У него была очень впечатляющая личность, и его код был превосходным.

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

Обзор кода .

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

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

Конечно, вся его команда молилась за него, но Варя пострадала.

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

Конечно, в ту ночь никто из них не мог уснуть, несмотря на усталость.

Утром они встретились на веранде и определили желаемую новую субординацию и составы команд. К вечеру был готов «меморандум», который тайно расклеили на SCRUM-доске.

В меморандуме содержалось только следующее:

Протокол разработки Un-FuckUp (UDP)

  • Руководитель группы !== Менеджер группы
  • Менеджер группы == Средний разработчик
  • Старший разработчик == Лидер кода (БОГ кода)
И QR-код «на скорую руку» подготовленного документа, излагающего основные принципы вчерашней пиар-кампании идей Джона.

*** Тебе нравится моя история, чувак? Конечно, у них было все: показатели успеваемости, оценки и УМНЫЙ и все остальные важные, самые важные вещи, которые мы все так любим.

Но мы ведь понимаем, чего хотим, не так ли? Искренне Ваш Джон… Теги: #Читальный зал #управление людьми #Управление проектами #управление проектами и командой #тайм-менеджмент #управление проектами #управление задачами #управление рисками #управление рисками #разработка #разработка программного обеспечения #разработчики #Управление разработкой #Управление проектами #Управление продуктом #Управление персоналом

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.