Байки для оруженосца

Сергей Мартыненко, 2022

Это производственный роман о разработке программного обеспечения. Во многом вдохновение я черпал из цикла «Бета-тестеры», много лет печатавшийся в журнале «Лучшие компьютерные игры».Главы относительно слабо связаны и, в принципе, читать можно с любой.В книге довольно много отсылок к «Глубинным знаниям» по Демингу. Психология, теория вариаций, методы познания мира.Главы достаточно обильно разбавлены юмором. Но это же байки. Если вам не нравится такой стиль изложения, просто не читайте.Примеров кода практически нет. Я не хотел повторять другие книги.Целевая аудитория – IT-шники. Остальным вряд ли интересно.В книге отсутствуют сцены насилия, курения, секса, употребления алкоголя.

Оглавление

Байка для оруженосца 7. Два вида списков задач

С самого начала рабочего дня Армигер скучал в чаепительной. За окном цвели яблони, а ему было нечего делать, и он составлял кроссворд на основании терминологии ISTQB. Кроме оруженосца в кухне был Чеширский, но он изучал какие-то документы. Но вот кухню омыла волна программистов во главе с Шляпником и Мартовским Зайцем.

— Хай.

— Привет.

— Доброе!

— Кому доброе, а кому и… — проворчал Оруженосец.

— Ничего. Придет время, и под твоей клавой навернется релиз-кандидат.

К чайникам выстроилась очередь. Программисты бурно обсуждали проблемы мержа.

В кухню вошел Черепах Квази. Шум стих.

— Представляете, захожу я сейчас в 42-ю, а там никого нет. Только Соня книгу читает, — сказал Квази, ни к кому конкретно не обращаясь.

— И что? — возмутился Шляпник. — Рекса Блэка надо читать.

— И больше там никого нет. Это все потому, что у вас таймшитов нет.

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

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

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

На тушение пожара выдернули команду Королевы. В майские праздники. Вроде бы откат сделать не проблема. Но не проблема, только если инженеры соблюдают культуру разработки. Как говорится, тяжело править код за программистами, путающими бранч и транк. Да и релиз в пятницу вечером перед большими праздниками нарушал все мыслимые нормы безопасности. За два безумных дня команда Королевы много говорила о своих коллегах. Как подытожила Соня: «Если бы стены могли проявлять впитанные слова, то в первый же день они бы стали похожи на подъезд в Нижнем Тагиле, а на второй почернели бы полностью.»

— Но в чем-то он прав, — сказал Оруженосец. — Я с утра не слишком загружен.

Заяц и Шляпник переглянулись.

— Я сделаю сенчу. — Шляпник отправился к шкафам, а Заяц подсел за стол оруженосца.

— Сейчас я тебе объясню одну из ключевых концепций современной теории управления. Для начала разберем совершенно тривиальную производственную цепочку из одного рабочего центра. Проще уже некуда.

— Разработчики работают по списку задач. И этот список может быть одного из двух типов. С недостатком задач или с избытком. Для первой линии техподдержки, админов и т.д. предпочтительным является список с недостачей. Для программистов, как правило, предпочтительным является список с избытком, но иногда применяют и список с недостачей. Например, если программист дежурит на техподдержке. Применение списка с недостачей означает, что разработчики обязаны часть времени простаивать. Обязаны! Если не простаивают — надо вызывать на ковер менеджера. Список с избытком означает, что часть задач обязана быть не сделана. Если делаются все задачи, опять же, нужно разбираться в проблемах управления. Представь, что мощность отдела программистов 100 единиц продукции в неделю. Для списка с недостачей рекомендуется, чтобы входящий поток заказов был в 70-80 единиц. Т.е. разработчики должны простаивать порядка 25% времени. Если используется список с избытком, то входящий поток должен быть отрегулирован на 130 — 200 единиц. Примерно вот так:

Светлые зоны — это хорошо настроенный поток. А темная — плохо.

— А если все-таки сделать сбалансированный поток?

— Если его попробовать сделать, то будет как у Квази. К счастью, сбалансированные цепочки встречаются редко.

— Сложно настроить?

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

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

— У нас список с избытком. Ты ведь знаешь, что часть задач закрывается триггером по истечении срока давности.

— Да, согласен. Но почему мы с Соней сегодня простаиваем?

— Потому что в производственной цепочке должно быть не более одного рабочего центра с избыточным списком задач. Этот рабочий центр называют ограничением системы. В нашей команде ограничением системы является группа программирования. И это правильно. Все остальные рабочие центры, такие как: менеджмент, тестирование, продажи, анализ — обязаны простаивать. Обязаны! Данный факт не согласуется с нашим представлением о мире и приводит к психологическому дискомфорту. Любой хороший список задач, что с недостачей, что с избытком, приводит к психологическому дискомфорту.

— Ага, — Шляпник поставил чайник с сенчей на стол, — среднестатистический менеджер приходит в истерику, услышав о современных методах управления. У него пропадает аппетит, начинается изжога, и в общении он становится крайне неприятен.

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

— Ладно, камрады, по коням. К вечеру сделаем финальный мердж и отдадим билд на тестирование. А ты пока кроссворд закончи.

— А с таймшитами то что?

— А про них в следующий раз.

— А матмодель?

— А матмодель сбалансированной цепочки посмотри в блоге Макса Крамаренко.

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я