Vývoj aplikací pro inovativní aplikaceApplication development for innovative apps

Jak je popsáno v tématu Demokratizujte data s digitálním vynálezem, data se z nich nejvíce inovací v rámci digitální ekonomiky.As discussed in Democratize data with digital invention, data fuels most innovations across the digital economy. V takovém případě jsou aplikace na těchto analogických stanicích a infrastruktura nutná k získání tohoto paliva do správných rukou.Building on that analogy, applications are the fueling stations and infrastructure required to get that fuel into the right hands.

V některých případech je k dispozici pouze data pro změnu a splnění potřeb zákazníků.In some cases, data alone is enough to drive change and meet customer needs. Častěji než v případě, že řešení pro zákazníky potřebují aplikace k tvarování dat a vytvoření prostředí.More commonly though, solutions to customer needs require applications to shape the data and create an experience. Inovativní aplikace spolu s uživatelem spolupracují a poskytují informace a doprovodné materiály.Innovative applications engage and interact with the user, providing information and guidance. Tento článek shrnuje několik principů, které vám pomůžou najít správné řešení pro vývoj aplikací na základě hypotézy, která se má ověřit.This article summarizes several principles that can help you find the right application development solution, based on the hypotheses to be validated.

Diagram znázorňuje prvky, které vám pomůžou vytvořit aplikaci, která nabízí prostředí pro zákazníky, kteří vyhovují jejich potřebám.

Sdílený kódShared code

Týmy, které mají rychlou reakci na zpětnou vazbu od zákazníků, změny v trhu a příležitosti, se obvykle doporučuje inovovat.Teams that are quick to respond to customer feedback, market changes, and opportunities typically innovate best. První princip inovativních aplikací je prvkem růstu místo: "sdílet kód."The first principle of innovative applications is an element of the growth mindset: "Share the code." Sdílení kódu vyzývá různé perspektivy a příspěvky a Spurs inovace.Code sharing invites diverse perspectives and contributions, and spurs innovation. Proto by vývoj aplikací měl začít se sdíleným úložištěm kódu.Therefore, application development should start with a shared code repository.

Široce přijatý Nástroj pro správu úložišť kódu je GitHub, který umožňuje rychlé vytvoření sdíleného úložiště kódu.A widely adopted tool for managing code repositories is GitHub, which allows you to create a shared code repository quickly. Alternativou je Microsoft Azure úložišť, což je služba Azure DevOps , která poskytuje neomezená soukromá úložiště hostovaná v cloudu pro váš projekt.An alternative is Microsoft Azure Repos, which is an Azure DevOps service that provides unlimited, cloud-hosted private repos for your project. Pro správu verzí při použití Azure Repos můžete zvolit buď Git, který je distribuovaný typ, nebo Správa verzí Team Foundation (TFVC), který je centralizovaný.For version control when you use Azure Repos, you can choose either Git, which is a distributed type, or Team Foundation Version Control (TFVC), which is centralized. Další informace o Azure Repos, Gitu a TFVC najdete v dokumentaci k Azure Repos.For more information about Azure Repos, Git, and TFVC, see Azure Repos Documentation.

Vývojáři služeb pro občanyCitizen developers

Pro inovace jsou důležité profesionální vývojáři.Professional developers are important to innovation. V případě, že hypotéza prokáže přesné škálování, může řešení stabilizovat a připravit pro škálování.When a hypothesis proves accurate at scale, they can stabilize the solution and prepare it for scale. Profesionální vývojáři můžou být v krátkém zásobování a profesionální vývoj může zvýšit náklady a zpomalit inovace.Unfortunately, professional developers may be in short supply, and professional development can increase costs and slow innovation.

Vývojáři občana jsou uživatelé, kteří vytvářejí nové obchodní aplikace pomocí prostředí pro vývoj a modul runtime schváleného podnikovým IT.Citizen developers are users who create new business applications using development and runtime environments sanctioned by corporate IT. Použití vývojářů občanů může přispět ke škálování úsilí při vývoji a urychlení testování hypotéz.The use of citizen developers can help to scale development efforts and accelerate early hypothesis testing. Tato strategie je životaschopná a efektivní, pokud je možné provést ověření počáteční hypotézy prostřednictvím nástrojů, jako jsou Power Apps pro aplikační rozhraní, Tvůrce AI pro procesy a předpovědi, automatizaci pracovních postupů a Power BI pro spotřebu dat.This strategy is viable and effective when early hypotheses can be validated through tools like Power Apps for application interfaces, AI Builder for processes and predictions, Power Automate for workflows, and Power BI for data consumption.

Poznámka

