Coinvolgimento tramite applicazioniEngage via applications

Come descritto in democratizzazione dei dati, i dati sono il nuovo olio.As discussed in Democratize data, data is the new oil. Alimenta la maggior parte delle innovazioni nell'economia digitale.It fuels most innovations across the digital economy. Basandosi su tale analogia, le applicazioni sono le stazioni di carburante e l'infrastruttura necessarie per ottenere tale carburante nelle mani giuste.Building on that analogy, applications are the fueling stations and infrastructure required to get that fuel into the right hands.

In alcuni casi, i dati da soli sono sufficienti per apportare modifiche e soddisfare le esigenze dei clienti.In some cases, data alone is enough to drive change and meet customer needs. In genere, tuttavia, le soluzioni per le esigenze dei clienti richiedono che le applicazioni formino i dati e creino un'esperienza.More commonly though, solutions to customer needs require applications to shape the data and create an experience. Le applicazioni sono la modalità di coinvolgimento dell'utente e della Home page dei processi richiesti per rispondere ai trigger dei clienti.Applications are the way we engage the user and the home for the processes required to respond to customer triggers. Le applicazioni rappresentano il modo in cui i clienti forniscono i dati e ricevono informazioni aggiuntive.Applications are how customers provide data and receive guidance. Questo articolo riepiloga diversi principi che consentono di allinearsi alla soluzione di applicazione corretta, in base alle ipotesi da convalidare.This article summarizes several principles that can help align you with the right application solution, based on the hypotheses to be validated.

Coinvolgimento tramite applicazioni

Codice condivisoShared code

I team che rispondono in modo più rapido e accurato ai suggerimenti dei clienti, alle modifiche al mercato e alle opportunità di innovazione in genere portano i rispettivi mercati nell'innovazione.Teams that more quickly and accurately respond to customer feedback, market changes, and opportunities to innovate typically lead their respective markets in innovation. Il primo principio di applicazioni innovative viene riepilogato nella panoramica sulla tendenza alla crescita: "condividere il codice".The first principle of innovative applications is summed up in the growth mindset overview: "Share the code." Nel tempo, l'innovazione emerge da uno stato attivo culturale.Over time, innovation emerges from a cultural focus. Per sostenere l'innovazione, sono necessari diversi punti di vista e contributi.To sustain innovation, diverse perspectives and contributions are required.

Per essere pronti per l'innovazione, tutto lo sviluppo di applicazioni dovrebbe iniziare con un repository di codice condiviso.To be ready for innovation, all application development should start with a shared code repository. Lo strumento più usato per la gestione dei repository di codice è GitHub, che consente di creare rapidamente un repository di codice condiviso.The most widely adopted tool for managing code repositories is GitHub, which allows you to create a shared code repository quickly. In alternativa, Azure Repos è un set di strumenti di controllo della versione in Azure DevOps Services che è possibile usare per gestire il codice.Alternatively, Azure Repos is a set of version control tools in Azure DevOps Services that you can use to manage your code. Azure Repos fornisce due tipi di controllo della versione:Azure Repos provides two types of version control:

Sviluppatori non professionistiCitizen developers

Gli sviluppatori professionisti sono un componente fondamentale dell'innovazione.Professional developers are a vital component of innovation. Quando un'ipotesi dimostra un'accuratezza su larga scala, gli sviluppatori professionisti sono tenuti a stabilizzare e preparare la soluzione per la scalabilità.When a hypothesis proves accurate at scale, professional developers are required to stabilize and prepare the solution for scale. La maggior parte dei principi a cui si fa riferimento in questo articolo richiede il supporto di sviluppatori professionisti.Most of the principles referenced in this article require support from professional developers. Sfortunatamente, le tendenze correnti suggeriscono una maggiore domanda per gli sviluppatori professionisti rispetto agli sviluppatori.Unfortunately, current trends suggest there's a greater demand for professional developers than there are developers. Inoltre, il costo e la velocità dell'innovazione possono essere meno favorevoli quando si ritiene necessario lo sviluppo professionale.Moreover, the cost and pace of innovation can be less favorable when professional development is deemed necessary. In risposta a tali problemi, gli sviluppatori di cittadini forniscono un modo per ridimensionare le attività di sviluppo e accelerare i test di ipotesi iniziali.In response to these challenges, citizen developers provide a way to scale development efforts and accelerate early hypothesis testing.

