Sharpening your .NET applications

En détail

Software life cycle

Software life cycle

Continuous Integration - Continuous Delivery

Je n’ai jamais travaillé en développement que sous ce mode : intégration continue et livraison continue. Il est en effet bien moins risqué de publier une nouvelle version tous les jours, que de laisser s'accumuler des changements importants, constituant parfois des seuils difficiles à franchir. Chaque modification du code, chaque ajout d’une nouvelle fonctionnalité, est finalement toujours marginal par rapport à l’ensemble du produit.  Cette approche apporte également une réelle satisfaction aux utilisateurs : les nouvelles fonctionnalités sont rapidement disponibles. Et pour l’équipe de développement, cela procure un réel sentiment de travailler au plus près des besoins des clients.

Ne jamais devoir payer pour une correction de bug

N’est-il pas insupportable de constater un bug dans la version 1 et de devoir acquérir la version 2 pour bénéficier d’un correctif ? Poser la question, c'est y répondre. Un bug est une cible manquée. Sa correction doit se faire au plus vite et l’utilisateur doit pouvoir bénéficier de ce correctif sans coût supplémentaire, ni difficulté.

Comment alors organiser le versioning des fonctionnalités ?

De ce qui précède, on comprend que le code source est unique. Quelle que soit la version acquise, chaque client a droit au même exécutable : le dernier. Le développeur « protège » toutefois les nouvelles fonctionnalités au moyen d'une clé de licence différente, qui déverrouille les nouveautés.

Changer de version ne doit jamais être un projet en soi

Mettre à jour le logiciel doit être aisé et à la portée de tous les utilisateurs. Si la nouvelle version requiert une adaptation de la structure de la base de données, ce mécanisme doit être automatisé dans le processus de mise à jour. Ce dernier se résume à l’exécution d’un petit assistant, où il suffit de cliquer autant de fois que nécessaire sur « Suivant ». Ce même processus est aussi automatisable via une tâche planifiée, ce qui permet finalement d’atteindre une forme de « Continuous Deployment ». Chaque matin, les utilisateurs qui en ont fait le choix disposent de la dernière version du logiciel.

Cette façon de concevoir le cycle de vie d'un logiciel bénéficie à tous : les utilisateurs profitent rapidement des corrections et des nouvelles fonctionnalités, tandis que l'équipe de développement travaille en permanence sur une base de code unique, cohérente et toujours à jour.

Précédente Suivante
Tous les produits, technologies et noms de sociétés mentionnés sur ce site sont des marques déposées de leurs propriétaires respectifs. Les produits Microsoft cités (SQL Server, Windows, MAUI, Xamarin, .NET, Blazor, ...) sont des marques de Microsoft Corporation. Ubuntu est une marque déposée de 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.