Toepassingsontwikkeling voor innovatieve toepassingen

Zoals besproken in Gegevens democratiseren met digitale uitvindingen, stimuleren gegevens de meeste innovaties in de digitale economie. Op basis van die analogie zijn toepassingen de tankstations en infrastructuur die nodig zijn om die brandstof in de juiste handen te krijgen.

In sommige gevallen zijn alleen gegevens voldoende om wijzigingen te stimuleren en te voldoen aan de behoeften van de klant. Maar meestal zijn voor oplossingen voor de behoeften van de klant toepassingen vereist om de gegevens vorm te geven en een ervaring te creëren. Innovatieve toepassingen betrekken en communiceren met de gebruiker en bieden informatie en begeleiding. Dit artikel bevat een overzicht van verschillende principes die u kunnen helpen bij het vinden van de juiste oplossing voor toepassingsontwikkeling, op basis van de hypothesen die moeten worden gevalideerd.

Diagram met elementen die kunnen helpen bij het maken van een toepassing die klanten een ervaring biedt die aan hun behoeften voldoet.

Gedeelde code

Teams die snel reageren op feedback van klanten, marktwijzigingen en kansen, innoveren doorgaans het beste. Het eerste principe van innovatieve toepassingen is een element van de growth mindset: 'Deel de code'. Het delen van code nodigt uit tot verschillende perspectieven en bijdragen, en stimuleert innovatie. Daarom moet de ontwikkeling van toepassingen beginnen met een gedeelde codeopslagplaats.

Een veelgebruikt hulpprogramma voor het beheren van codeopslagplaatsen is GitHub, waarmee u snel een gedeelde codeopslagplaats kunt maken. Een alternatief is Microsoft Azure-opslagplaatsen, een Azure DevOps-service die een onbeperkt aantal in de cloud gehoste privéopslagruimten voor uw project biedt. Voor versiebeheer wanneer u Azure-opslagplaatsen gebruikt, kunt u kiezen voor Git, een gedistribueerd type, of Voor Team Foundation Version Control (TFVC), dat gecentraliseerd is. Zie de documentatie voor Azure-opslagplaatsen voor meer informatie over Azure-opslagplaatsen, Git en TFVC.

Amateurontwikkelaars

Professionele ontwikkelaars zijn belangrijk voor innovatie. Wanneer een hypothese op schaal nauwkeurig blijkt, kunnen ze de oplossing stabiliseren en voorbereiden op schaal. Helaas is er mogelijk een tekort aan professionele ontwikkelaars en kan professionele ontwikkeling de kosten verhogen en de innovatie vertragen.

Citizen-ontwikkelaars zijn gebruikers die nieuwe zakelijke toepassingen maken met behulp van ontwikkel- en runtimeomgevingen die zijn goedgekeurd door zakelijke IT. Het gebruik van citizen-ontwikkelaars kan helpen bij het schalen van ontwikkelingsinspanningen en het versnellen van vroege hypothesetests. Deze strategie is haalbaar en effectief wanneer vroege hypothesen kunnen worden gevalideerd via hulpprogramma's zoals Power Apps voor toepassingsinterfaces, AI Builder voor processen en voorspellingen, Power Automate voor werkstromen en Power BI voor gegevensverbruik.

Notitie

Wanneer u vertrouwt op burgerontwikkelaars om hypothesen te testen, is het raadzaam om ook professionele ontwikkelaars te hebben om het werk te ondersteunen, te controleren en te begeleiden. De professionals kunnen helpen bij het ontwikkelen van een robuust ontwerp dat het rendement op de innovatie versnelt. Door professionele ontwikkelaars op het juiste moment te betrekken, kunt u later schonere transities realiseren.

Intelligente ervaringen

Intelligente ervaringen combineren de snelheid en schaal van moderne webtoepassingen met de intelligentie van cognitieve services en bots. Afzonderlijk zijn deze technologieën mogelijk voldoende om te voldoen aan de behoeften van uw klanten. Wanneer ze goed worden gecombineerd, breiden ze het spectrum van behoeften uit die kunnen worden voldaan via een digitale ervaring, terwijl ze helpen om de kosten voor het ontwikkelen van toepassingen te beperken.

Moderne web-apps

Moderne webtoepassingen kunnen de snelste manier zijn om te voldoen aan de behoeften van interne of externe klanten. De ervaringen die ze bieden, kunnen klanten snel betrekken en zorgen voor een snelle ontwikkeling van de oplossing.