L'uso di sviluppatori di cittadini può essere utile ed efficace quando è possibile convalidare le ipotesi iniziali tramite strumenti come Power Apps per le interfacce di applicazioni, i costruttori di intelligenza artificiale per i processi e le stime, l' automazione automatica Microsoft per i flussi di lavoro e Power bi per l'utilizzo dei dati.The use of citizen developers can be viable and effective when early hypotheses can be validated through tools like Power Apps for application interfaces, AI Builder for processes and predictions, Microsoft Power Automate for workflows, and Power BI for data consumption.

Nota

Quando si fa affidamento sugli sviluppatori di cittadini per testare le ipotesi, è consigliabile avere a disposizione alcuni sviluppatori professionisti per fornire supporto, revisione e istruzioni.When you rely on citizen developers to test hypotheses, it's advisable to have some professional developers on hand to provide support, review, and guidance. Dopo che un'ipotesi è stata convalidata su larga scala, un processo per la transizione dell'applicazione in un modello di programmazione più affidabile accelererà i ritorni sull'innovazione.After a hypothesis is validated at scale, a process for transitioning the application into a more robust programming model will accelerate returns on the innovation. Coinvolgendo gli sviluppatori professionisti nelle definizioni dei processi in anticipo, è possibile realizzare transizioni più pulite in un secondo momento.By involving professional developers in process definitions early on, you can realize cleaner transitions later.

Esperienze intelligentiIntelligent experiences

Esperienze intelligenti combinano la velocità e la scalabilità delle applicazioni Web moderne con l'intelligence di servizi cognitivi e bot.Intelligent experiences combine the speed and scale of modern web applications with the intelligence of Cognitive Services and bots. Da solo, ciascuna di queste tecnologie potrebbe essere sufficiente per soddisfare le esigenze dei clienti.Alone, each of these technologies might be sufficient to meet your customers' needs. Quando vengono combinate in modo intelligente, ampliano la gamma di esigenze che possono essere soddisfatte tramite un'esperienza digitale, contribuendo al contempo a contenere i costi di sviluppo.When smartly combined, they broaden the spectrum of needs that can be met through a digital experience, while helping to contain development costs.

App Web moderneModern web apps

Quando un'applicazione o un'esperienza è necessaria per soddisfare le esigenze dei clienti, le applicazioni Web moderne possono essere il modo più rapido per iniziare.When an application or experience is required to meet a customer need, modern web applications can be the fastest way to go. Le esperienze Web moderne possono coinvolgere rapidamente i clienti interni o esterni e consentire un'iterazione rapida della soluzione.Modern web experiences can engage internal or external customers quickly and allow for rapid iteration on the solution.

Infondere intelligenzaInfusing intelligence

Machine Learning e intelligenza artificiale sono sempre più disponibili per gli sviluppatori.Machine learning and AI are increasingly available to developers. La disponibilità ampia di API comuni con funzionalità predittive consente agli sviluppatori di soddisfare al meglio le esigenze del cliente tramite l'accesso espanso ai dati e alle stime.The wide-spread availability of common APIs with predictive capabilities allows developers to better meet the needs of the customer through expanded access to data and predictions.

L'aggiunta di informazioni di intelligence a una soluzione può consentire il riconoscimento vocale, la traduzione testuale, Visione artificiale e persino la ricerca visiva.Adding intelligence to a solution can enable speech to text, text translation, Computer Vision, and even visual search. Con queste funzionalità espanse, è più facile per gli sviluppatori creare soluzioni che sfruttano i vantaggi dell'Intelligence per creare un'esperienza interattiva e moderna.With these expanded capabilities, it's easier for developers to build solutions that take advantage of intelligence to create an interactive and modern experience.

BotBots

