Байка для оруженосца - 9. Чтобы больше сделать, нужно меньше делать.

Оруженосец шел в переговорку, как вдруг за дверью кухни услышал знакомые голоса
- А я тебе говорю, Load! - горячился Заяц.
- Сам знаю, что, Load! Но тут еще куча букв.

Армигер автоматически свернул в знакомую дверь. В конце концов, до совещания целых 20 минут, чашка отличного чая не повредит недавно назначенному руководителю проекта, и нужно понять, почему Заяц с Шляпником разгадывают его кроссворд в неурочное время. Сейчас самое начало рабочего дня, и до положенного времени чаепития еще очень далеко. А к Времени и Заяц, и Шляпник относились очень трепетно. Один раз они уже “пошутили”. И Оруженосец решительно толкнул дверь. На кухне собрались все программисты, и только программисты.

- А вот и автор, - Заяц подвинул стул. - Нагрузочное тестирование это Load?
- Load, - подтвердил Оруженосец, - но у меня-то вопрос про тестирование производительности. Совершенно другой зверь. У нас в России термин не прижился. Нагрузочное тестирование звучит круче.
- А я тебе говорил, - и Шляпник вписал термин.
- А чего это вы тут кроссворды разгадываете? - поинтересовался Оруженосец, наливая чай. - У вас же список задач с избытком. Вы, по идее, постоянно загружены.
- У нас кодефриз. В прошлый четверг объявили фичефриз, и мы подчищали хвосты. А сегодня с утра объявили кодефриз. Завтра вторник - релиз.
- Функционал сложный, и проект с очень высокими требованиями к бездефектности. Давненько у нас таких зашкаливающих требований не было. Ну и проект чужой, с высокой связностью кода, - пояснил Шляпник - Сам-то как на месте рулевого? Рулится?
Оруженосец вздохнул. Вот уже несколько недель он руководил небольшим проектом.
- Здесь было комфортнее, - честно признался он. - Скоро закончу и сюда попрошусь.

- Только одного не понимаю, - заговорил Додо, способный парень, попавший в команду относительно недавно, - кодефриз, кодефризом, но можно было другой проект поделать.
- Даже не думай. Ты загрузишь в оперативку своего мозга другой проект и, когда Королева отдаст приказ править найденные баги, либо потратишь колоссальное время на переключение, либо сделаешь наведенный дефект. Это стандартная техника увеличения производительности программистов. ЕМНИП (Если Мне Не Изменяет Память) называлась “нуль дефектов”. Программист не должен переключаться на другой проект или модуль, пока текущий не будет отлажен. Нет дефектов - сиди на стуле ровно, пока тестировщики полностью тестирование не проведут.
- Да, уж. - подключился Заяц, - техника была весьма популярна. Но в начале 2000-х о ней начали забывать. А потом таймшиты ее окончательно похоронили. “Чтобы сделать больше, иногда нужно делать меньше.”

