Опубликовано: 5 сентября, 2023

Ценю шутки, но не разделяю уколов в сторону якобы несоответствия маркетинговых картинок и «коробки».

Разумеется, мы для нужд маркетинга выбираем наши достаточно “симпатичные” реализованные проекты. Я бы сказал, что приведенные на скринах кейсы – это еще (или точнее уже) цветочки. Ибо с тех пор утекло много времени, и платформа весьма выросла как горизонтально, так и вертикально. Считаю такой подход логичным, ведь эти кейсы живые (хоть и обезличенные), компоненты, присутствующие на скринах, существуют и при желании клиента могут быть быстро встроены в коробочный инстанс Luxms BI. Клиенты, для которых мы делали данные решения вполне вероятно даже есть в данном чате.

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

Поверьте, мы даже будем рады, если нам всего-то нужно будет лишь переиспользовать компонент, чтобы решить тем самым вашу бизнес-задачу. Где-то радуется один тимлид Илья)

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

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

Здесь, в этом комьюнити, частенько возникают сомнения в том, что мы являемся платформой или что наш продукт ненадлежащего качества. Чаще всего из аргументов звучат следующие тезисы:

  • Слабая документация, невозможность узнать о некоторых особенностях настройки, например дэшбордов и дэшлетов без явного общения с тех.представителями платформы;
  • Техподдержка не решает проблемы, а лишь уведомляет о том, что тот или иной вопрос отправляется на доработку к разработчикам;
  • Неудачный UI и неочевидный UX. Некоторые сценарии никогда бы не выполнились, если бы про них не рассказали явно;
  • Недостаточные возможности self-service;
  • Слабая обратная совместимость при новых версиях;
  • Баги коробки, особенно в части прав доступа и RBAC;
  • Ну почему у вас не так, как в Qlik?

И мой ответ на это: вы ПРАВЫ в КАЖДОМ из случаев! В большей или меньшей степени.

Как представитель производственного отдела (в части конкретно фронтенда) я принимаю все шишки на себя.

Мы не собираемся игнорировать проблемы или пытаться делать вид, что их нет. Мы ЗНАЕМ, что у нас есть проблемы и делаем все, чтобы их решать с каждой новой версией продукта.

Но знаете что? Это будни разработчиков платформ) Да любого IT-продукта, чего уж там. Особенно когда тебе приходится соперничать и конкурировать с мощными игроками на рынке, будучи еще на тот момент небольшим стартапом энтузиастов с высоким уровнем навыков в смежных областях IT, готовых, засучив рукава, браться за любой сложный кейс и доводить его до конца, давая клиенту инструмент для принятия решений.

Я делаю сейчас этот экскурс не словоблудия ради, а чтобы вы понимали, почему Luxms BI такой, какой он есть и почему лично я его люблю и вижу в нем потенциал и одну большую хорошую инвестицию. Да, как разработчик я не объективен, но я видел несколько версий итогового продукта и имел ко многим из них непосредственное отношение и могу сравнить результаты нашего труда на предмет удачности и неудачности каких-либо решений.

Примерно 5 лет назад (это по крайней мере то время, что помню я) Luxms BI, будучи на тот момент уже BI-решением, но с куда более скромными возможностями, был небольшим стартапом из человек эдак 15-ти. В тот момент все занимались всем, как это часто бывает в стартапах и вывозили нагрузку за счет высокого уровня навыков и сплоченности команды. Это не пустые слова, ведь сейчас нас уже более сотни и это результат того, что те, кто стоял у истоков, справились и смогли горизонтально вырасти, обучая внутри команды.

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

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

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

Написано несколько миллионов новых строк кода, не меньшее количество его было отрефакторено и попросту выброшено (прощай, knockout.js, ты достойно сослужил свою службу на волне хайпа  времен зарождения платформы). Было решено множество алгоритмических задач по тому, как подготовить фронтенд к быстрорастущему объему данных, вплоть до миллионов и миллиардов строк.

