- 6 мин
- 4840
Мы объявили о введении технологической гарантии на свои продукты. Нас подтолкнул к этому особый случай — ЧП, случившееся в провинциальной торговой компании.
Технологии прошлого
Недавно в одной провинциальной торговой компании случилось маленькое ЧП. С глобальным сбоем в семействе FB и Цукерберга, конечно, не сравнить. Работники фирмы не смогли сформировать автоматический отчет в системе CRM за 2021 год. Обратились к разработчикам программного продукта. Те удивились, стали разбираться, привлекли специалистов, тем более что программист, который разрабатывал CRM-ку давно уволился.
Выяснилось, что система создавалась в 2008 году. Основатель даже предположить не мог, что она будет бесперебойно работать 12 лет. Поэтому крайнюю дату для составления отчетов нарисовал из головы — далекий 2020 год. В 2021 пришлось подправлять даты в CRM.
У нас появляется все больше прецедентов, когда бесперебойно созданная нами цифровая система работает годами, при условии, что в нее никто не пытается внести «улучшения». Сначала мы это поняли по нашим зарубежным заказчикам, а теперь и по отечественным. Поэтому мы и ввели такое понятие, как технологическая гарантия.
Вы скажете, что смешно давать гарантию на технологию. Нельзя же давать гарантию на технологию двигателя внутреннего сгорания. Можно дать гарантию качества на сам двигатель — она будет длиннее. Можно отдельно на шины — она покороче. Но как можно дать гарантию на совокупность букв, знаков и циферок, которой, по сути, является программный продукт?
Технологическая гарантия в IT, действительно, в некотором смысле нонсенс. Слишком быстро меняются движки, платформы, операционные системы. Поэтому большинство компаний-разработчиков предпочитают использовать стандартную практику гарантий. Программисты обязуются в течении полугода (максимум года) исправлять ошибки кода за свой счет, если программа не работает согласно утвержденному техническому заданию. Дальше покупатель продукта решает свои проблемы сам.
Но мы имеем дело с частными заказчиками, для которых важнее не факт внедрения продукта или освоения выделенных на него денег, а функциональность программы. Чем дольше и стабильнее программа работает — тем лучше для частного бизнеса, малого предприятия, коммерческого банка. Поэтому мы работаем с гибкими изменениями еще на стадии проектирования. Никто ни разу за 17 лет работы не сформулировал нам точное техническое задание. Чаще всего мы вместе с заказчиком разрабатывали требования ограничения к системе, ее интерфейс. У нас исправление ошибок кода — это этап либо разработки, либо внедрения. Дальше система уже не дает сбоя. Уверенность в предсказуемом и долго работающем результате — вот что такое наша технологическая гарантия.
Стабильность — признак мастерства
Любой сайт, интернет-магазин, чат-бот, мобильное приложение или CRM-ка — это сложная система по внесению, хранению, обработке и передаче данных. Сделать ее стабильной можно только при условии, что в ее работу никто не вмешивается. Это известно каждому инженеру: если система работает, не надо ее трогать, пусть работает дальше. Но с информационными системами так не получается.
Всегда есть вероятность, что провайдер задумает перевезти хост, или какой-нибудь хакер решит взломать систему. Создадут новую систему безопасности или введут новую операционку. Но если принципиально ничего не меняется, мы гарантируем, что наша система будет продолжать стабильно работать до тех пор, пока наш заказчик, не решит попробовать что-то новенькое. Выбранные нами технологии не устареют и не будут требовать вложений для поддержки актуальности.
Только на первый взгляд кажется, что технологическая гарантия — вещь само собой разумеющаяся. Программный продукт работает в какой-то виртуальной среде и на каком-то «железе». Все это склонно быстро меняться. С программой могут работать пользователи разного уровня, как новички, так и эксперты. Урон, который может нанести допущенный к программе эксперт, несопоставим с эффектом от дилетанта, но и эти факторы нужно учитывать. Кроме того, продукт всегда принимает и передает какие-то данные. Любая интеграция всегда несет какую-то опасность. Поэтому технологическая гарантия ONLINE-MEDIA накладывает ограничения на архитектора системы и разработчиков. Эти ограничения проявляются в итоговой сложности системы, ее готовности к будущему развитию, простоте и стоимости обслуживания.
Программисты — народ, получающий адреналин от всего нового. Но разработчики ONLINE-MEDIA получают свежие ощущения в исследовательских задачах. Когда речь идет о разработке серьезного долгоиграющего практического продукта, будь то интернет-магазин или сложный сайт, мы опираемся на LTS- версии продуктов с длинным жизненным циклом. Тщательно отбираем партнеров по интеграции с нашей системой, чтобы постоянные партнерские обновления не сказывались на работе продукта. Например, та же Юкасса, запущена в 2013-ом году, и интеграция с ней не обещает сюрпризов для сайтов и интернет-магазинов, которые мы разрабатываем. Это показатель определенной зрелости программирования, поскольку шутки на IT-рынке кончились. Слишком много теперь зависит от IT, слишком большая цена у того, что кто-то неуравновешенный внезапно уберет свой пакет из репозитория и весь мир начнет судорожно вылавливать баги в своих продуктах.
Технологическая гарантия. На что и сколько
Технологическая гарантия на стандартную разработку предусматривает стабильную работу программного продукта на устройствах, для которых его создавали при нормативных нагрузках. Гарантия на архитектурное решение действует 10 лет, на фронтенд, который устаревает быстрее — 5 лет.
Безусловно, сбои возможны при интеграции с внешними ресурсами (CRM, 1С, неизвестными платежными системами), а также при самостоятельной модификации кода, сбоях сервера и атаках на него.
Чуть сложнее, естественно, дело обстоит с технологической гарантией на сложные комплексные решения: сайт + CRM + мобильное приложение. Технологическая гарантия составляет 5 лет, но и рисков здесь больше. Помимо стандартных внешних интеграций с CRM, 1С, платежными системами, могут измениться требования провайдера (Google Play Market, AppleStore) или появиться принципиально новые устройства.
Посмотрите на первые мобильные десктопы типа Samsung Galaxy Z Fold3. Совершенно понятно, что теперь мобильные версии и приложения должны уметь «гнуться» под его экран, и мы такие возможности до 2021 года не предусматривали.
Техническая гарантия, естественно, не работает в случае самостоятельной модификации продукта заказчиком.
Гарантия на разработку сложного сайта полна подводных камней. Тем не менее, наша компания ONLINE-MEDIA дает ее на 5 лет, хотя за это время вполне могут обновиться алгоритмы поисковиков, а те же Google или Yandex могут ввести новые требования к производительности сайтов. Не исключены также самостоятельная модификация скриптов, сбои серверов и облачных хранилищ.
Но не надо воспринимать перемены как fatal error. Наоборот, это иногда помогает открыть новые возможности. Так Яндекс, например, предложил нам, разработчикам, выше индексировать страницы с турбо-загрузкой. Мы их создали для интернет-магазина Фабрики Дверей, — и магазин резко шагнул в топ-выдачи. Сегодня это один из самых успешных интернет-магазинов в данном сегменте.
Мы понимаем, что любая гарантия — это риск для производителя. От перемен никто не застрахован. Но надежная legacy-технология не подводит. Да, появились электромобили, но большинство автолюбителей пока ездит на дальние расстояния на машинах с двигателем внутреннего сгорания, потому что есть соответствующая инфраструктура и гарантии надежности. Так и в программировании, которое перестало быть магией и волшебством, а стало просто рабочим инструментом. Он должен быть надежным. А это значит, что на него распространяется технологическая гарантия.
Большая часть разработчиков в Online Media — «программисты за 40». Мы видим, что это — самостоятельные, ответственные люди, которые многое помнят. Помнят каким было «безоблачное» программирование, помнят что операционная система и программы могут нормально работать на медленном процессоре с 64 Мб памяти.
Специалисты «за 40» благодаря накопленному опыту умеют соблюсти баланс между двумя крайностями «модно, современно» и «понятно и легко поддерживать».