L'architecture : Le facteur clé de succès dans le développement d'un logiciel

Il y a trois facteurs clés de succès dans le développement d’un logiciel en 2021.

  • Le choix des fonctionnalités à implémenter
  • L’interface utilisateur
  • L’architecture

Si les deux premières clés sont généralement admises par la communauté des développeurs et des chefs de projets. Généralement, la troisième est négligée par nos interlocuteurs, quelques soit leurs implications dans le projet : Donneur d’ordre, utilisateur, chef de projet, développeur.
Les ingénieurs et techniciens ont souvent un long vécu technique et ont tendance à imposer la vision du monde qu’ils connaissent et pas forcément celle qui convient le mieux au projet.

Fonctionnalités

Depuis les prémices de l’informatique, le monde du développement des logiciels a travaillé avec des cahiers des charges fonctionnelles avec un cycle en V : Définition du besoin, réalisation, test. Depuis une dizaine d’années, le mode de travail c’est modernisé avec la fameuse méthode Agile. Aujourd’hui, le cycle POC, MPV, Production est devenu la norme. Voir à ce sujet mon article pour Premaccess : Prix fixe ou au forfait : combien coûte le développement d’une application ?

UX/UI

Après les interfaces caractères, l’arrivée du Macintosh en 1983 a complètement changé l’interface utilisateur proposée. Ces dernières années et l’arrivée de l’Internet rapide a obligé à penser non plus en interface utilisateur, mais en expérience utilisateur UX. Petit à petit, l’intégralité des acteurs de la chaîne de conceptions prend conscience de l’importance de UX. Comme toute partie importante d’un projet, la réflexion sur l’UX doit être faite en amont et en même temps que la réflexion sur les fonctionnalités. Si, aujourd’hui, l’UX est prise en compte, c’est souvent avec un temps de retard.

Architecture

Jusqu’à pas si longtemps, l’architecture d’une application n’était pas un débat lors de la conception d’une application. En fonction de l’histoire et des compétences réunies pour concevoir et produire le logiciel, les technologies utilisées étaient celles qui sont connues par les acteurs présents. Dans un monde où les logiciels étaient un bloc monolithique qui faisait tout, ce n’était pas très grave. Surtout avec la loi de Moore qui permet d’avoir toujours plus de puissance pour toujours moins chère, il suffisait de rajouter des machines plus puissantes pour pallier une mauvaise architecture logicielle.

Avec l’arrivée du développement en réseau, ou les applications se focalisent sur leur cœur de métier et sous-traite à d’autres les fonctionnalités non critiques, ce n’est plus possible.