Když spoléháte na vývojáře občanů na testování hypotézy, je vhodné také profesionálním vývojářům, aby mohli podporovat, kontrolovat a řídit práci.When you rely on citizen developers to test hypotheses, it's advisable to also have professional developers to support, review, and guide the work. Odborníci mohou přispět k vývoji robustního návrhu, který zrychluje návratnost inovací.The professionals can help develop a robust design that accelerates returns on the innovation. Díky zapojení profesionálních vývojářů ve správný čas můžete později realizovat přechody čisticích přechodů.By involving professional developers at the right time, you can realize cleaner transitions later.

Inteligentní prostředíIntelligent experiences

Inteligentní prostředí kombinují rychlost a škálování moderních webových aplikací s využitím inteligentních služeb a roboty.Intelligent experiences combine the speed and scale of modern web applications with the intelligence of cognitive services and bots. Každá z těchto technologií může stačit pro splnění potřeb vašich zákazníků.Alone, each of these technologies might be sufficient to meet your customers' needs. V případě, že jsou správně kombinovány, rozšiřují spektrum potřeb, které je možné dosáhnout pomocí digitálního prostředí, a současně pomáhají s náklady na vývoj aplikací.When properly combined, they broaden the spectrum of needs that can be met through a digital experience, while helping to contain application development costs.

Moderní webové aplikaceModern web apps

Moderní webové aplikace můžou být nejrychlejší způsob, jak vyhovět potřebám interních nebo externích zákazníků.Modern web applications can be the fastest way to meet the needs of internal or external customers. Prostředí, která poskytují, můžou snadno zapojit zákazníky a umožnit rychlý vývoj řešení.The experiences they provide can engage customers quickly and allow for rapid evolution of the solution.

Přidání inteligentních funkcíAdding intelligence

Umožňuje vývojářům v profesionálním a občanům snadno přidat funkce strojového učení a AI do aplikací, které pomůžou splnit potřeby zákazníka a vytvořit interaktivní prostředí.It gets easier all the time for professional and citizen developers to add machine learning and AI features to applications that help meet the needs of the customer and create an interactive experience. Mezi tyto funkce patří:Some examples of these features are:

  • Řeč na textSpeech to text
  • Text na řečText to speech
  • Počítačové zpracování obrazuComputer vision
  • Vizuální vyhledáváníVisual search
  • Prediktivní AIPredictive AI

Při vytváření interaktivního a moderního prostředí by měly být na základě těchto funkcí upozorněni.Innovators should be alert to take advantage of such features to create an interactive and modern experience.

RobotiBots

Robot je aplikace s konverzací AI, která uživatelům poskytuje prostředí, které je více podobné jako při práci s určitou osobou, a menší, jako při práci s konvenční počítačovou aplikací.A bot is a conversational AI application that provides users an experience that is more like dealing with a person, and less like dealing with a conventional computer application. Uživatelé přejdou pomocí robota přes text, interaktivní karty a řeč.Users converse with a bot through text, interactive cards, and speech. Interakce robota může být v rozsahu od rychlé otázky a odpovědi, aby se mohla provést rezervace na večeři – například na sofistikovanou konverzaci, která inteligentně poskytuje přístup ke službám.A bot interaction can range from a quick question-and-answer—to make a dinner reservation, for instance—to a sophisticated conversation that intelligently provides access to services.

Roboty můžou dělat stejné věci jako jiné typy softwaru: číst a zapisovat soubory, používat databáze a rozhraní API a zpracovávat běžné výpočetní úlohy.Bots can do the same things as other types of software: read and write files, use databases and APIs, and handle regular computational tasks. To znamená, že roboty jedinečný je jejich použití mechanismů všeobecně rezervovaných pro komunikaci ze lidského na člověka.What makes bots unique is their use of mechanisms generally reserved for human-to-human communication. Roboty je velmi podobné moderní webové aplikace: jsou živé na internetu a využívají rozhraní API k posílání a přijímání zpráv.Bots are a lot like modern web applications: they live on the internet and use APIs to send and receive messages. To, co je v robotu, se velmi liší v závislosti na tom, jaký druh robota je.What's in a bot varies widely depending on what kind of bot it is. Moderní software bot spoléhá na nejrůznější technologie a nástroje, které vám umožní zajistit stále složitá prostředí na různých platformách.Modern bot software relies on a stack of technology and tools to deliver increasingly complex experiences on a variety of platforms. Jednoduchý robot však může pouze obdržet zprávu a vrátit ji zpět uživateli s velmi malým kódem.However, a simple bot could just receive a message and echo it back to the user with very little code involved.

Nativní řešení clouduCloud-native solutions

