Компания превращается в форпост по борьбе с последствиями
релиза версии 2.0:
• месье Кукушкин носится между столами программистов
и тестировщика, давая ценные указания и оперируя сло-
варным запасом, приобретенным на раннем (колымском)
этапе своей карьеры;
• программисты, которые не чинят баги версии 2.0, не мо-
гут сохранить файлы для версии 3.0 в CVS, так как в CVS
решением руководства можно сохранять только код с от-
ремонтированными багами для релиза 2.0;
• программисты, которые чинят баги, естественно, не мо-
гут работать над версией 3.0;
• тестировщик проверяет отремонтированный код для вер-
сии 2.0 вместо подготовки к тестированию версии 3.0;
• продюсеры отвечают на е-мейлы разгневанных пользова-
телей, которые, несмотря на биографии менее яркие, чем
биография Харитоныча, тем не менее с легкостью опери-
руют тем же словарным запасом.
Кстати, справедливости ради стоит отметить, что по идее к версии 1.0
вернуться можно, но это займет время и чревато ошибками, так как
основной объем работы будет делаться вручную. Понадобится:
• найти версии файлов в CVS на день первого релиза*,
• изменить и протестировать билд- и релиз-скрипты,
• запустить релиз-скрипты и проверить, насколько правильно они
сработали.
• Если в первом релизе у нас были десятки файлов, то с течением времени
их будут сотни!!!
В таком бедламе проходит двое безвылазных суток, и наконец
баги придушены, билд протестирован на тест-машине и срочно
организуется патч-релиз 2.01 на машину для пользователей.
После разбора полетов Митей, как одним из старожилов компа-
нии, вносится предложение о создании бранчей (branch — ветвь)
Цикл разработки ПО
115
в CVS. Предложение принимается единогласно (тем более что от-
вечать в случае провала будет инициатор), и Митя рассказывает,
в чем суть этого подхода.
РАССКАЗ МИТИ
'В общем так, други. Допустим, у нас есть ребенок и его фото-
графии нужно раз в месяц по е-мейлу посылать теще. Если при-
сылается фотография ребенка в недовольном состоянии, то теща
приезжает и устраивает дома такой шухер, как будто она по-
пользовалась нашей версией 2.0. Соответственно нужно сохранить
фотографию ребенка, когда он улыбается, и если новая фото-
графия теще не нравится, то нужно просто послать ей старую
фотографию с улыбкой и сказать, что ошибка вышла".
Харитоныч:
— Да вот я помню... (далее следует 30-минутный рассказ о его
тещах с постепенным переходом к обобщениям и, наконец, дек-
ларативному изложению отношения ко всему прекрасному полу).
Да-а-а, вот так-то. Что ты там говорил про версию 2.0?
ПРОДОЛЖЕНИЕ МИТИНОГО РАССКАЗА
«Да, вот. Как я и говорил о хорошем и улыбающемся билде. Вот
мини-история нашего проекта со стороны релиз-инженера:
В один прекрасный день мы начали работать над кодом ПО, и по
мере написания этого кода стали добавлять в CVS новые файлы
,и изменять файлы, уже существующие в ней. В определенный
момент мы сказали "Стоп" и назвали совокупность файлов в
CVS "версия 1.0". Затем мы продолжили работу над кодом и
снова стали добавлять в CVS новые файлы и изменять файлы,
существующие в ней. В определенный момент мы снова сказали
"Стоп" и назвали совокупность файлов в CVS "версия 2.0".