Вагиф Абилов (object) wrote,
Вагиф Абилов
object

Рабочее

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

Это оказалось неожиданно сложным. Если бы я сидел там всю неделю, то не было бы проблем. Но приходя пару раз на 5-6 часов, нужно хорошенько отбирать задачи, которые удастся довести до ума за время спринта (а он у них две недели). Но самым нелегким оказалось взаимодействие с новыми разработчиками, которых я лично знал и в которых был (да и по-прежнему) уверен.

Два новых разработчика кипят энергией и готовы браться за все. Причем действительно знают технические тонкости того, с чем работают. Из-за этого я даже поначалу стушевался из-за своей роли: ну зачем я там как приходящий советчик, если такие ребята за дело взялись? Меня с моей рефлексией вообще легко смутить. Первое подозрение в том, что за ребятами нужен глаз у меня возникло вчера, во время презентации одним из них новоиспеченого диспетчера задач. Объясняя, как подготовить компоненту для диспетчера, он показал целый список того, что в задачу нужно включить - вплоть до доступа к SQL серверу. Меня это удивило: есть инфраструктура (к которой относится этот диспетчер задач), есть бизнес-логика (к которой относится сама задача). Чем меньше они друг от друга требуют, тем лучше. И уж во всяком случае если моя задача - это, скажем, решение квадратного уравнения, требовать от нее доступа к базе данных, потому что какой-то там диспетчер хочет - это не дело. Он хочет, пусть он и сам в эту базу и лезет. Невидимо для окружающих.

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

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

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

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

В такие периоды я иногда жалею, что не фрилансер-одиночка. Но подобная ситуация не впервой. Лишь однажды не удалось обломать.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 15 comments