Architektura nativní pro Cloud umožňuje využít rychlou změnu a snadněji spouštět odolné a škálovatelné aplikace.Cloud-native architecture enables you to embrace rapid change, and run resilient and scalable applications more easily. Nativní aplikace pro Cloud jsou obvykle sestavené pomocí kontejnerů, mikroslužeb, spravovaných služeb, funkcí bez serveru a programování založeného na událostech.Cloud-native applications are typically built using containers, microservices, managed services, serverless functions, and event-based programming. Nejčastěji cloudová řešení využívají nepřetržité doručování, aby dosáhli rychlejšího uvedení na trh.Most commonly, cloud-native solutions use continuous delivery to achieve faster time to market.

Řešení nativní pro Cloud umožňuje centralizovaným vývojářským týmům udržovat kontrolu nad obchodní logikou bez nutnosti monolitické, centralizovaného řešení.A cloud-native solution allows centralized development teams to maintain control of the business logic without the need for monolithic, centralized solutions. Vytvoří také kotvu pro zajištění konzistence v rámci vstupu občanů a moderních prostředí.It also creates an anchor to drive consistency across the input of citizen developers and modern experiences. V konečném případě cloudová řešení poskytují akcelerátor pro inovace, který uvolňuje občany a profesionální vývojáři k bezpečnému a minimálnímu blokování.Finally, cloud-native solutions provide an innovation accelerator by freeing citizen and professional developers to innovate safely and with a minimum of blockers.

Inovovat prostřednictvím stávajících řešeníInnovate through existing solutions

Mnoho zákaznických hypotéz se dá nejlépe doručovat moderní verzí stávajícího řešení.Many customer hypotheses can best be delivered by a modernized version of an existing solution. K tomu může dojít, když se aktuální obchodní logika blíží k uspokojení potřeb zákazníků.This can happen when the current business logic comes close to meeting customer needs.

V rámci metodologie migrace v rámci architektury pro přijetí do cloudu jsou zahrnuty většina forem modernizace, včetně refaktoringu.Most forms of modernization, including refactoring, are included in the Migrate methodology within the Cloud Adoption Framework. Tato metodologie provede týmy při přijímání cloudu prostřednictvím procesu migrace digitální nemovitosti do cloudu.That methodology guides cloud adoption teams through the process of migrating a digital estate to the cloud. Průvodce migrací do Azure poskytuje zjednodušený přístup ke stejné metodologii, která je vhodná pro malý počet úloh nebo i pro jednu aplikaci.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.

Po migraci a modernizaci řešení existuje mnoho způsobů, jak se dá použít k vytvoření nových, inovativních aplikačních řešení pro splnění potřeb zákazníků.After a solution has been migrated and modernized, there are a variety of ways it can be used to create new, innovative application solutions to meet customer needs. Vývojáři občanů můžou například testovat hypotézu nebo profesionální vývojáři můžou vytvářet inteligentní prostředí nebo řešení nativní pro Cloud.For example, citizen developers could test hypotheses, or professional developers could create intelligent experiences or cloud-native solutions.

Rozšiřování existujícího řešeníExtend an existing solution

Rozšíření řešení je jedna běžná forma modernizace.Extending a solution is one common form of modernization. Může se jednat o nejrychlejší cestu k inovacím, pokud jsou splněny následující podmínky pro zákazníka hypotézy:This can be the fastest path to innovation when the following are true of the customer hypothesis:

  • Stávající obchodní logika splňuje nebo se blíží potřebám zákazníků.Existing business logic meets or comes close to customer needs.
  • Vylepšené prostředí, které nepředstavuje nové, nejlépe vyhovuje potřebám zákazníků.An improved experience, not a new one, best meets the needs of customers.
  • Obchodní logika vyžadovaná řešením pro minimální životaschopné produkty (MVP) byla centralizovaná, obvykle prostřednictvím n-vrstvých, webových služeb, rozhraní API nebo návrhu mikroslužeb .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. Tento přístup se skládá z balení stávajícího řešení v rámci nového prostředí hostovaného v cloudu.This approach consists of wrapping the existing solution within a new experience hosted in the cloud. V Azure by toto řešení po Azure App Servicemohlo být živé.In Azure, this solution would likely live in Azure App Service.

Opětovné sestavení stávajícího řešeníRebuild an existing solution

Pokud existující řešení splňuje nebo je blízko splnění zákaznických potřeb, ale nedá se snadno rozšířit, může být nutné ho Refaktorovat.If an existing solution meets or comes close to meeting customer needs, but can't be easily extended, it may be necessary to refactor it. V tomto přístupu se aplikace migruje do cloudu.In this approach, the application is migrated to the cloud. Po migraci aplikace se její části upraví nebo duplikují jako webové služby nebo mikroslužby, které jsou nasazeny paralelně s existujícím řešením.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. Řešení založené na paralelních službách by se mohlo nakládat jako s rozšířeným řešením.The parallel service-based solution could be treated like an extended solution. Toto řešení jednoduše zabalí stávající řešení s novým prostředím hostovaným v cloudu.This solution would simply wrap the existing solution with a new experience hosted in the cloud. V Azure by toto řešení po Azure App Service mohlo být živé.In Azure, this solution would likely live in Azure App Service.

