воскресенье, 1 мая 2011 г.

Футбол. Нет, разработка.

Смотрела сейчас матч Динамо - Шахтер. Во время одной из атак Шахтера 3 защитника стояли не шевелясь, Шовковский взял этот мяч, шикарный сейв, при этом высказал товарищам по команде свое "негодование". Я как-то очень поняла его в этот момент - я тоже иногда чувствую что-то подобное, когда нахожу какой-нибудь глупый баг.

Мне показалось, что есть что-то общее в футболе и разработке софта. Мы забиваем голы, когда выпускаем новый функционал. Мы пропускаем голы, когда баги попадают в продакшн. Мячи, которые берет вратарь - баги, найденные тестировщиками. Команда противников - это наша темная сторона, все, что делает нас неидеальными и, соответственно, живыми людьми плюс внешние факторы, ограничения и разные проблемы. Футбольная "защита" - это поставленный процесс, инфраструктура, полезные инженерные практики, автоматизация тестов... - все то, что помогает нам предупреждать дефекты и выявлять их как можно раньше.

Все мы хотим забить как можно голов, выпустить побольше и поскорее. Сделаем упор на разработку новых фич, наколбасим побольше, если что не так - тестировщики найдут, быстренько пофиксим. Если мы будем полагаться на то, что тестирования будет достаточно, чтобы найти все ошибки, а потом еще и винить тестировщиков в том, что они что-то пропустили - это все равно что стянуть все силы в нападение, отказаться от защитников, и надеяться, что вратарь возьмет все мячи. Тем не менее, ситуация достаточно популярная. Результат матча будет вроде 4:3. В чью пользу - как повезет.

Тогда вспоминаем, что это все-таки не футбол, три очка за такой счет нам не дадут, нам надо 4:0. Это сложнее.

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

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

Я вставила фото "Барселоны", чтобы всем немножко захотелось стать такой командой, и вы хоть что-нибудь для этого сделали ;)