bash.im ithappens.me zadolba.li
12601

Дорог костыль ко Христову дню

5 сентября 2014, 07:12

Вижу, менеджеры всех достали… Давайте я вам расскажу одну запомнившуюся мне историю, которую программисты мне припоминали потом ещё о-о-очеень долго.

Итак, небольшая компания, пилящая софт для химиков. На дворе 2006-й, конкурентов у нас не так много: конкретно нашу задачу не решает ни HYSYS, ни CHEMCAD. До релиза две недели, график-план на следующий релиз составлен, и я решаю проверить обновившуюся продукцию одного из двух конкурентов. Сразу обращает на себя внимание иконка в трее, вытаскивающая приложение на передний план, причём с сохранением иерархии окон. «Гм…» — думаю я, оформляю рабочую поездку и направляюсь к одному нашему клиенту.

Первое, что бросается в глаза — огромное количество открытых окон, полностью забитая панель быстрого запуска. Приложений открыто так много, что надо именно скроллить вниз, чтобы их все пролистать. Аккуратный расспрос химика подтверждает: все эти приложения ему нужны, он с ними работает. По большей части это просто документы с описаниями, но есть и разные таблицы, графики. Задаю вопрос насчёт иконки в трее и привожу химика в бешеный восторг. Аккуратный просмотр открытых приложений попутно с расспросом химика подтверждает: почти все эти окна исчезнут с его экрана… через два релиза. То есть через год. За этот год нас просто порвут на кусочки своей иконкой в трее.

Ещё два дня ездил по нашим клиентам и везде убеждался: иконка — это простой костыль, который станет ненужным через два, максимум три релиза. Но вот конкретно сейчас она нам просто необходима, иначе мы потеряем до половины клиентов (мы работали по подписке, так что клиент мог в любой момент разорвать договор).

В четверг (а релиз запланирован на следующую пятницу) я прихожу к директору, открываю перед ним ноутбук, показываю конкурента и рассказываю, как нас порвут без этой долбаной иконки. Директор кусает губы, просит составить ТЗ, а сам он пока подумает.

В общем, в пятницу, не дождавшись реакции директора, но понимая, что он, скорее всего, одобрит, я бегу к главному программисту с бумажкой ТЗ, объясняя, что это надо сделать до релиза. Программист начинает бухтеть, что это всё очень сложно, долго, и за неделю никак не успеть. Я прозрачно намекаю на то, что директор по-любому спустит это ТЗ, вопрос в том, когда: в понедельник или во вторник. Тимлид вздыхает и принимает бумажку.

На общей планёрке в понедельник директор достаёт ТЗ и начинает разливаться соловьём, как нам нужна эта иконка, без неё нам не жить, и я понимаю, что директор успел уже сам покататься по химикам и побеседовать с ними. Тут поднимается главный программист и начинает объяснять, что программистам никак не успеть.

— Не успеете — срежем премию, — говорит директор.

— А успеете — выплатим в полуторном размере, — добавляю я и получаю недовольный взгляд директора. Но всё же он кивает.

Засада в том, что это был 2006-й, и не у всех клиентов был высокоскоростной интернет. И для того, чтобы курьеры успели развести релиз, сборка должна проводиться в четверг. Об этом нюансе я узнал вот прямо на планёрке.

Программисты уложились в срок. Правда, тестировать пришлось ручками, а не тестами, но всё же. В итоге баги той недели исправляли ещё месяц, если не два, выпуская и рассылая багфиксы. Однако клиенты не отвалились, все остались довольны, с прогерами я ещё не раз пил пиво.

Почему запомнили именно этот косяк? Потому что это был мой первый косяк в этой фирме. И именно косяк: задумайся я на три месяца раньше, при составлении плана на следующий релиз, иконка была бы в следующем релизе… И я бы успешно профукал её появление у наших конкурентов.

А иконка так и осталась, хотя теперь ей уже почти не пользуются.