Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Применение low-code платформ в энтерпрайзе

Применение low-code платформ в энтерпрайзе

Выступление на конференции TrueTechDay 2023 в Москве.

Содержание:
1. Причины появления интереса к low-code платформам
2. Управление сложностью в обычном и low-code подходах
3. Технические проблемы с low-code и как снизить эти риски
4. Организационные проблемы с low-code и как снизить эти риски
5. Сценарии успешного применения
6. Чеклист выбора low-code платформы

Статья на эту тему и видео-запись доклада https://blog.byndyu.ru/2023/04/low-code.html

More Decks by Александр Бындю

Other Decks in Technology

Transcript

  1. • Владелец и IT-архитектор Byndyusoft • Методолог, эксперт в Agile

    и Lean • Спикер на профессиональных IT-конференциях • Преподаватель в ВУЗах • Автор книги «Антихрупкость в IT» https://byndyu.ru Александр Бындю
  2. План 1. Причины появления интереса к low-code платформам 2. Управление

    сложностью в обычном и low-code подходах 3. Технические проблемы с low-code и как снизить эти риски 4. Организационные проблемы с low-code и как снизить эти риски 5. Сценарии успешного применения 6. Чеклист выбора low-code платформы
  3. Low-code это создание ПО с помощью визуального редактора без или

    с минимальными написанием кода. Лозунг: “...with no-code/low-code platforms, anyone can build applications without software expertise, significantly faster, and at a fraction of the cost”
  4. Преимущества визуальной разработки 1. Декларативное описание процесса: 1.1. Его видно,

    поэтому проще коммуницировать внутри команды и с пользователями. 1.2. Его могут создать не-программисты и делают это довольно успешно после прохождения обучения по платформе. 1.3. Всегда актуальная документацию в виде схемы бизнес- процесса. 1.4. InnerSource в стиле совместного визуального редактирования. 2. Быстрое прототипирование и ускорение поставки новых версий за счет готовых автоматизаций внутри low-code платформ
  5. За счет чего “синий” равномерный? Целенаправленный и постоянный вклад в

    управление сложностью: 1. Постоянный рефакторинг кода и архитектуры для соответствия новым реалиям бизнеса и нашим знаниям о системе. 2. Тотальное автоматизированное тестирование: модульные, нагрузочные, e2e… тесты. 3. Дробление систем на много мелких сервисов, чтобы их было удобно пересобирать в новые логические структуры. 4. Тотальная автоматизация инфры и оценки внутреннего качества
  6. Почему “фиолетовый” уходит в красную зону? Ограничения платформы: 1. Нет

    автоматизированного рефакторинга “визуального” кода и кода внутри квадратиков. 2. Сложности в модульном тестировании. 3. Low-code платформа – это скорее всего монолит со всеми вытекающими минусами. 4. Автоматизация инфры и оценки внутреннего качества или отсутствуют или скрыты внутри платформы.
  7. Минимальные требования к low-code платформе Безопасно и дешево вносить изменения

    1. Не ломать предыдущее, т.е. делать надежное регресс- тестирование. a. Платформа должна иметь возможность автоматизации тестирования. 2. Рефакторить дублирование, в том числе в визуальном редакторе. a. Вынос куска визуализации в параметризованную функцию b. Возможность писать код вне платформы в “обычном” стиле
  8. Система контроля версий Вызывает сложности: 1. Отслеживание изменений 2. Поиск

    изменений 3. Ревью изменений 4. Работа с “ветками” 5. Мердж конфликтов Как снизить риск: 1. Выбор в пользу платформы с какими-то возможностями работы с версиями 2. Есть платформы, которые генерируют код, который можно сравнивать Найди 10 отличий
  9. CI/CD и другие элементы инфраструктуры Инфраструктуры нужно интегрировать. Это добавляет

    затраты: 1. Объединение пайплайнов 2. Объединение трассировок 3. Объединение мониторингов 4. Объединение логирования 5. … 6. Постоянная поддержка этой интеграции Как снизить риск: 1. Выбор в пользу платформы, которая может использовать вашу готовую инфраструктуру
  10. Дублирование в “нарисованном” Как рефакторить “квадратики”? Куски процессов могут дублироваться

    и это невозможно отследить. Как следствие, технический долг будет расти со всеми вытекающими последствиями. Как снизить риск: 1. Выбор в пользу платформы, которая имеет полноценные инструменты для рефакторинга. На данный момент такие неизвестны. 2. Выбор в пользу платформы, которая умеет отслеживать дублирование в “нарисованном”. На данный момент такие неизвестны.
  11. Код внутри low-code Интерфейс не обладает необходимой для бизнеса гибкостью,

    потому код начинают писать внутри визуальных блоков. А это ведет: 1. Нет рефакторинга 2. Нет тестов 3. Код находится внутри платформы и не является переносимым Как снизить риск: 1. Выбор в пользу платформы, которая позволяет писать код вне визуальных блоков, т.е. вести разработку в обычном стиле.
  12. Информационная безопасность 1. Не-айтишники не готовы принимать грамотные решения относительно

    доступов, работы с чувствительными данными и анализировать потенциальные дыры в безопасности. 2. Редко в low-code платформе есть аудит логина, полноценный контроль прав доступа к данным и API 3. Редко платформы дают возможность контроля SLA из коробки 4. Сама платформа может иметь уязвимости, которые нужно отслеживать и закрывать. Как снизить риск: 1. Обучить не-программистов основами кибер-безопасности 2. Выбрать в пользу платформы, которая имеет развитую систему анализа и мониторинга безопасности 3. Отслеживать потоки данных внутри платформы и в интеграциях 4. Уделить внимание службы безопасности на приложения, созданные на low-code платформах
  13. Отсутствует общий визуальный язык Обучение визуальному языку платформы стоит денег.

    При этом почти у каждой платформы свой визуальный язык: Enterprise Low-Code Application Platforms Reviews and Ratings Как снизить риск: 1. Выбор в пользу платформы, которая использует общепризнанную и распространенную нотацию
  14. Обучение пользователей стоит денег и времени 1. Каждой платформе надо

    научить 2. Каждая новая платформа требует нового обучения 3. У платформы должен быть хоть какой-то рынок специалистов, чтобы быстро набирать специалистов или заменять тех, кто уволился. Как снизить риск. При выборе платформы отдавать предпочтения следующим: 1. Существует рынок готовых специалистов 2. Есть курсы обучения и обновления знаний 3. Развитое комьюнити, например, много ответов на stackoverflow.
  15. Citizen Integrator занят основной работой Если у аналитика или менеджера

    проекта появилось время поиграть в автоматизацию, то он может сделать решения на платформе. Что происходит, когда он переключается на основную работу? Кто поддерживает решение? Кто обновляет? Что делать, если у него нет времени, а менять надо? Как снизить риск: 1. Заранее договориться о времени, которое сотрудник будет выделять на работу с low-code платформой 2. Заранее обговорить процедуру передачи решения от не-программиста тем, кто будет дальше развивать и поддерживать решение
  16. Скрытый рост Shadow IT Люди, которые не мыслят системами, будут

    делать локальные решения, которые не сложатся в стройную общую картину. Реинкарнация “Экселя”. Будет множество разрозненных решений, что ведет к удорожанию поддержки и развития. Как снизить риск: 1. Выделять время IT-архитектора на ревью решений, созданных не-программистами 2. Включать в архитектурный комитет вопросы создания продуктов на low-code 3. Договориться с не-программистами о границах их ответственности и процедуре запроса помощи в случае, если нужно принять сложное проектное решение
  17. Вход копейка, выход рубль 1. Если это коробка, то вероятен

    vendor lock. 2. Если собственная разработка, то будет необходимость постоянно выделять бюджет на поддержку и развитие платформы. Отказ от low-code платформы будет означать полное пересоздание ПО. Как снизить риск. При выборе платформы отдавать предпочтение следующим возможностям: 1. Использование своей инфраструктуры, чтобы снизить зависимость от платформы. 2. Выносить код за контур платформы, чтобы его можно было переиспользовать. 3. Имеет открытый исходный код.
  18. 1. Собственная платформа По мере эволюции IT- архитектуры часто компании

    доходят до оркестратора бизнес-процессов с визуальным интерфейсом
  19. Плюсы 1. Полностью управляете кодовой базой. 2. Расширение платформы безграничное

    и в нужном вам направлении. 3. Можно упаковать в продукт и продавать другим. Минусы 1. Чтобы создать платформу для программирования без программистов, нужны очень хорошие программисты и проектировщики. 2. Платформа не может остановиться на первой версии, поэтому команда будет разрабатывать платформу… всегда и платить этой команде нужно много и долго. 3. “Программисты” на платформе тоже получают зарплату. 4. Поддержка пользователей, организация их обучения новым версиям стоит денег.
  20. Плюсы 1. Получаем все преимущества визуальной разработки ПО. 2. Получаем

    преимущества обычной разработки (синяя линия) Минусы 1. Зависимость от платформы • Чтобы снизить риск берите opensource. 2. Необходимость обучения сотрудников этой платформе • Чтобы снизить затраты берите BPMN, ее многие знают
  21. 3. Backend-for-Frontend (BFF) Фронтендеры сами собирают сервис, который принимает и

    отправляет данные в платформу. Экономия на времени бэков.
  22. 4. Быстрый MVP Аналитик или менеджер создает MVP для проверки

    гипотезы. Если выстреливает и нужно дальнейшее увеличение фич или надежности - переписываем обычным способом.
  23. Чеклист выбора идеальной low-code платформы ❏ Автоматизированный рефакторинг визуальных элементов

    ❏ Поиск дублирования ❏ Возможностью убирать дублирование в “функции” ❏ Разрешение вести кодовую базу вне платформы ❏ Полноценная система контроля версий ❏ Полноценная система управления кибер- безопасностью ❏ Открытость к автотестам: unit-тесты, нагрузочное тестирование, e2e тестирование. ❏ Возможность использовать свои инструменты CI/CD, мониторинга, логирования ❏ Код в opensource ❏ Развитая система обучения, поддержка комьюнити, хорошая документация
  24. Ссылки 1. Gartner Says the Majority of Technology Products and

    Services Will Be Built by Professionals Outside of IT by 2024 2. 10 Challenges of Enterprise Low-code 3. Где и как применять low-code платформы 4. The ‘Problem’ With Low-Code (And How To Fix It) 5. What's Wrong with Low and No Code Platforms? 6. 8 signs your low-code platform is overpromising and underdelivering