Hoe genAI het werk van een softwarearchitect verandert
Een software-architect is een professional die zakelijke eisen vertaalt naar een technisch ontwerp. In kleinere en middelgrote bedrijven is dit vaak een overkoepelende rol, waarbij de architect optreedt als "bouwplanner". Hij of zij is verantwoordelijk voor het vertalen van de briefing in een specificatie, het selecteren van technologieën, het ontwerpen van databases, het verdelen van het systeem in modules en het bepalen van de principes van hun compatibiliteit. In bedrijven wordt deze activiteit vaak verdeeld over verschillende gespecialiseerde rollen, maar het principe blijft hetzelfde: de architect definieert de plannen aan de hand waarvan het ontwikkelteam de uiteindelijke oplossing bouwt.
De vergelijking met de bouwindustrie is in dit geval rechttoe rechtaan. De architect ontwerpt het huis, bereidt de documentatie voor en verdeelt de taken tussen de bouwvakkers en ambachtslieden. In de IT is het vergelijkbaar, waar het ontwerp, de specificatie en het plan de basis vormen waarmee senior ontwikkelaars en programmeurs het werk verdelen over de frontend, backend en andere delen van de ontwikkeling.
Het ontwerp- en ontwikkelingsproces
Er zijn verschillende benaderingen van ontwikkeling, maar of er nu een waterval- of agile-methodologie wordt gebruikt, er is altijd een ontwerpfase. In deze fase wordt, na het verzamelen van eisen, een softwarespecificatie gemaakt die functionele en niet-functionele eisen, acceptatiecriteria en een definitie van projectdoelen bevat. Op basis van de specificatie worden testscenario's, unit tests voor individuele componenten en integratietests gemaakt om de functionaliteit van het systeem als geheel te verifiëren. Deze tests zijn vaak direct gekoppeld aan de acceptatie door de klant.
Wat is de waterval ontwikkelmethode?
Het watervalmodel is een klassieke, lineaire benadering van softwareontwikkeling. Hierbij verloopt een project stap voor stap van analyse via ontwerp, implementatie, testen en implementatie. Elke fase moet volledig zijn afgerond voordat er verder wordt gegaan. Dit model is gebaseerd op het principe dat het plan van tevoren bekend is en veranderingen tijdens de ontwikkeling minimaal zijn.
Het belangrijkste resultaat van het werk van de architect is het ontwerp van het gegevensmodel en de beschrijving van de processen. Het gegevensmodel definieert hoe gegevens worden gestructureerd en opgeslagen, terwijl het procesmodel definieert hoe gebruikers met het systeem zullen interageren en welke gedragsscenario's moeten worden afgedekt. Meestal worden deze processen gemodelleerd met UML-diagrammen, met name use case diagrammen en activiteitendiagrammen.
Wat is de agile ontwikkelmethode?
Agile ontwikkeling daarentegen is een iteratieve en flexibele aanpak die het hele project opdeelt in kleinere delen, sprints genaamd. Elke sprint levert een functionele eenheid op die onmiddellijk kan worden getest en verbeterd op basis van feedback. In plaats van een langetermijnplan richten agile teams zich op snelle levering en aanpassing aan veranderingen die van de klant of de markt komen. Agile ontwikkeling vereist nauwe samenwerking tussen ontwikkelaars, analisten, ontwerpers en de klant, die continu bij het proces wordt betrokken en niet pas aan het einde.
Hoe AI het proces binnenkomt
Tegenwoordig wordt kunstmatige intelligentie een hulpmiddel dat de efficiëntie van het werk van een architect fundamenteel verandert. De eerste grote bijdrage is het databaseontwerp. De architect bereidt de algemene structuur van tabellen en relaties voor en AI helpt hem deze te raadplegen op juistheid en volledigheid. Bij het ontwerpen van een bezorgsysteem kunnen bijvoorbeeld vereisten voor adrespunten, logistieke eenheden en tijdvensters worden beschreven. De AI genereert vervolgens tabel- en sessieontwerpen die de architect valideert en aanvult. Voor ons bij TRITON IT vermindert dit geassisteerde proces de werklast van databaseontwerpen met ongeveer 50%.
De volgende stap is om AI te gebruiken om te helpen bij het ontwerp van de algehele systeemarchitectuur. De architect presenteert de AI tekstuele beschrijvingen van processen (use cases) en een datamodel, waardoor de AI een compleet beeld krijgt van de applicatie. Dankzij zijn uitgebreide kennis van technologieën en best practices kan de AI mogelijke architecturale opties voorstellen, specifieke technologieën aanbevelen en een dialoog voeren over de geschiktheid ervan. In de praktijk betekent dit dat AI bijvoorbeeld kan voorstellen om de Kafka message broker te gebruiken in plaats van RabbitMQ, een specifieke programmeertaal kan aanbevelen of de backend en frontend kan opsplitsen in logische modules.
Het belangrijkste punt is echter dat AI geen autoriteit is, maar een partner. De architect moet de voorstellen beoordelen, ongepaste opties afwijzen en zijn eigen intentie laten gelden in het licht van de grotere context van het project. Het is in deze dialoog dat de grootste kracht van de synergie tussen de informatiearchitect en de AI tot uiting komt - de AI levert de brede kennisbasis en genereert de opties, de architect zorgt voor de kritische evaluatie en de uiteindelijke beslissing.
Werk besparen en documentatie genereren
De grootste besparingen komen in de laatste fase, wanneer AI UML-diagrammen, documentatie en werkinschattingen kan genereren. Zodra het ontwerp compleet is, heeft het model een volledige beschrijving van de database en processen en kan het diagrammen genereren van klassen, componenten of use cases. Op dezelfde manier kan het werkschattingen genereren voor specifieke ontwikkelteams op basis van hun ervaring en samenstelling, inclusief schema's en budgetten. Zelfs andere activiteiten, zoals het werk van ontwikkelaars, kunnen nu met behulp van AI worden uitgevoerd.
Als het ontwerpen van een database een tijdsbesparing van ongeveer 50% betekende, dan vermindert het werken met architectuur ons tijdverbruik met ongeveer 70% dankzij AI. Op het gebied van documentatie, traditioneel een van de meest tijdrovende en administratief belastende taken, zijn de besparingen nog aanzienlijker, in sommige gevallen oplopend tot 90% bij TRITON IT.
Utopia vs. realiteit
Tegenwoordig, met de snelle opkomst van GenAI, duiken er voortdurend nieuwe zogenaamde applicatiegeneratoren op, die in hun advertenties verleiden dat ze de volledige applicatie zelf zullen produceren in een kwestie van minuten. Op het eerste gezicht lijkt dit een revolutie die ontwikkelteams en softwarearchitecten volledig kan vervangen. Maar de realiteit is aanzienlijk ontnuchterder.
Hoewel generatieve AI de analytische, ontwerp- en documentatieonderdelen van ontwikkeling fundamenteel kan versnellen, kan het nog steeds niet de menselijke besluitvorming achter de stabiliteit en veiligheid van het hele systeem vervangen. AI kan een geweldige assistent zijn om architecten en ontwikkelaars te helpen bij het ontwerpen van databases, codestructuur of processen, maar het blijft een menselijke taak om een complex, stabiel en duurzaam systeem te creëren. Voorlopig is AI slechts zijn sterke rechterhand, geen vervanging.
Het groeiende belang van gestandaardiseerde tekstformaten
Grote Taalmodellen (LLM's) zijn tools die voornamelijk met tekst werken. Op het eerste gezicht lijken ze dus niet ideaal voor het maken van visuele elementen zoals UML- of ER-diagrammen. Dit is echter waar de kracht van tekstuele grafische formaten zoals Markdown, DPML (database description languages) of PlantUML om de hoek komt kijken. Met deze gestandaardiseerde formaten kunnen zelfs complexe structuren in pure tekst worden beschreven, wat LLM's perfect begrijpen.
Hierdoor kunnen ze samenwerken met de architect om nauwkeurige en consistente output te genereren die vervolgens eenvoudig kan worden gevisualiseerd met behulp van gespecialiseerde tools. Deze aanpak versnelt het werk enorm, waarbij in plaats van handmatig tekenen, de meeste ontwerpen met hulp worden gemaakt en de resulterende diagrammen eenvoudig worden weergegeven, geëxporteerd of afgedrukt. Bij TRITON IT bespaart dit proces ons tot 90% van de tijd.
De nieuwe rol van de architect
Kunstmatige intelligentie zet de softwarearchitect dus niet buitenspel, maar verandert zijn rol. Het routinematige werk van diagrammen tekenen en documentatie schrijven wordt een curator van de dialoog met AI, die alle aspecten van het ontwerp moet begrijpen, de juiste vragen moet stellen en de antwoorden kritisch moet evalueren. De architect blijft degene die de leiding heeft over het project, maar in plaats van handmatig alle documenten op te stellen, ligt de focus op de kwaliteit van de briefing en het besluitvormingsproces.
Het resultaat is een grote toename in efficiëntie en een hogere kwaliteit documentatie die in minder tijd wordt geproduceerd. Op deze manier wordt AI niet alleen een assistent, maar ook een katalysator om het werk van de architect te veranderen, net zoals CAD-tools het werk van architecten in de bouw hebben veranderd.
Wilt u software op maat laten maken?
Verwante artikelen
De burgemeester van Křeslice, Praag, was op zoek naar een eenvoudige manier om informatie uit het veld direct te delen met de burgers. Hij wist...
In 2021 maakten we de eerste merkpagina voor het merk MISURA op misura.cz (later misura.store). We schreven over de creatie van de eerste MISURA...
In de digitale omgeving is het niet langer voldoende om inhoud van hoge kwaliteit te creëren in de hoop dat het publiek de weg ernaartoe vanzelf...