Low-code apps ontwikkelen met Fusion Teams

fusion teams, microsoft, power apps, mendix, low code, low-code, low-code platform, gartner

Veel organisaties zijn bezig met het moderniseren en digitaliseren van bedrijfsprocessen. Zij doen dit om verschillende redenen, bijvoorbeeld om kosten te besparen of omdat klanten en medewerkers er om vragen. Applicaties en de manier waarop ze worden ontwikkeld spelen hierbij een belangrijke rol. Om als organisatie de ambities op het gebied van digitalisering waar te maken moeten applicaties snel uitgerold kunnen worden. Met low-code tools voor softwareontwikkeling kan deze versnelling gerealiseerd worden. Low-code tools maken het mogelijk om applicaties op een snelle en agile manier te ontwikkelen in multidisciplinaire fusion teams. Wat zijn fusion teams precies en op welke manier kunnen low-code tools dit soort teams helpen om versneld nieuwe digitale producten te ontwikkelen? In dit blog worden deze vragen beantwoord.

Wat zijn fusion teams?

Fusion teams is een term die door het onderzoeksbureau Gartner is bedacht. Gartner stelt zelfs dat compatibiliteit voor fusions teams een van de 5 kritische mogelijkheden zou moeten zijn van een Enterprise Low-Code Application Platform (2020). Maar wat zijn fusion teams precies? Fusion teams zijn multidisciplinaire teams bestaande uit medewerkers uit zowel de business- als de IT-organisatie. Ze voeren projecten uit volgens agile methodes met een sterke focus op de ontwikkeling van (digitale) producten. In deze teams komen technologische kennis en domeinexpertise samen. Hierdoor kunnen digitale producten gerealiseerd worden die naadloos aansluiten bij de behoeften van klanten en medewerkers. Door de inzet van fusion teams en de gezamenlijke verantwoordelijkheid van dit soort teams voor het eindresultaat, zijn organisaties in staat om versneld de beoogde digitale transformatie te realiseren.

Low-code tools voor fusion teams

Low-code tools lenen zich bij uitstek om met fusion teams in relatief korte tijd een portfolio van digitale producten (zoals mobiele apps, portals en API’s) te ontwikkelen. Door de grafische gebruikersinterface (GUI) van low-code tools kunnen naast programmeurs ook businessgebruikers zonder ervaring op het gebied van softwareontwikkeling meewerken aan prototypes en applicatiecomponenten. Het datamodel, de pagina’s en de logica van applicaties worden visueel gemodelleerd in de GUI, waardoor handmatig coderen in veel gevallen niet of nauwelijks nodig is. Er is echter meer nodig dan een mooie ontwikkelomgeving om op een efficiënte manier met meerdere personen samen te werken bij de ontwikkeling van applicaties. Hieronder noem ik 6 belangrijke aspecten van softwareontwikkeling die essentieel zijn voor een optimale samenwerking in fusion teams.

#1 Requirements management

Met requirements management bedoel ik het documenteren van de behoeften van de beoogde gebruikers van een applicatie op een product backlog. Een product owner beschrijft op de backlog in hoofdlijnen wat gebruikers met de applicatie willen bereiken en wat de prioriteiten zijn van de requirements. Alle leden van het team kunnen de items op de backlog in detail uitwerken en vertalen naar taken die uitgevoerd moeten worden tijdens het ontwikkelen van de applicatie. Het verfijnen (refinen) van de backlog, oftewel het bijwerken en detailleren van requirements naar de laatste inzichten, is een continu proces waarbij alle leden van het team betrokken zijn. Stakeholders van binnen en buiten het team hebben inzicht in de items op de backlog en de status van de items tijdens de ontwikkelfase.

#2 Versiebeheer