- Потому что активация ресурса и его использование не одно и то же, - на кухне материализовался Чеширский Кот. - И напоминаю: Королева лично расстреляет из реактивного огнемета того, кто прикоснется к клавиатуре до ее отмашки. И да, она не шутит.
- И насколько эта техника эффективна?
- Черт его знает, мерить надо. Процентов 20-50 по ощущениям.
- Скорее, больше, - энциклопедическая память Кота хранила множество интереснейших фактов. - Вот, например, результат эксперимента. - И Кот распахнул свой ноутбук. - Правда, эксперимент “полицейские проекты” (http://www.toc-center.ru/politseiskie_proekty.html) ставился не в нашей области, но тоже в области интеллектуальной деятельности. Уменьшение переключений не только привело к простоям следователей, но и кардинально увеличило производительность. Заметим, что следователи были ограничением системы, это важно. Они стали делать меньше, но в итоге сделали больше. “Чтобы результаты были лучше, надо работать… меньше!” И еще момент, - Чеширский развернулся к Додо. - Как правильно заметил Шляпных дел мастер, нужно измерять. Управление проектами, как и хирургия, изготовление взрывчатки и множество других занимательных областей, это то, где не стоит доверять ощущениям. И “Здравым смыслом” тоже нужно пользоваться с осторожностью. Поэтому эксперимент, эксперимент и еще раз эксперимент.
- Я тебе так скажу, - доверительно произнес Заяц. - Я по молодости поэкспериментировал. Мне не понравилось. Поэтому сейчас мы экспериментируем только на учебных проектах. И на всякий случай я доступ к репозиторию отключил. Физически. Кабель в серверной выдернул. В пятницу, - Заяц сделал выжидательную паузу.

-Так вот почему я в субботу не достучался… - Додо заткнулся, но было поздно.
- Молись. Молись, чтобы Соня не узнала. Королева тебя просто публично линчует, а вот Соня… У-у-у…
Предостережение Зайца запоздало. Дверь открылась тихо. Соня умела держать себя в руках. Но вот текстолитовый меч… Соня начала обходить Додо. Коллеги посторонились и оставили его один на один с угрозой. Додо стремительно бледнел. Разъяренная тестировщица с запасом компенсировала разницу в весе в 30 кг. Плюс умение фехтовать.
- Королева баг нашла, - безразлично начала Соня, - поправить надо. Просила позвать автора кода и ревьювера. Функция - <скрыто из-за НДА>. Ну и чай принести. А я, перед тем как пойти, дай, думаю, в логи гляну. А там… А там какой-то…
- Соня, опусти его происхождение.

- Знаешь, - Соня глядела в глаза Армигера, - это еще до тебя было. Некий… не слишком хороший программист во время кодефриза в транк залил исправление пустяковой ошибки. Без разрешения Королевы. Я тогда на игру в Скандинавии не попала. Сотка евро - не вопрос, мне компенсировали. Но там была очень интересная игра… Знаешь, у меня дядя на корабле на Волге работал. Выращивал крысиных королей на продажу. Поеду к нему - куплю. Черт с ней, с премией. Заплачу. Потом засуну крысу в ведро, а ведро привяжу на живот этому, сегодняшнему деятелю. А может, у папы надфили возьму и начну стачивать ему зубы.

Армигера передернуло. На Додо было страшно смотреть.

- Пойдем, Соня. Королева ждет. Я не ревьювил этот код, но я его знаю. - И Шляпник, взяв еще пару программистов и чайник с чашками, вывел Соню за дверь.
- Она правда так сделает? - Зубы Додо стучали по чашке.
- Мы не знаем. Предпочитаем не пробовать узнавать - ответил Заяц.
- Но ходят легенды, - Чешикский Кот наполнил опустевшую чашку Додо, - что как-то Соня возвращалась с тренировки по фехтованию, и у нее попросили мобилу позвонить… Нокию 3310 она достала. А клинок не стала. Телефон она все равно собиралась менять. Но разве эту модель разобьешь? Разбилась не Нокия.
- Так что сиди, пей чай. И не вздумай даже глядеть в сторону клавиатуры. Кстати, всех касается.

- А почему Королева тестирует? Она же руководитель проектов?
- Потому что у нее корона не падает, - пояснил Заяц.


PS. Фичефриз и кодефриз. - Не уверен, но похоже эти техники “немного” забыты. Ссылки:
http://ain.ua/2015/04/07/574124

Фичефриз - запрет на коммит в транк (а иногда и на разработку в фичебранче) новых фич, дабы уменьшить риски от проблем с наведенными ошибками и  недотестированным кодом.

Кодефриз - еще более жесткий запрет. В транк заливаются только те исправления ошибок, которые одобрило лицо, наделенное властью.

Королева ответственность за все косяки релизов, естественно, брала на себя. За это ее уважал Время и отчаянно любила команда. Старожилы команды за нарушения фичефриза и кодефриза вполне могли порвать. Как Тузик грелку. Потому что, если Королева берет на себя ответственность, то она и имеет право командовать. И наоборот. Командует - ее ответственность. И никак одно без другого.

Оставьте комментарий

Вы должны войти, чтобы оставить свой комментарий.