Литмир - Электронная Библиотека
A
A

Армигер чуть не подавился чаем и, кажется, с трудом сдержал порыв прикрыть листочки рукой:

– Да откопал тут в недрах интернета таблицу сочетаемости проектных ролей. Изучаю.

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

– У нас есть печеньки, – пропели в унисон Шляпник и Заяц и зловеще захохотали. Потом так же хором добавили: – сейчас мы эти таблицы анализировать будем.

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

– И что, роль программиста везде не может сочетаться с остальными?

– Не везде. Как минимум с проектированием архитектуры сочетаться может. Хотя бы в одной из моделей, – присоединилась к беседе Соня. Из Сониного угла не было видно полдюжины листков, разложенных Оруженосцем на столе. Но благодаря дурному влиянию коллектива, Соня давно научилась думать на несколько ходов вперед и выдвигать высоковероятные гипотезы.

– Замечательно, – повернулся от окна Кот – Следующий ход?

– Поискать общее, – внесла предложение Соня.

За столом зашелестели бумажками.

– Че вы там шуршите. Я вам и так скажу. Во всех вариантах не рекомендуется сочетание ролей тестировщика и программиста, – прервала их, вставая, Соня.

Быстро проглядев листки, троица подтвердила вывод Сони.

– Иии? – просил с нажимом Заяц, и команда синхронно повернулась и выжидательно уставились на Оруженосца. Только Королева не стала отвлекаться от медитации над своим пауэром.

Но оруженосец уже довольно долго посещал тренировки на мышление в условиях стресса и не сплоховал:

– Модель MSF предлагает создавать минимальные коллективы не менее чем из трех человек. Не анализируя глубоко остальные модели, мы на основании несочетаемости ролей тестировщика и программиста можем выдвинуть гипотезу о том, что минимальный коллектив для создания относительно сложного ПО во всех моделях должен состоять минимум из двух сотрудников. Но это противоречит тем фактам, что: а) множество сложных больших продуктов создавались людьми в одиночку, б) в команде XP тестировщиков нет, что не мешает им быть успешными.

– Неплохо, – резюмировал Шляпник.

– Растешь, – хлопнул по плечу Заяц.

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

– Но, вообще говоря, этого недостаточно, – начал анализ Чеширский. – Можно возразить, что XP-шники используют свою модель для уменьшения потерь на вариациях. Или что в проектах на полсотни инженеров разделение будет выгодно. Или, что если уже есть разделение на программистов и тестировщиков, то выгоднее запретить изменять роль в рамках проекта, чем не запретить. Для проверки последней гипотезы было бы очень удобно взять несколько параллельных вселенных с одинаковыми командами и одним разрешить, другим запретить. С параллельными вселенными у нас сегодня не получится, поэтому попробуем придумать эксперимент попроще. У нас есть тестировщик Соня. Она регулярно пишет сложные SQL-скрипты. Часто у нее уходит на это полчаса, хотя камрады справились бы с этим за пару минут. А недавно она написала модуль импорта отчетов в Excel. Вполне нормально написала. А еще у нас есть программисты. Которые регулярно пишут тестовые наборы и тестируют по ним. Вы зачем это делаете?

Заяц с Шляпником пожали плечами. Для них вопрос не имел смысла, так как ответ был очевиден.

– Так можно сделать проект быстрее, – ответил Заяц и обратился к Соне: – Ты ведь модуль тоже писала, потому что так быстрее?

– Ну да, – ответила Соня.

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

Участники безумного чаепития согласно кивнули.

– А теперь! – и жестом фокусника Кот достал из шляпы лист бумаги и протянул компании.

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

– Что это?

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

Коллеги кивнули.

– Вы можете увидеть, что серая грань находится спереди?

Еще кивки.

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

– Полагаю, это не единственное ограничение, которое вам встретится в разработке ПО. Очень вероятно, что стоит явно разделять написание плана в терминах результатов, английское planning, и написание другого документа в терминах действий, английское scheduling. Попытка думать одновременно в двух контекстах, как правило, приводит к появлению забавных…

– Уродцев, – закончила Королева. – И хватит на сегодня. У нас еще релиз не выпущен.

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

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

– Хай.

– Привет.

– Доброе!

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

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

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

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

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

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

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

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

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

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

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

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

5
{"b":"807224","o":1}