Wanneer er met meerdere personen wordt gewerkt aan een applicatie is versiebeheer heel belangrijk. Versiebeheer zorg ervoor dat elke wijziging in een applicatie wordt bewaard en dat je kunt terugzien wie wanneer welke wijziging heeft gedaan. Met versiebeheer kun je een oude versie eenvoudig terugzetten als de applicatie na een wijziging niet meer goed werkt. Door het gebruik van een versiebeheersysteem kunnen meerdere ontwikkelaars werken in verschillende branches (kopieën van een applicatie), bijvoorbeeld om bugs in een applicatie op te lossen, of nieuwe features toe te voegen. Wijzigingen in verschillende branches kunnen later samengevoegd worden. Op deze manier zorg je ervoor dat ontwikkelaars elkaar niet in de weg zitten.

#3 Integratie met externe IDE’s

De visuele gebruikersinterface van low-code tools is ideaal voor businessgebruikers zonder programmeerervaring, ook wel citizen developers genoemd. Ervaren softwareontwikkelaars, die componenten voor een applicatie handmatig moeten coderen, werken meestal liever in een IDE (integrated development environment) die ze goed kennen, zoals Eclipse en Visual Studio. De integratie van low-code tools met externe IDE’s zorgt ervoor dat elk type ontwikkelaar kan werken in een omgeving die hij/zij het prettigst vindt.

#4 Hergebruik van componenten

Door te werken met herbruikbare componenten en deze op een centrale plek te kunnen delen met teamleden kan de ontwikkeling van digitale producten versneld worden. Dit kunnen UI-elementen en code-snippets zijn die worden gebruikt in verschillende applicaties. Het zijn meestal de ervaren programmeurs uit een team die dit soort componenten ontwikkelen, zodat andere teamleden ze kunnen verwerken in applicaties. Door componenten te hergebruiken wordt de productiviteit van het team verbeterd. Daarnaast zorgt het voor meer consistentie tussen de applicaties.

#5 Data-integratie

Data-integratie speelt een belangrijke rol bij de bij de ontwikkeling van digitale producten. De tijd die wordt besteed aan datapreparatie (het verzamelen en integreren van datasets) kan flink oplopen als er in teams aan meerdere applicaties wordt gewerkt. Door het inrichten van een centrale dataopslag, waarin herbruikbare datasets worden gepubliceerd, kan veel tijd bespaard worden.

#6 Geautomatiseerd testen

Als meerdere personen gezamenlijk werken aan applicaties neemt de kans op fouten toe. Daarnaast kunnen er problemen ontstaan als verschillende versies van een applicatie worden samengevoegd. Testen is daarom erg belangrijk. Handmatig testen neemt echter (te) veel tijd in beslag. Met behulp van gespecialiseerde testtools kunnen scripts ontwikkeld worden om applicaties geautomatiseerd te testen op verschillende aspecten. Door het testen te automatiseren zal de kwaliteit van de software toenemen en kan er veel tijd bespaard worden, waardoor de productiviteit van het team zal verbeteren.

Zowel Mendix als Microsoft bieden een low-code platform dat geschikt is voor applicatieontwikkeling met fusion teams, omdat alle hierboven genoemde functies aanwezig zijn. De manier waarop deze functies worden aangeboden in de tools verschilt echter behoorlijk.

mendix logo,mendix,

Mendix