I bot offrono un'esperienza simile a quella di un computer e più simili alla gestione di una persona, almeno con un robot intelligente.Bots provide an experience that feels less like using a computer and more like dealing with a person — at least with an intelligent robot. Possono essere usati per spostare attività semplici e ripetitive, ad esempio la prenotazione di una cena o la raccolta di informazioni sul profilo, su sistemi automatizzati che potrebbero non richiedere più l'intervento umano diretto.They can be used to shift simple, repetitive tasks (such as making a dinner reservation or gathering profile information) onto automated systems that might no longer require direct human intervention. Gli utenti si conversano con un bot tramite testo, schede interattive e sintesi vocale.Users converse with a bot through text, interactive cards, and speech. Un'interazione bot può variare da una rapida domanda e risposta a una conversazione sofisticata che fornisce in modo intelligente l'accesso ai servizi.A bot interaction can range from a quick question-and-answer to a sophisticated conversation that intelligently provides access to services.

I bot sono molto simili alle applicazioni Web moderne: vivono su Internet e usano le API per inviare e ricevere messaggi.Bots are a lot like modern web applications: they live on the internet and use APIs to send and receive messages. Il contenuto di un bot varia notevolmente a seconda del tipo di bot.What's in a bot varies widely depending on what kind of bot it is. Il software per bot moderni si basa su uno stack di tecnologie e strumenti per offrire esperienze sempre più complesse su diverse piattaforme.Modern bot software relies on a stack of technology and tools to deliver increasingly complex experiences on a variety of platforms. Un bot semplice può tuttavia semplicemente ricevere un messaggio e inviarlo di nuovo all'utente con la necessità di pochissimo codice.However, a simple bot could just receive a message and echo it back to the user with very little code involved.

I bot possono eseguire le stesse operazioni di altri tipi di software: leggere e scrivere file, usare database e API e gestire attività di calcolo regolari.Bots can do the same things as other types of software: read and write files, use databases and APIs, and handle regular computational tasks. La peculiarità dei bot risiede nell'uso di meccanismi generalmente riservati alla comunicazione tra esseri umani.What makes bots unique is their use of mechanisms generally reserved for human-to-human communication.

Soluzioni native del cloudCloud-native solutions

Le applicazioni native del cloud vengono create da zero e sono ottimizzate per la scalabilità e le prestazioni del cloud.Cloud-native applications are built from the ground up, and they're optimized for cloud scale and performance. Le applicazioni native del cloud vengono in genere create usando approcci basati su microservizi, senza server, basati su eventi o basati su contenitori.Cloud-native applications are typically built using a microservices, serverless, event-based, or container-based approaches. In genere, le soluzioni native del cloud usano una combinazione di architetture di microservizi, servizi gestiti e recapito continuo per ottenere affidabilità e tempi di immissione sul mercato più rapidi.Most commonly, cloud-native solutions use a combination of microservices architectures, managed services, and continuous delivery to achieve reliability and faster time to market.

Una soluzione nativa del cloud consente ai team di sviluppo centralizzati di mantenere il controllo della logica di business senza la necessità di soluzioni monolitiche e centralizzate.A cloud-native solution allows centralized development teams to maintain control of the business logic without the need for monolithic, centralized solutions. Questo tipo di soluzione crea anche un ancoraggio per garantire la coerenza tra l'input degli sviluppatori cittadini e le esperienze moderne.This type of solution also creates an anchor to drive consistency across the input of citizen developers and modern experiences. Infine, le soluzioni native del cloud offrono un acceleratore di innovazione liberando gli sviluppatori di cittadini e professionisti per l'innovazione in modo sicuro e con un minimo di blocchi.Finally, cloud-native solutions provide an innovation accelerator by freeing citizen and professional developers to innovate safely and with a minimum of blockers.

Innovazione attraverso le soluzioni esistentiInnovate through existing solutions

Molte ipotesi dei clienti possono essere distribuite in modo ottimale da una versione modernizzata di una soluzione esistente.Many customer hypotheses can best be delivered by a modernized version of an existing solution. Quando la logica di business corrente soddisfa le esigenze dei clienti (o si avvicina molto), potrebbe essere possibile accelerare l'innovazione basandosi su una soluzione moderna.When the current business logic meets customer needs (or comes really close), you might be able to accelerate innovation by building on top of a modernized solution.

