Финансовая сфера

Банковское обозрение


  • Как разрабатывать программные продукты правильно, быстро и в 10 раз дешевле
11.11.2021 FinTechАналитика

Как разрабатывать программные продукты правильно, быстро и в 10 раз дешевле

О том, как многократно повысить эффективность десятков и сотен команд программистов и за счет этого обойти конкурентов по одному из самых важных для цифровой трансформации показателю — time to market, рассказал Александр Глазков, управляющий директор, председатель совета директоров компании «Диасофт»


Александр Глазков, управляющий директор, председатель совета директоров компании «Диасофт»— Александр, как вы выбирали название для экосистемы цифровой трансформации? Почему Digital Q?

— Слово «Digital» прочно ассоциируется с термином «цифровая трансформация». Наша экосистема нацелена на то, чтобы ускорить и упростить производство программного обеспечения (ПО) в условиях повсеместной цифровизации, поэтому мы дополнили «Digital» латинской буквой «Q», которая напоминает кнопку запуска, для нас это кнопка запуска цифровой трансформации.

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

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

— Расскажите историю появления бренда Digital Q в компании «Диасофт».

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

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

Рынок стал нас позитивно воспринимать, потому что мы реально начали помогать в цифровой трансформации его участникам. При этом мы видели, что, поскольку готовые решения не очень зрелые и не позволяют бизнесу сокращать time to market, у крупных финансовых и нефинансовых институтов есть потребность в самостоятельной разработке. Мы стали думать о том, как сделать доступным и полезным для них наш опыт кардинального повышения эффективности производства. Два года назад мы предприняли первую попытку его тиражирования. У нас появился термин «Производство как продукт» (Production as a Product, PaaP). Еще год мы потратили на осмысление того, как передать нашу методологию и наработки в области эффективного производства на сторону клиентов.

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

Амбициозная цель компании «Диасофт» — сделать экосистему цифровой трансформации доступной для всех участников рынка, которые заинтересованы в том, чтобы правильно, быстро и эффективно выстроить производство программных продуктов в микросервисной архитектуре на современном стеке технологий.

— На сегодняшний день в экосистеме цифровой трансформации Digital Q собраны только платформы и компоненты разработки «Диасофт»?

— Мы не делаем все с нуля, мы многое берем из Open Source, но дорабатываем эти решения и связываем их друг с другом для создания эффективной производственной среды.

Важным вопросом является взятие ответственности за Open Source компоненты (Kubernetes, Docker, Kafka, Camunda и т.д.). За большинство из них в России ответственность еще никто не взял, но кто-то должен это сделать, потому что нельзя что-то скачивать из интернета и на этом строить Business Critical приложения. Это невозможно и неправильно.

Любой Open Source — это код, и за любой код кто-то должен отвечать. У пользователя должна быть возможность обратиться к его владельцам за консультацией, сопровождением и развитием. Мы готовы взять эту ответственность на себя, гарантировать нашим клиентам, что наш код будет рабочим.

— Кому может быть интересно повышение эффективности производства ПО?

— Конечно, для всех лучше использовать зрелые решения, которые соответствуют потребностям бизнеса. Это быстрее, надежнее и дешевле. Но зрелых решений на рынке недостаточно, особенно в области цифровой трансформации. Крупные игроки вынуждены в том числе идти по пути собственной разработки. Здесь актуальным становится вопрос ее эффективности. Такие глобальные организации, как Сбер, ВТБ, поставили перед собой задачу пройти этот путь самостоятельно. Они могут себе это позволить, набрав тысячи команд разработчиков, другие игроки рынка — нет.

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

— Кто на стороне вашего клиента должен выступать в роли вдохновителя и двигателя такого проекта?

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

Сейчас, когда мы думаем, как продвигать экосистему цифровой трансформации, мы понимаем, что наше рыночное предложение состоит из двух частей:

Первая часть — это набор платформ и компонентов, использование которых позволяет быть эффективными и результативными.

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

