Как разработчик первого сайта президента доказывал, что «это баг, а не диверсия»
Неизвестная компания-резидент ПВТ разработала новую версию сайта president.gov.by. Она использовала «современный международный опыт, лучшие отечественные наработки и технические решения в сфере веб-дизайна». dev.by вспомнил историю создания первого президентского сайта, которую нам в 2019 году рассказывал независимый директор, член наблюдательного совета ОАО «Белорусский межбанковский расчётный центр» Виталий Никуленко.
— Наша компания одна из первых создала студию веб-дизайна. И нам повезло (наверное, в кавычках) создавать первый сайт президента Республики Беларусь, — рассказывает Виталий Никуленко, независимый директор, член наблюдательного совета ОАО «Белорусский межбанковский расчётный центр».
Спустя 2-3 месяца после того, как сайт был запущен, я пришёл на работу и руководитель проекта спросил меня, читал ли я форум такой-то. Мы заглянули на этот форум и увидели скриншот с президентского сайта.
В строке поиска — нелитературное слово. В результатах выдачи — один документ: биография президента.
Звонок из службы безопасности не заставил себя ждать. Слава богу, что в то время не были распространены Фейсбук, Инстаграм, Вконтакте, — мы отделались гораздо меньшей кровью. После звонка мы оперативно собрали админов, всех своих специалистов.
(комментарий из зала: «носки, паспорта, зубные щетки»)
В течение двух-трех недель я ходил в администрацию президента как на работу. Нам нужно было доказать, что это не умышленная закладка разработчика, а определённый баг. Как оказалось — баг бесплатного MySQL. Логика базы была построена так, что если в sql-запросе параметр поиска был такой, что по нему ничего не находилось, база отдавала первый документ, который появился в базе данных. Первым документом в нашем случае ввели биографию президента.
Мы довольно быстро придумали алгоритм, как будем строить доказательства. Построили два стенда. Один с новой версией базы данных, другой — со старой. Собралась комиссия. Вводили нехорошее слово на одном компьютере — получали тот же результат, на другом — видели, что этого результата нет.
В итоге все стороны сработали профессионально и всё закончилось благополучно и безопасно — проект утвердили и подписали акты. Нет, QA мы не уволили — такого тест-кейса не было.
Какие уроки мы вынесли:
- Нужно быть готовым к неожиданностям и чётко отладить работу команды.
- Многие боятся белорусских проектов, особенно проектов с госорганами. Здесь достаточно соблюдать одно правило: всё должно быть оформлено документально, хорошо прописаны требования, что делаете и что не делаете в рамках договора. И всегда в первую очередь надо делать то, что прописано в этих требованиях. Никаких дополнительных плюшек и фишек, пока не сделан основной функционал. Потому что за то, что вы сделаете сверх, вас никто не похвалит и спасибо не скажет. Но если вы не сделаете хоть одну строчку из требований, вас за это очень хорошо взгреют. Такая рекомендация.
Читать на dev.by