La maggior parte delle forme di modernizzazione, incluso il lieve refactoring dell'applicazione, è inclusa nella metodologia di migrazione all'interno del Framework di adozione del cloud.Most forms of modernization, including slight refactoring of the application, are included in the Migrate methodology within the Cloud Adoption Framework. Questa metodologia guida i team di adozione del cloud attraverso il processo di migrazione di un patrimonio digitale al cloud.That methodology guides cloud adoption teams through the process of migrating a digital estate to the cloud. La Guida alla migrazione di Azure fornisce un approccio semplificato alla stessa metodologia, ideale per un numero ridotto di carichi di lavoro o anche per una singola applicazione.The Azure migration guide provides a streamlined approach to the same methodology, which is suitable for a small number of workloads or even a single application.

Dopo la migrazione e la modernizzazione di una soluzione, è possibile usare diversi modi per creare nuove soluzioni innovative per le esigenze dei clienti.After a solution has been migrated and modernized, there are a variety of ways it can be used to create new, innovative solutions to customer needs. Ad esempio, gli sviluppatori di cittadini possono testare le ipotesi oppure gli sviluppatori professionisti possono creare esperienze intelligenti o soluzioni native del cloud.For example, citizen developers could test hypotheses, or professional developers could create intelligent experiences or cloud-native solutions.

Estendi una soluzione esistenteExtend an existing solution

L'estensione di una soluzione è una forma comune di modernizzazione.Extending a solution is one common form of modernization. Questo approccio può essere il percorso più veloce per l'innovazione quando si verificano le ipotesi seguenti:This is approach can be the fastest path to innovation when the following are true of the customer hypothesis:

  • La logica di business esistente deve soddisfare la necessità del cliente esistente (o si avvicina alla riunione).Existing business logic should meet (or comes close to meeting) the existing customer need.
  • Un'esperienza migliorata può soddisfare meglio le esigenze di una coorte di clienti specifica.An improved experience would better meet the needs of a specific customer cohort.
  • La logica di business richiesta dalla soluzione (MVP) di prodotto minimo è stata centralizzata, in genere tramite una progettazione a più livelli, servizi Web, API o microservizi .The business logic required by the minimum viable product (MVP) solution has been centralized, usually via an n-tier, web services, API, or microservices design. Questo approccio è costituito dal wrapping della soluzione esistente in una nuova esperienza ospitata nel cloud.This approach consists of wrapping the existing solution within a new experience hosted in the cloud. In Azure è probabile che questa soluzione risieda nel servizio app Azure.In Azure, this solution would likely live in Azure App Service.

Ricompilare una soluzione esistenteRebuild an existing solution

Se un'applicazione non può essere facilmente estesa, potrebbe essere necessario effettuare il refactoring della soluzione.If an application can't be easily extended, it may be necessary to refactor the solution. Con questo approccio, viene eseguita la migrazione del carico di lavoro nel cloud.In this approach, the workload is migrated to the cloud. Dopo la migrazione dell'applicazione, le parti vengono modificate o duplicate, come servizi Web o microservizi, che vengono distribuite in parallelo con la soluzione esistente.After the application is migrated, parts of it are modified or duplicated, as web services or microservices, which are deployed in parallel with the existing solution. La soluzione basata su servizi paralleli potrebbe essere considerata come una soluzione estesa.The parallel service-based solution could be treated like an extended solution. Questa soluzione esegue semplicemente il wrapping della soluzione esistente con una nuova esperienza ospitata nel cloud.This solution would simply wrap the existing solution with a new experience hosted in the cloud. In Azure è probabile che questa soluzione risieda nel servizio app Azure.In Azure, this solution would likely live in Azure App Service.

Attenzione

Il refactoring o la riprogettazione di soluzioni o la centralizzazione della logica di business può attivare rapidamente un picco tecnico che richiede molto tempo anziché un'origine del valore del cliente.Refactoring or rearchitecting solutions or centralizing business logic can quickly trigger a time-consuming technical spike instead of a source of customer value. Si tratta di un rischio per l'innovazione, soprattutto in fase di convalida dell'ipotesi.This is a risk to innovation, especially early in hypothesis validation. Con un po' di creatività nella progettazione di una soluzione, dovrebbe esistere un percorso di MVP che non richiede il refactoring delle soluzioni esistenti.With a bit of creativity in the design of a solution, there should be a path to MVP that doesn't require refactoring of existing solutions. È consigliabile ritardare il refactoring fino a quando l'ipotesi iniziale non può essere convalidata su larga scala.It's wise to delay refactoring until the initial hypothesis can be validated at scale.

