Спасибо Gavr-у, приславшему этот текст. Автор пока не установлен.
Труд программиста, в сущности, очень напоминает работу повара-авантюриста с непредсказуемыми последствиями.
Как правило, программист получает задание в виде: «Приготовь фрикандо в вишневом соусе с острым перцем и чтобы было вкуснее чем у других».
Причем этот программист обычно готовил, к примеру, тушеную баранину с овощами и куриный бульон с гренками и первый раз слышит слово «фрикандо». Кроме того, нет никакого рецепта и никто вокруг не знает, как его делать. Что-ж, приходится изобретать рецепт самому чтобы написать это самое фрикандо в вишневом соусе с острым перцем.
Вначале нужно произвести бизнес-анализ, чтобы понять что такое фрикандо и кто и зачем, собственно, будет его жрать. Затем определяются входные данные (ингридиенты). Причем нужных ингридиентов часто нигде не найти и приходится выращивать их на своем компьютере (огороде, балконе).
Потом наступает пора написания прототипов. На кухне жарко и стоит дым коромыслом. Наш авантюрный повар-программист колдует над компьютером-плитой, бормоча себе под нос загадочные фразы типа «функцайка кривовата», «кто писал эту либу», «козлы», «за яйца на заборе»... Вкусно пахнет данными. Одни данные мелко нарезаются и тушатся на сковородке, другие пропускаются через мясорубку, третьи данные тихонько варятся в кастрюле. Затем все это смешивается в разных пропорциях. Четвертые данные натираются на терке и посыпаются сверху. Все это пробуется на вкус.
Когда программист видит, что становится более-менее вкусно, он зовет дегустатора-авантюриста (тестировщика). Это очень важный момент: если стряпня не понравится тестировщику, придется все выбрасывать и начинать снова. Наконец, прототипы готовы. Программисту уже настолько нравится его работа, что он потихоньку съедает свои прототипы, щелкая языком от удовольствия. Причем едва-едва не съедается самый нужный прототип. По нему разрабатывается архитектура и модули нашего блюда. Одновременно в поте лица трудится дегустатор-авантюрист (тестировщик). Ни в коем случае нельзя ударить в грязь лицом.
Вот уже близко alfa-release. Появляется официант-авантюрист (менеджер), который должен подавать программу клиенту. От него зависит получение премии, поэтому он придирчиво пробует программу. Беда, если программа ему не понравится. Можно схлопотать как минимум лишение премии. Или даже понижение в должности. Или даже...страшно сказать, поэтому промолчим... Вдруг, в самый ответственный момент, как чертики, выскакивают мелкие баги. Это в соусе оказались мелкие косточки от мяса. Правда, это не очень серьезно, поэтому официант всех успокаивает и говорит, что берет все на себя.
Наконец, наступает день официального releas-a. Звучит приятная музыка, официанты-авантюристы бесшумно скользят по залу. Клиенты торжественно восседают за столиками и вкушают программу. Они уже порядочно приняли алкоголя, поэтому не замечают мелких багов в вишневом соусе.
Тихо шелестят чаевые. Все безумно довольны.