Intelligentie toevoegen

Het wordt steeds eenvoudiger voor professionele en burgerontwikkelaars om machine learning- en AI-functies toe te voegen aan toepassingen die helpen voldoen aan de behoeften van de klant en een interactieve ervaring te creëren. Enkele voorbeelden van deze functies zijn:

  • Spraak-naar-tekst
  • Tekst naar spraak
  • Computer Vision
  • Visual Search
  • Voorspellende AI

Innovators moeten alert zijn om te profiteren van dergelijke functies om een interactieve en moderne ervaring te creëren.

Bots

Een bot is een conversationele AI-toepassing die gebruikers een ervaring biedt die meer lijkt op het werken met een persoon en minder op het werken met een conventionele computertoepassing. Gebruikers communiceren met een bot via tekst, interactieve kaarten en spraak. Een botinteractie kan variëren van een snelle vraag en antwoord, zoals het maken van een dinerreservering, tot een geavanceerd gesprek dat op intelligente wijze toegang biedt tot services.

Bots kunnen hetzelfde doen als andere soorten software: bestanden lezen en schrijven, databases en API's gebruiken en normale rekentaken uitvoeren. Wat bots uniek maakt, is het gebruik van mechanismen die over het algemeen zijn gereserveerd voor communicatie tussen mensen. Bots lijken veel op moderne webtoepassingen: ze leven op internet en gebruiken API's om berichten te verzenden en te ontvangen. Wat zich in een bot bevindt, varieert sterk, afhankelijk van het type bot. Moderne botsoftware is afhankelijk van een stapel technologie en hulpprogramma's om steeds complexere ervaringen te bieden op verschillende platforms. Een eenvoudige bot kan echter gewoon een bericht ontvangen en dit terugsturen naar de gebruiker met heel weinig code.

Cloudeigen oplossingen

Met cloudeigen architectuur kunt u snel veranderen en eenvoudiger flexibele en schaalbare toepassingen uitvoeren. Cloudeigen toepassingen worden doorgaans gebouwd met behulp van containers, microservices, beheerde services, serverloze functies en programmeren op basis van gebeurtenissen. Cloudeigen oplossingen maken meestal gebruik van continue levering om een snellere time-to-market te bereiken.

Met een cloudeigen oplossing kunnen gecentraliseerde ontwikkelteams de controle over de bedrijfslogica behouden zonder dat monolithische, gecentraliseerde oplossingen nodig zijn. Het creëert ook een anker om consistentie te stimuleren in de input van burgerontwikkelaars en moderne ervaringen. Ten slotte bieden cloudeigen oplossingen een innovatieversneller door burgers en professionele ontwikkelaars vrij te maken om veilig en met een minimum aan obstakels te innoveren.

Innoveren via bestaande oplossingen

Veel klanthypothesen kunnen het beste worden geleverd door een gemoderniseerde versie van een bestaande oplossing. Dit kan gebeuren wanneer de huidige bedrijfslogica bijna voldoet aan de behoeften van de klant.

De meeste vormen van modernisering, waaronder herstructurering, zijn opgenomen in de migratiemethodologie binnen de Cloud Adoption Framework. Deze methodologie begeleidt cloudacceptatieteams bij het proces van het migreren van een digitale activa naar de cloud. De Azure-migratiehandleiding biedt een gestroomlijnde benadering van dezelfde methodologie, die geschikt is voor een klein aantal workloads of zelfs voor één toepassing.

Nadat een oplossing is gemigreerd en gemoderniseerd, zijn er verschillende manieren waarop deze kan worden gebruikt om nieuwe, innovatieve toepassingsoplossingen te maken om aan de behoeften van klanten te voldoen. Burgerontwikkelaars kunnen bijvoorbeeld hypothesen testen of professionele ontwikkelaars kunnen intelligente ervaringen of cloudeigen oplossingen maken.

Een bestaande oplossing uitbreiden

Het uitbreiden van een oplossing is een veelvoorkomende vorm van modernisering. Dit kan de snelste weg naar innovatie zijn wanneer het volgende waar is voor de hypothese van de klant:

  • Bestaande bedrijfslogica voldoet aan of komt dicht bij de behoeften van de klant.
  • Een verbeterde ervaring, niet een nieuwe, voldoet het beste aan de behoeften van klanten.
  • De bedrijfslogica die vereist is voor de MVP-oplossing (Minimum Viable Product) is gecentraliseerd, meestal via een ontwerp met n-laag, webservices, API of microservices . Deze benadering bestaat uit het verpakken van de bestaande oplossing in een nieuwe ervaring die wordt gehost in de cloud. In Azure bevindt deze oplossing zich waarschijnlijk in Azure App Service.

