17% скидка на размещение рекламы на площадках devby — до 20 ноября. Клац!
Support us

$700 тысяч штрафа от банка-заказчика и косячный сайт для президента: топы Qulix, Bamboo Agile и других делятся страшными случаями из практики

7 комментариев
$700 тысяч штрафа от банка-заказчика и косячный сайт для президента: топы Qulix, Bamboo Agile и других делятся страшными случаями из практики

22 октября 7 директоров ИТ-компаний по 7 минут рассказывали истории своих досадных падений — проходил митап «Как вспомню, так вздрогну» проекта Firstner. dev.by выбрал три самые жуткие истории: Qulix чуть не влетел на штраф в 700 тысяч долларов от некоего банка, команда Виталия Никуленко пропустила баг в первом сайте для президента, а Bamboo Agile были вынуждены писать код на тетрадных листках за колючей проволокой.

«Звонок из службы безопасности не заставил себя ждать»

— Наша компания одна из первых создала студию веб-дизайна. И нам повезло (наверное, в кавычках) создавать первый сайт президента Республики Беларусь, — рассказывает Виталий Никуленко, независимый директор, член наблюдательного совета ОАО «Белорусский межбанковский расчётный центр»

Виталий Никуленко

Виталий Никуленко

Спустя 2-3 месяца после того, как сайт был запущен, я пришел на работу и руководитель проекта спросил меня, читал ли я форум такой-то. Мы заглянули на этот форум и увидели скриншот с президентского сайта.

В строке поиска — нелитературное слово. В результатах выдачи — один документ: биография президента.

Звонок из службы безопасности не заставил себя ждать. Слава богу, что в то время не были распространены Фейсбук, Инстаграм, Вконтакте, — мы отделались гораздо меньшей кровью. После звонка мы оперативно собрали админов, всех своих специалистов.

(комментарий из зала: «носки, паспорта, зубные щетки»)

В течение двух-трех недель я ходил в администрацию президента как на работу. Нам нужно было доказать, что это не умышленная закладка разработчика, а определённый баг. Как оказалось — баг бесплатного MySQL. Логика базы была построена так, что если в sql-запросе параметр поиска был такой, что по нему ничего не находилось, база отдавала первый документ, который появился в базе данных. Первым документом, в нашем случае, ввели биографию президента.

Мы довольно быстро придумали алгоритм, как будем строить доказательства. Построили два стенда. Один с новой версией базы данных, другой со старой. Собралась комиссия. Вводили нехорошее слово на одном компьютере — получали тот же результат, на другом — видели, что этого результата нет.

В итоге все стороны сработали профессионально и всё закончилось благополучно и безопасно — проект утвердили и подписали акты. Нет, QA мы не уволили — такого тест-кейса не было. 

Какие уроки мы вынесли:

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

«Снять пиджак, пописать на него, намотать на голову, идти в сторону города»

— Все началось в 2017 году. Был деплоймент решения в Абу-Даби, — рассказывает Сергей Зубович, СОО Bamboo Agile. — Заказчик из ОАЭ — гос организация, которая занимается безопасностью в стране. В проекте использовались шифрование в шифровании, туннель в туннеле и много всего такого странного. Проект был сложный, состоял из бэкенда, фронтенда, мобильных приложений.

Сергей Зубович

Сергей Зубович

Удаленный доступ нам не дали. Сказали: «Ребята, собирайте всё, что сделали, пакуйте, записывайте на внешний винчестер и приезжайте. 

А у нас порядка 16 виртуальных машин на бэкенде. Базы данных, очереди, и все машины между собой общаются.

Прибыли мы в Абу-даби в июне, на Рамадан. В первый день поехали в красивый комфортный офис заказчика. Но нам сказали: «Нет, ребята, езжайте в дата-центр». Как выяснилось, находился он за городом, в пустыне. Просто белое здание за периметром безопасности, с КПП и колючей проволокой.

Приехали на такси. Вышли. Плюс 50, мы в пиджаках, в туфлях, в рубашках. Под открытым солнцем, спрятаться негде. На КПП оказалось, что наших паспортов нет в базе. Честно, это был один из самых страшных моментов в жизни. Я стал вспоминать, как Беар Гриллс учил действовать в пустыне. Нужно снять пиджак, пописать на него, намотать на голову, идти в сторону города…

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

Здесь, дома, мы репетировали — разворачивали всю инфраструктуру, настраивали, смотрели как что с чем коммуницирует. Дали заказчику список, что нужно для деплоймента. Но когда приехали, оказалось, что ничего не готово. Например, мы ожидали nginx в качестве веб-сервера, а они дали сервер, который мы первый раз видели. Инфраструктурные изменения мешали деплойменту, нужно было разбираться на ходу, но в дата-центр нельзя было пронести ни телефон, ни ноутбук. Мы что-то делали, не получалось. 

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

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

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

В итоге в последний день, к обеду, мы дошли до user acceptance testing. Думали, его будет делать команда QA инженеров. Но принимать работу приехал шейх, весь в белом, с нимбом вокруг головы. Он взял два телефона. И мы пять часов, вдвоем, проходили все тест кейсы. А их тысяча! Из-за того, что не было возможности всё нормально протестировать, вылазили ошибки. Я по городскому телефону звонил коллеге и он рестартовал на ходу.

