Sharpening your .NET applications

In detail

Software life cycle

Software life cycle

Continuous Integration - Continuous Delivery

Ik heb eigenlijk nooit anders gewerkt dan volgens dit principe: continuous integration en continuous delivery. Het is immers veel minder riskant om elke dag een nieuwe versie uit te brengen dan belangrijke wijzigingen te laten opstapelen, waardoor soms moeilijk te overbruggen drempels ontstaan. Elke wijziging aan de code, elke toevoeging van een nieuwe functionaliteit, blijft uiteindelijk altijd beperkt in verhouding tot het volledige product.  Deze aanpak zorgt bovendien voor echte tevredenheid bij de gebruikers: nieuwe functionaliteiten zijn snel beschikbaar. En voor het ontwikkelingsteam geeft dit het gevoel zo dicht mogelijk bij de behoeften van de klanten te werken.

Nooit moeten betalen voor een bugfix

Is het niet bijzonder frustrerend om een bug vast te stellen in versie 1 en vervolgens versie 2 te moeten aanschaffen om van de correctie te kunnen profiteren? De vraag stellen is ze beantwoorden. Een bug betekent dat het doel werd gemist. De bug moet zo snel mogelijk worden gecorrigeerd en de gebruiker moet zonder extra kosten of moeilijkheden over die correctie kunnen beschikken.

Hoe organiseer je dan de versionering van functionaliteiten?

Uit het voorgaande blijkt dat er slechts één broncode is. Ongeacht de aangeschafte versie heeft elke klant recht op hetzelfde uitvoerbare bestand: het meest recente. De ontwikkelaar « beschermt » nieuwe functionaliteiten echter met een andere licentiesleutel, die de nieuwe mogelijkheden ontgrendelt.

Van versie veranderen mag nooit een project op zich worden

Het bijwerken van de software moet eenvoudig zijn en binnen het bereik van alle gebruikers liggen. Als de nieuwe versie een aanpassing van de databasestructuur vereist, moet dit mechanisme in het updateproces worden geautomatiseerd. Dat proces beperkt zich tot het uitvoeren van een kleine wizard, waarbij de gebruiker enkel zo vaak als nodig op « Volgende » hoeft te klikken. Datzelfde proces kan ook via een geplande taak worden geautomatiseerd, waardoor uiteindelijk een vorm van « Continuous Deployment » ontstaat. Elke ochtend beschikken de gebruikers die daarvoor hebben gekozen over de meest recente versie van de software.

Deze manier om de levenscyclus van software te benaderen, biedt voordelen voor iedereen: gebruikers beschikken snel over correcties en nieuwe functionaliteiten, terwijl het ontwikkelingsteam voortdurend werkt met één enkele, coherente en altijd actuele codebase.

Vorige Volgende
Alle producten, technologieën en bedrijfsnamen die op deze website worden vermeld, zijn handelsmerken of gedeponeerde handelsmerken van hun respectieve eigenaars. De vermelde Microsoft-producten (SQL Server, Windows, MAUI, Xamarin, .NET, Blazor, ...) zijn handelsmerken van Microsoft Corporation. Ubuntu is een gedeponeerd handelsmerk van Canonical Ltd.
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.