Иронично, но буквально на последнем митапе с руководством я узнал, что один из наших клиентов, что еще пользуется сравнительно устаревшим подходом к работе с данными (MLP кубы) имеет таблицу с данными на 2 млрд строк и она прекрасно работала. Сотни тысяч метрик их совсем не смущали. А их жалоба сводилась к тому, что они просили помочь с импортером, который умирал в процессе дооолгого импорта. И как выяснилось позже, дело было в ограничениях источника. Не платформы! а источника данных, который не смог обеспечить настолько длинную коннекцию! Для меня эта информация была очень показательной в плане осознания возможностей платформы даже в ее более примитивной форме. А как показывают проверки нагрузочного тестирования – мы значительно превосходим конкурентов, с которыми нас так любят сравнивать. Sad, but true.

Так вот, продолжаю. Серьезные вызовы, которые были брошены рынком заставили нас двигаться семимильными шагами в развитии продукта. Думать наперед, готовиться к устойчивости при серьезных нагрузках, реализовывать сложную структуру прав доступа и их внутреннего мержа. Адаптировать для этого все модули платформы.

Это дало возможность к созданию изолированных секторов в рамках одного инстанса Luxms BI. Т.е. разный внешний вид, функционал, набор данных, источники, группы пользователей и многое другое.

Менее чем за год мы выпустили совершенно новую версию продукта, которая качественно меняет продукт на уровне core.

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

У нас и правда очень много функционала, про который никто, кроме разработчиков не знает. И потому бедные ребята из техподдержки публикуют решения некоторых задач, которые воспринимаются клиентом как “и как я должен был догадаться?”

Это следствие того, что функционал очень быстро нарастает, стараясь на равных конкурировать с игроками-тяжеловесами сектора. Это, с одной стороны, привело к тому, что мы по функциональным возможностям очень близки, а где-то даже превосходим конкурентов, но именно этот бешенный рост и стал причиной того, что у нас было мало времени на создание интерактивной (да хотя бы ПОЛНОЙ) документации и разработку максимально простого UI/UX. Ибо большую часть интерфейса и user story были сделаны разработчиками по разработническим же лекалам. Все мы понимаем, каково пользоваться интерфейсом, который писал программист, для которого все просто и очевидно, и как сложно порой понять как с этим взаимодействовать.

Мы наняли сильную команду UI/UX и технических писателей. Это очень талантливые, скиловые, а главное ДОТОШНЫЕ ребята, которые, придя к нам, сразу начали разносить наши флоу и неочевидные стори. Формируется, хоть и не так быстро, как хотелось бы и пласт печатной и онлайн-документации с книгами рецептов с пополняемым набором ready-to-use компонентов, которые просто можно выдрать из доки и оно сразу закроет проблему (пока такое существует только в pdf версии в разделе /docs/ инстанса Luxms BI (необходим пакет luxmbi-docs).

Регулярно спорим относительно того, как упростить взаимодействие пользователя с данными и как сделать self-service проще и интуитивно понятнее, при том, что как показывают митапы с крупными игроками рынка на одноименную тему, никто до конца не понимает, что это за зверь такой и как именно он должен выражаться. Ironic, isn’t it?.

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

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

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

Да, кстати) наш роадмап не управляется ни одним из наших партнеров, кто бы что ни говорил. Разумеется, мы принимаем во внимание все предложения и критику и на их основе формируем тот роадмап, который удовлетворяет и нашим планам, и усредненным желаниям пользователей. Потому что мы платформа, которая в ближайшем будущем планирует стать лидером в секторе BI-платформ. А для этого мы должны иметь инструменты для гибкой настройки и кастомизации под клиента, не превращаясь в личный IT-отдел одного конкретного клиента, решая только его локальные проблемы.

Наша задача каждый день – развивать BI сектор в России и делать бизнес в стране прозрачнее, удобнее для ВСЕХ, сохраняя рабочие места и помогая принимать сложные решения в сложные времена. Удачи вам в бизнесе и спасибо, что дочитали до конца!

 

Из телеграм-комьюнити