Закончилось всё удачно. Мы приезжали в Абу-Даби еще два раза.

Какие уроки о культурных особенностях клиента мы вынесли:

  • Готовьтесь к дресс-коду: рубашка, брюки, туфли, даже если +50.
  • В Рамадан придётся есть как местные — утром и вечером. Или готовить ссобойки.
  • Бюрократия. Процессы очень сильно размазаны.
  • Арабы — такие white bosses. Ожидают к себе очень уважительного отношения, чтобы всё делали, как они скажут.
  • Полное неприятие ошибок — никаких вариантов договориться.

«ИТ-компания всегда находится в проигрышном положении с точки зрения договоров»

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

Александр Арабей

Александр Арабей

Вот вы подписываете договор. Контракт на три миллиона долларов. Менеджер проекта контролирует сроки, бюджет. И часто получается ситуация, когда он договаривается с менеджером проекта на стороне клиента о небольших изменениях. Например, что срок немножко удлинится. Или не немножко. 

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

Но если клиент крупный, у него есть многоуровневая иерархия. И проектная команда — это её самый начальный уровень. Дальше идёт замдиректора, глава департамента. И рано или поздно наступает момент, когда кто-то из верхушки приходит и говорит: «Ёлки-палки, а что происходит?»

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

Давайте честно, в ИТ-бизнесе, ИТ-компания всегда находится в проигрышном положении с точки зрения договоров по отношению к заказчику. Частая ситуация, когда крупная компания присылает свой standard form и вы его либо подписываете, либо нет. Юристы говорят: «Нет, на это нельзя соглашаться, мы всё будем должны». Но вы взвешиваете на весах — хотите вы работать с этим заказчиком или хотите поспорить насчет договора?

У нас таких случаев был не один и не пять. Однажды мы пришли на ежемесячное совещание, где собираются управленцы и обсуждают, как идёт проект. Заказчиком был один из банков. 

Открывается дверь, мы заходим, а там проектной команды нет, но сидит прокьюремент, юристы, зампред. Нам дают официальное письмо на официальном бланке банка. Там написано: «В соответствии с таким-то договором вы обязались сделать то-то, в такой-то срок. Сейчас уже такой-то день. Размер штрафа — 700 тысяч долларов». 

В этот момент всё, что я думал буду рассказывать клиентам, стало таким незначительным. 700 тысяч долларов? Да ладно! Знать заранее, на что они рассчитывали, когда давали бумажку — нельзя. Объективно, это могла быть некая пугалка, как аргумент, чтобы нас ускорить. Но формально и юридически они могли взыскать с нас эти деньги.

Мы пошли на уступки. Пообещали, что приложим все усилия, будем работать ночами — зачастую важно не то, что вы делаете, а то, что говорите. Они услышали правильные слова и частично успокоились.

Какие уроки вынесли:

  • Всегда, когда вы ведете проект, у вас должен быть кто-то, кто контролирует юридическую чистоту. Если продлевается срок — не поленитесь, заключите доп соглашение. Потому что потом прилетит так, что мало не покажется.
  • Хоть юристы и говорят, что не надо бояться судов, судебная практика в ИТ-компаниях очень слабо развита. У нас юридический отдел — пять человек. Все очень классные юристы. Но ни один, если дело дойдет до суда, не сможет нормально защищать компанию. Придётся привлекать внешних юристов за 300 евро в час. Если с вами работает крупный корпорат, будьте уверены, у них судебная практика поставлена гораздо лучше, чем у вас. И шанс, что вы продуете суд — очень большой. Так что всеми способами надо признавать свою вину, даже если она частичная, и договариваться.

Работа в ИТ в Беларуси​.​​​​​​​​​​​​​​​​

1. Заполните анонимную форму — 5 минут.
2. Укажите зарплатные (и другие) ожидания.
3. Выберите желаемую индустрию или область деятельности.
4. Получайте релевантные предложения​​.​​​​​​​​​​ ​

Читайте также
Беларусы будут платить налог на электромобили со следующего года
Беларусы будут платить налог на электромобили со следующего года
Беларусы будут платить налог на электромобили со следующего года
Польские власти подозревают Беларусь и Россию в атаках на местную систему быстрых платежей
Польские власти подозревают Беларусь и Россию в атаках на местную систему быстрых платежей
Польские власти подозревают Беларусь и Россию в атаках на местную систему быстрых платежей
МТС и Минобр запустили школу цифровой грамотности про ИИ и соцсети для подростков
МТС и Минобр запустили школу цифровой грамотности про ИИ и соцсети для подростков
МТС и Минобр запустили школу цифровой грамотности про ИИ и соцсети для подростков
1 комментарий
Айтишные вакансии в Беларуси прирастают быстрее, чем во всех других отраслях, а больше половины активных соискателей — из России
Айтишные вакансии в Беларуси прирастают быстрее, чем во всех других отраслях, а больше половины активных соискателей — из России
Айтишные вакансии в Беларуси прирастают быстрее, чем во всех других отраслях, а больше половины активных соискателей — из России
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.