— То есть вы хотите в дополнение к экосистеме предоставлять услуги консалтинга?

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

Когда мы внедряли эффективное производство у себя, мы на определенном этапе поняли, что кроме формальных требований нужно, чтобы наши идеи прочувствовали и «купили» все сто команд. Они поверили в эту методологию, увидели, что она дает результаты, перестали сопротивляться ее внедрению и приобрели необходимые навыки. Так у всех в компании появилась осознанность, понимание, что все делается правильно: намного быстрее и дешевле. Мы это называем «осознанный Agile».

— Экосистема цифровой трансформации — это довольно большой набор технологических и производственных платформ, инфраструктурных и кросс-продуктовых компонентов. Ее нужно приобретать целиком или можно выбирать отдельные платформы и компоненты?

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

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

Если нас попросят: «Наладьте нам эффективное производство кода», мы ответим: «Мы берем на себя ответственность за рост эффективности ваших программистов.

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

— У вас уже есть стандартный сценарий внедрения экосистемы цифровой трансформации для повышения эффективности разработки?

— Если сейчас к нам кто-то придет и попросит внедрить эффективное производство для нескольких сотен команд, я отвечу, что не хотел бы сразу браться за такой объем работы, так как это очень тяжело, и предложу выделить нам десять или двадцать команд. За год мы внедрим в практику их работы нашу методологию и, пользуясь нашими метриками, покажем рост эффективности как минимум в три раза. При этом затраты самой организации на использование экосистемы Digital Q и нашего консалтинга составят, может быть, десять процентов дополнительно к стоимости этих команд.

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

— Какие метрики вы собираетесь использовать?

— В основе измерения эффективности лежат две основные метрики.

Первая метрика — процент времени, который команда тратит на создание нового кода. Мы определим, сколько времени команда работает над созданием нового кода и сколько занимается решением технических вопросов, исправлением ошибок и прочее. К слову, когда мы сами начинали переход на новый технологический стек, наши разработчики тратили на создание нового кода 15–20% рабочего времени. Остальное время они занимались разными техническими вопросами и исправляли код.

За два-три года мы добились от всех наших команд увеличения этого показателя до 70%. Таких результатов мы смогли достичь благодаря внедрению DevOps (автоматизации ручного труда), правильной организации работы команд на основе проектных практик и четкой архитектурной проработке решений.

Вторая метрика — эффективность создания нового кода. При планировании разработки мы разбиваем сложные задачи на простые этапы работы. Для этих простых работ мы ввели нормативы и стали работать над уменьшением их значений (то, что раньше делалось за три часа, мы научились делать за час). Первые измерения показали, что некоторые специалисты выполняют типовые работы быстрее других в пять и даже десять раз. После того как замеры времени по выполнению типовых работ были завершены, а результаты были представлены сотрудникам, они самостоятельно улучшили свои результаты работы в среднем в два раза. За счет обучения, использования low-code платформ нам удалось обеспечить попадание в установленные нормативы всех сотрудников и улучшить результаты в несколько раз.

— Какие результаты вы рассчитываете получить в перспективе трех лет?

— Мне хочется добиться высокой узнаваемости экосистемы цифровой трансформации Digital Q, чтобы она стала привлекательной для потенциальных клиентов и чтобы они доверяли ей. Я думаю, что мы добьемся этого через три года, реализовав пилотные проекты и показав рынку довольных клиентов.

— Экспансию за пределы России — в ближнее, дальнее зарубежье — планируете?

— В течение ближайших лет мы будем четко фокусироваться на России, а дальше — как получится. Если мы добьемся очень хорошего результата, то он будет востребован во всем мире. Но это отдаленная перспектива: сейчас мы этим заниматься не будем.

— Какова ваша программа-минимум на ближайшие год-два?

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

Подробнее об экосистеме цифровой трансформации Digital Q на q.diasoft.ru