Innovazioni del modello operativoOperating model innovations

Oltre agli approcci innovativi moderni per la creazione di applicazioni, sono state apportate importanti innovazioni nelle operazioni dell'applicazione.In addition to modern innovative approaches to application creation, there have been notable innovations in application operations. Questi approcci hanno generato molti movimenti organizzativi.These approaches have spawned many organizational movements. Uno dei più importanti è il centro cloud di eccellenza del modello operativo.One of the most prominent is the cloud center of excellence operating model. Una volta completati e maturi, i team aziendali hanno la possibilità di fornire il proprio supporto operativo per una soluzione.When fully staffed and mature, business teams have the option to provide their own operational support for a solution.

Il tipo di modello di gestione operativa self-service disponibile in un cloud Center of Excellence consente controlli più rigorosi e iterazioni più veloci nell'ambiente della soluzione.The type of self-service operational management model found in a cloud center of excellence allows for tighter controls and faster iterations within the solution environment. Questi obiettivi vengono eseguiti trasferendo il controllo operativo e la responsabilità al team aziendale.These goals are accomplished by transferring operational control and accountability to the business team.

Se si sta provando a ridimensionare o soddisfare la domanda globale per una soluzione esistente, questo approccio potrebbe essere sufficiente per convalidare un'ipotesi del cliente.If you're trying to scale or meet global demand for an existing solution, this approach might be sufficient to validate a customer hypothesis. Una volta eseguita la migrazione di una soluzione e leggermente modernizzata, il team aziendale può ridimensionarlo per testare una varietà di ipotesi.After a solution is migrated and slightly modernized, the business team can scale it to test a variety of hypotheses. Che in genere coinvolgono le coorti dei clienti che riguardano le prestazioni, la distribuzione globale e altre esigenze del cliente ostacolate dalle operazioni IT.These typically involve customer cohorts who are concerned with performance, global distribution, and other customer needs hindered by IT operations.

Riduzione del sovraccarico e della gestioneReduce overhead and management

Maggiore è la manutenzione in una soluzione, più lenta sarà l'iterazione della soluzione.The more there is to maintain within a solution, the slower that solution will iterate. Ciò significa che è possibile accelerare l'innovazione riducendo l'effetto delle operazioni sulla larghezza di banda disponibile.This means you can accelerate innovation by reducing the impact of operations on available bandwidth.

Per preparare le numerose iterazioni necessarie per fornire una soluzione innovativa, è importante pensare in anticipo.To prepare for the many iterations required to deliver an innovative solution, it's important to think ahead. Ad esempio, ridurre al minimo i costi operativi iniziali del processo privilegiando le opzioni senza server.For example, minimize operational burdens early in the process by favoring serverless options. In Azure le opzioni per le applicazioni senza server possono includere app Azure servizio o contenitori.In Azure, serverless application options could include Azure App Service or containers.

In parallelo, Azure offre opzioni di dati di transazione senza server che riducono anche l'overhead.In parallel, Azure provides serverless transaction data options that also reduce overhead. Il Catalogo dei prodotti di Azure fornisce opzioni di database che ospitano i dati senza la necessità di una piattaforma di dati completa.The Azure product catalog provides database options that host data without the need for a full data platform.

Passaggi successiviNext steps

A seconda dell'ipotesi e della soluzione, i principi in questo articolo possono essere utili per la progettazione di applicazioni che soddisfano le definizioni MVP e coinvolgono gli utenti.Depending on the hypothesis and solution, the principles in this article can aid in designing applications that meet MVP definitions and engage users. I principi successivi sono i principi per l' adozione dell'adozione, che offrono modi per rendere l'applicazione e i dati in mano ai clienti in modo più rapido ed efficiente.Up next are the principles for empowering adoption, which offer ways to get the application and data into the hands of customers more quickly and efficiently.