Upozornění

Refaktoring nebo přeplánování řešení nebo centralizované obchodní logiky může rychle aktivovat časově náročné technické špičky namísto zdroje hodnot zákazníků.Refactoring or rearchitecting solutions or centralizing business logic can quickly trigger a time-consuming technical spike instead of a source of customer value. Toto je riziko pro inovace, zejména v rané fázi ověřování hypotéz.This is a risk to innovation, especially early in hypothesis validation. V rámci navrhování řešení by měl být v rámci návrhu řešení k dispozici cesta k MVP, která nevyžaduje refaktoring stávajících řešení.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. Je vhodné zpozdit refaktoring, dokud se nebudete moct na škálování počáteční hypotézy ověřit.It's wise to delay refactoring until the initial hypothesis can be validated at scale.

Inovace operačního modeluOperating model innovations

Kromě moderních inovativních přístupů k vývoji aplikací byly v provozu aplikace významné inovace.In addition to modern innovative approaches to application development, there have been notable innovations in application operations. Tyto přístupy vytvářely mnoho organizačních přesunů.These approaches have spawned many organizational movements. Jedním z nejvýraznějších z nich je cloudové centrum vynikajícího provozního modelu.One of the most prominent is the cloud center of excellence operating model. V případě plně pedagogů a vyspělých obchodních týmů máte možnost poskytovat si vlastní provozní podporu pro řešení.When fully staffed and mature, business teams have the option to provide their own operational support for a solution.

Typ modelu samoobslužné správy, který najdete v cloudovém centru špičkových služeb, umožňuje užší řízení a rychlejší iterace v rámci prostředí řešení.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. Tyto cíle se dosahují tak, že přenáší provozní kontrolu a odpovědnost na obchodní tým.These goals are accomplished by transferring operational control and accountability to the business team.

Pokud se snažíte škálovat nebo splnit globální poptávku v existujícím řešení, může být tento přístup dostačující pro ověření zákaznických předpokladů.If you're trying to scale or meet global demand for an existing solution, this approach might be sufficient to validate a customer hypothesis. Po migraci řešení a mírné modernizaci může obchodní tým škálovat IT a testovat celou řadu hypotéz.After a solution is migrated and slightly modernized, the business team can scale it to test a variety of hypotheses. Obvykle zahrnují zákazníky, kteří mají obavy o výkon, globální distribuci a jiné potřeby zákazníků, které brání IT operace.These typically involve customer cohorts who are concerned with performance, global distribution, and other customer needs hindered by IT operations.

Snížení režie a správyReduce overhead and management

Další informace o tom, jak se má udržovat v rámci inovativní aplikace nebo řešení, je pomalejší, že aplikace nebo řešení budou iterovat.The more there is to maintain within an innovative application or solution, the slower that application or solution will iterate. To znamená, že můžete zrychlit inovace tím, že snížíte dopad operací na dostupnou šířku pásma.This means you can accelerate innovation by reducing the impact of operations on available bandwidth.

V rámci přípravy na celou řadu iterací potřebných k zajištění inovativního řešení je důležité si představit předem.To prepare for the many iterations required to deliver an innovative solution, it's important to think ahead. Můžete například minimalizovat provozní zatížení na začátku v procesu tím, že se přihlásíte k možnostem bez serveru.For example, minimize operational burdens early in the process by favoring serverless options. V Azure můžou možnosti aplikace bez serveru zahrnovat Azure App Service nebo kontejnery.In Azure, serverless application options could include Azure App Service or containers.

Paralelně zvažte možnosti dat transakcí bez serveru, které poskytuje Azure – můžou taky snížit režii.In parallel, consider the serverless transaction data options that Azure provides—they can also reduce overhead. Katalog produktů Azure poskytuje možnosti databáze, které hostují data bez nutnosti celé datové platformy.The Azure product catalog provides database options that host data without the need for a full data platform.

Další krokyNext steps

V závislosti na hypotéze a řešení můžou zásady v tomto článku pomoci při navrhování aplikací, které odpovídají definicím MVP a vzdálení uživatelé.Depending on the hypothesis and solution, the principles in this article can aid in designing applications that meet MVP definitions and engage users. V dalším kroku najdete zásady pro zajištění přijetí, které nabízejí způsoby, jak aplikaci a datům poskytnout do rukou zákazníků rychleji a efektivně.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.