Een bestaande oplossing opnieuw opbouwen

Als een bestaande oplossing voldoet aan of bijna voldoet aan de behoeften van de klant, maar niet eenvoudig kan worden uitgebreid, kan het nodig zijn om deze te herstructureren. Bij deze benadering wordt de toepassing gemigreerd naar de cloud. Nadat de toepassing is gemigreerd, worden delen ervan gewijzigd of gedupliceerd, zoals webservices of microservices, die parallel met de bestaande oplossing worden geïmplementeerd. De parallelle op service gebaseerde oplossing kan worden behandeld als een uitgebreide oplossing. Met deze oplossing wordt de bestaande oplossing verpakt met een nieuwe ervaring die wordt gehost in de cloud. In Azure bevindt deze oplossing zich waarschijnlijk in Azure App Service.

Waarschuwing

Het herstructureren of opnieuw ontwerpen van oplossingen of het centraliseren van bedrijfslogica kan snel een tijdrovende technische piek veroorzaken in plaats van een bron van klantwaarde. Dit is een risico voor innovatie, vooral in het begin van hypothesevalidatie. Met een beetje creativiteit in het ontwerp van een oplossing, moet er een pad naar MVP zijn waarvoor geen herstructurering van bestaande oplossingen nodig is. Het is verstandig om de herstructurering uit te stellen totdat de eerste hypothese op schaal kan worden gevalideerd.

Innovaties van operationele modellen

Naast moderne innovatieve benaderingen voor het ontwikkelen van toepassingen, zijn er belangrijke innovaties in toepassingsbewerkingen. Deze benaderingen hebben veel organisatorische bewegingen voortgebracht. Een van de meest prominente is het operationele model van het Cloud Center of Excellence . Wanneer bedrijfsteams volledig bemand en volwassen zijn, hebben ze de mogelijkheid om hun eigen operationele ondersteuning voor een oplossing te bieden.

Het type selfservicemodel voor operationeel beheer dat wordt gevonden in een cloudcentrum voor excellentie, zorgt voor strakkere controles en snellere iteraties binnen de oplossingsomgeving. Deze doelstellingen worden bereikt door operationele controle en verantwoordelijkheid over te dragen aan het bedrijfsteam.

Als u probeert te schalen of te voldoen aan de wereldwijde vraag naar een bestaande oplossing, is deze benadering mogelijk voldoende om een klanthypothese te valideren. Nadat een oplossing is gemigreerd en enigszins gemoderniseerd, kan het bedrijfsteam deze schalen om verschillende hypothesen te testen. Deze omvatten doorgaans klantcohorten die zich bezighouden met prestaties, wereldwijde distributie en andere behoeften van klanten die worden belemmerd door IT-activiteiten.

Overhead en beheer verminderen

Hoe meer er moet worden onderhouden binnen een innovatieve toepassing of oplossing, hoe langzamer die toepassing of oplossing wordt herhaald. Dit betekent dat u innovatie kunt versnellen door de impact van bewerkingen op de beschikbare bandbreedte te verminderen.

Ter voorbereiding op de vele iteraties die nodig zijn om een innovatieve oplossing te leveren, is het belangrijk om vooruit te denken. Minimaliseer bijvoorbeeld de operationele lasten vroeg in het proces door serverloze opties te bevorderen. In Azure kunnen serverloze toepassingsopties Azure App Service of containers bevatten.

Overweeg tegelijkertijd de opties voor serverloze transactiegegevens in Azure die ook de overhead kunnen verminderen. De Azure-productcatalogus biedt databaseopties waarmee gegevens worden gehost zonder dat er een volledig gegevensplatform nodig is.

Volgende stappen

Afhankelijk van de hypothese en oplossing kunnen de principes in dit artikel helpen bij het ontwerpen van toepassingen die voldoen aan MVP-definities en gebruikers betrekken. Daarna volgen de principes voor het mogelijk maken van acceptatie, die manieren bieden om de toepassing en gegevens sneller en efficiënter in handen van klanten te krijgen.