Поделиться через


Разработка приложений для инновационных решений

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

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

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

Общий код

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

Широко используемый инструмент для управления репозиториями кода — GitHub, который позволяет быстро создавать общий репозиторий кода. Альтернативой является Microsoft Azure Repos, которая является службой Azure DevOps , которая предоставляет неограниченные частные репозитории, размещенные в облаке для вашего проекта. Для управления версиями при использовании Azure Repos, можно выбрать либо Git, который является распределенной системой, либо Team Foundation Version Control (TFVC), которая является централизованной. Дополнительные сведения о Azure Repos, Git и TFVC см. в документации по Azure Repos.

Разработчики-граждане

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

Разработчики-граждане — это пользователи, которые создают бизнес-приложения с помощью сред разработки и среды выполнения, санкционированных корпоративными ИТ-отделами. Использование разработчиков-граждан может помочь масштабировать усилия по разработке и ускорить раннее тестирование гипотез. Эта стратегия является жизнеспособной и эффективной, если ранние гипотезы можно проверить с помощью таких средств, как Power Apps для интерфейсов приложений, AI Builder для процессов и прогнозов, Power Automate для рабочих процессов и Power BI для использования данных.

Замечание

Если вы полагаетесь на разработчиков-граждан, чтобы проверить гипотезы, рекомендуется также иметь профессиональных разработчиков для поддержки, проверки и руководства работой. Специалисты могут помочь разработать надежный дизайн, который ускоряет возвращение инноваций. Привлекая профессиональных разработчиков в нужное время, вы можете реализовать более чистые переходы позже.

Интеллектуальный опыт

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

Современные веб-приложения

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

Добавление аналитики

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

  • Преобразование речи в текст
  • Преобразование текста в речь
  • Компьютерное зрение
  • Визуальный поиск
  • Прогнозный ИИ

Новаторы должны быть оповещены, чтобы воспользоваться такими функциями, чтобы создать интерактивный и современный интерфейс.

Боты

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

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

Облачные решения

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

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

Внедрение инноваций с помощью существующих решений

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

Большинство форм модернизации, включая рефакторинг, включены в методологию миграции в рамках Cloud Adoption Framework. Эта методология направляет команды по адаптации облачных технологий в процессе переноса цифровых активов в облако. Руководство по миграции Azure обеспечивает упрощенный подход к той же методологии, которая подходит для небольшого количества рабочих нагрузок или даже для одного приложения.

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

Расширение существующего решения

Расширение решения является одной из распространенных форм модернизации. Это может быть самый быстрый путь к инновациям, когда следующие верны гипотезе клиента:

  • Существующая бизнес-логика соответствует потребностям клиентов или приближается к потребностям клиентов.
  • Улучшенный интерфейс, а не новый, лучше всего соответствует потребностям клиентов.
  • Бизнес-логика, требуемая минимально жизнеспособного продукта (MVP), была централизована, обычно с помощью многоуровневой архитектуры, веб-служб, API или микросервисов. Этот подход состоит из упаковки существующего решения в новом интерфейсе, размещенном в облаке. В Azure это решение, скорее всего, будет жить в Службе приложений Azure.

Перестроение существующего решения

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

Осторожность

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

Инновации в операционной модели

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

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

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

Сокращение затрат и управления

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

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

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

Дальнейшие действия

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