Mendix is het meest volwassen platform wanneer je deze vergelijkt met Power Apps van Microsoft. Dat is ook niet zo verwonderlijk als je bedenkt dat het bedrijf in 2005 is opgericht, terwijl Power Apps pas in 2015 door Microsoft is gelanceerd. Mendix is een all-in-one ontwikkelplatform waarin alle fases van de levenscyclus van applicaties worden ondersteund. Het platform krijgt zelfs een waardering van 4 uit de 5 in dit rapport van Gartner op het gebied van Fusion Team Composable Application. De volgende punten maken Mendix een goede oplossing voor fusion teams:

  • Er is een centraal webportaal waar teams gezamenlijk aan projecten werken op een agile manier. In het portaal worden de requirements voor applicaties bijgehouden, worden ontwikkelactiviteiten gepland en kan de voortgang van projecten gevolgd worden.
  • Vanuit het portaal kunnen applicaties gedeployed worden naar verschillende omgevingen. Ook het monitoren van applicaties kan vanuit het portaal.
  • Mendix Studio en Mendix Studio Pro zijn aparte no-code en low-code ontwikkelomgevingen voor citizen developers en programmeurs. Daarnaast kan Studio Pro gekoppeld worden met externe IDE’s voor high-code softwareontwikkeling.
  • Versiebeheer is een integraal onderdeel van Mendix Studio en Mendix Studio Pro.
  • Mendix-applicaties bevatten standaard een feedbackfunctie, waarmee feedback van gebruikers gemakkelijk kan worden verzameld. De feedback wordt automatisch opgeslagen in de Portal en is daardoor direct inzichtelijk voor het ontwikkelteam.
  • De Mendix Marketplace is een centrale bibliotheek waarin herbruikbare componenten voor applicaties kunnen worden gepubliceerd.
  • Mendix Data Hub is een centrale data catalog waar datasets kunnen worden gepubliceerd voor hergebruik in applicaties.
  • Voor geautomatiseerd testen is een aanvullende module beschikbaar: Application Test Suite. Met deze module kunnen niet alleen functionele en regressietests geautomatiseerd worden, maar ook tests die gericht zijn op de beschikbaarheid en performance van applicaties.

MS, Microsoft, power apps, powerapps, low code, microsoft low code

Power Apps

Tot voor kort was het samenwerken in teams bij de ontwikkeling van applicaties met Power Apps nog niet goed mogelijk. Microsoft heeft recent echter een aantal belangrijke uitbreidingen van hun low-code platform gelanceerd die hier verandering in brengen. De integratie met Azure DevOps speelt hierbij een belangrijke rol. De volgende punten maken Power Apps een goede oplossing voor fusion teams:

  • Azure DevOps biedt verschillende services voor een agile projectaanpak, waaronder requirements management, planning tools en boards.
  • Het Power Platform kan geïntegreerd worden met Azure DevOps en GitHub, waardoor het niet meer nodig is om allerlei tools en scripts te gebruiken voor versiebeheer en deployment. Het importeren van solutions (apps, flows, connectors, etc) in versiebeheer en het deployen van solutions naar verschillende omgevingen wordt hierdoor veel eenvoudiger.
  • Naast het ontwikkelen van UI-elementen en logica in de GUI van Power Apps is het nu mogelijk voor ervaren programmeurs om componenten van applicaties te ontwikkelen in Visual Studio.
  • Herbruikbare componenten kunnen gepubliceerd worden naar de Power App Component Library.
  • Dataverse is de centrale dataopslag voor Power Apps waarin herbruikbare datasets voor applicaties kunnen worden klaargezet.
  • Met Power Apps Test Studio kunnen tests voor canvas apps ontwikkeld worden. Deze tests kunnen vervolgens geautomatiseerd worden met behulp van Azure DevOps Pipelines.

Conclusie

De keuze voor een low-code platform en het inrichten van fusion teams zijn belangrijk stappen voor organisaties die hun portfolio van digitale oplossingen willen vernieuwen en moderniseren. De manier van ontwikkelen met low-code tools maakt samenwerken in multidisciplinaire teams heel goed mogelijk, waardoor applicaties versneld uitgerold kunnen worden.

Aan de slag met low-code

Wil je meer weten over de voordelen van low-code, of heb je hulp nodig bij de keuze voor het meest geschikte platform voor jouw organisatie? Neem dan contact op met een van onze accountmanagers. Of heb je een concrete case die je met low-code zou willen oplossen, maar zoek je advies voor het kiezen van meest geschikte ontwikkelplatform? E-mergo kan hierbij helpen, bijvoorbeeld met een App in a Day sessie. Voor meer informatie over de mogelijkheden van low-code, neem contact op met een van onze accountmanagers.

NEEM CONTACT OP

Geschreven door Steven Samuels Brusse,
Senior Consultant

Bronnen