Le développement logiciel vise généralement à aligner les spécifications avec l'implémentation.
C'est pourquoi les systèmes sont conçus pour satisfaire les spécifications, puis implémentés sur la base de ces conceptions. Ensuite, des tests confirment que l'implémentation respecte les spécifications ; en cas d'écart, l'implémentation est corrigée, et si les spécifications sont ambiguës, elles sont clarifiées.
Ceci peut être appelé l'ingénierie basée sur la spécification et l'implémentation.
En revanche, lorsqu'on discute de logiciels aujourd'hui, l'expérience utilisateur est de plus en plus mise en avant.
De plus, c'est le comportement du logiciel, et non sa simple implémentation, qui façonne réellement l'expérience utilisateur.
Par conséquent, en dehors du cadre de la spécification et de l'implémentation, il existe l'expérience et le comportement.
En conséquence, je crois qu'il est utile d'explorer le concept d'ingénierie de l'Expérience et du Comportement, qui est basée sur l'expérience et le comportement.
Logiciel Liquide
L'ingénierie de l'Expérience et du Comportement est une approche irréalisable avec les méthodes de développement logiciel traditionnelles.
Cela est dû au fait qu'elle exige d'améliorer l'expérience utilisateur sans frontières rigides ni divisions fonctionnelles dans les spécifications. Il pourrait même arriver que la demande occasionnelle d'un utilisateur pour une amélioration de l'expérience nécessite de jeter tout le logiciel précédemment développé.
D'un autre côté, à une époque où l'automatisation du développement logiciel basée sur des agents par l'IA générative est monnaie courante, la refonte complète de systèmes logiciels entiers devient acceptable.
De plus, dans une telle ère, il est concevable que nous entrions dans l'âge du Logiciel Liquide, où les développeurs publieront des logiciels équipés d'un chatbot ingénieur IA, permettant aux utilisateurs de modifier l'interface utilisateur pour l'adapter à leurs préférences individuelles.
Le Logiciel Liquide désigne un logiciel plus flexible que les logiciels conventionnels, s'adaptant parfaitement à chaque utilisateur.
Avec cette ère de développement automatisé et de Logiciel Liquide, le paradigme d'ingénierie de la spécification et de l'implémentation deviendra obsolète.
Nous passerons plutôt au paradigme de l'ingénierie de l'Expérience et du Comportement.
Qu'est-ce que le Comportement ?
En termes simples, le comportement est un état qui évolue dans le temps.
Et tester le comportement n'est rien d'autre que tester cet état qui varie dans le temps.
De plus, tester le comportement ne consiste pas à confirmer son alignement avec des spécifications définissant les transitions d'état. Au contraire, le comportement est testé en fonction de la qualité de l'expérience utilisateur.
Bien entendu, si des bugs entraînent des opérations imprévues par l'utilisateur ou le développeur, cela nuit considérablement à l'expérience utilisateur. Par conséquent, tester le comportement inclut également la vérification de la conformité fonctionnelle et de la validité.
Ainsi, après avoir satisfait à ces exigences fonctionnelles de base, le comportement est testé pour sa haute qualité du point de vue de l'expérience utilisateur.
L'Expérience Ultime
Pour les humains, l'expérience utilisateur ultime est le contrôle de son propre corps en bonne santé.
Considérez ceci : chaque jour, nous contrôlons un corps pesant des dizaines de kilogrammes – un système complexe rempli de limitations et de contraintes – pour nous engager dans des activités ciblées.
Si nous essayions de contrôler un système aussi lourd, complexe et très contraint pour accomplir les activités souhaitées, l'expérience serait typiquement assez médiocre.
Pourtant, tant que nous ne sommes pas malades, nous déplaçons ce corps lourd, complexe et contraint avec autant d'aisance que s'il n'avait aucun poids. Nous l'opérons sans hésitation, comme s'il s'agissait d'un mécanisme très simple, et remarquons à peine ses limitations ou contraintes, comme si elles n'existaient pas.
C'est l'expérience ultime.
En recherchant un comportement de haute qualité, il est possible d'offrir une expérience comparable à celle du contrôle de son propre corps.
En d'autres termes, même si un système est lent à traiter, complexe en termes de fonctionnalités et soumis à de nombreuses limitations et contraintes, il pourrait devenir un Logiciel Liquide entièrement sans stress.
Conclusion
Le Logiciel Liquide ultime offrira une expérience similaire à celle de notre propre corps.
Un tel Logiciel Liquide deviendra, pour nous, comme une partie de notre être physique.
Chaque fois que le Logiciel Liquide ultime se multipliera ou que ses capacités seront améliorées, nous aurons l'impression que notre corps est en train de s'étendre.