Artisan Software Creator et l'IA

Il nous reste cependant un point a aborder :


Il s'agit de l'impacte de l'intelligence artificielle qui ne manquera pas de se manifester dans le metier du developpement.


Notre position est que :


- Si l'on sait utiliser l'IA comme accelerateur dans la generation du code

- Si l'on sait avoir l'oeil critique requis par rapport au code receptionne (resultant de la generation)

- Si l'on sait introduire les "contraintes de design " adequates dans la requete/prompt (on decide des options techniques)

- a condition de verifier systematiquement par des tests au niveau de chaque module genere

- tant que la souverainete du concepteur (architecte/designer) est preservee, car il a les

idees claires sur les principes importants a defendre

- Considerant que l'architecture logicielle est une activite relevant plus de la logique floue que de demarches syllogiques

- Sachant que le debuging et la resolution des erreurs sera toujours au final du ressort du

developpeur, lui et ses collegues pouvant seuls arbitrer de l'ampleur, la portee de la

correction

- Sachant que par l'IA, dans le cas de tests en environnement reel, sur target, la modelisation d'un tel environnement restera un challenge hors norme, que meme des organismes de recherche ne parviennent actuellement pas a modeliser

- Sachant que La question de la documentation de l'architecture et du design etant, se faisant, non resolue, et au mieux, traitee par une retro-ingenierie

- avec le bemol que : quand on a l'habitude d'integrer rapidement des nouveaux langages, alors le langage utilise devient moins important ....


Alors l'intelligence artificielle peut etre simplement utilisee comme un

programmeur/executant eclaire et fournissant des gains en productivite substantiels,...

puissance devant rester, cependant, vassalisee.


Il reste que le suivi de l'elaboration du logiciel complet est du ressort de l'ingenieur (c'est le

software engineering - science impossible a modeliser). Il reste egalement, cependant, que l'IA peut suggerer des voies alternatives inattendues qui pourraient meriter d'etre considerees (mais qui restent a l'etre a l'aune de l'apprehension humaine).


l'IA peut etre surtout particulierement pertinente dans l'elaboration de cas de tests.


A L'heure actuelle nous sommes eventuellement amenes a utiliser l'IA comme un super generateur de code.

Les generateurs de code existent depuis longtemps (nous les avons alors utilise sans reserve). Ils avaient cependant la caracteristique de ne pouvoir generer du code qu'a partir d'une specification formelle du design du logiciel a implementer (par exemple en UML). A l'heure actuelle cette generation de code peut avoir lieu a partir d'une simple specification textuelle si tant est qu'elle soit suffisamment exhaustive et precise (les choix d'architecture et de design etant relegues a l'IA). Il s'en suit une "perte de controle" sur la partie design (sauf a preciser les mecanismes que l'on desire mettre en oeuvre).


 Avec l'IA, on retrouve un phenomene nuisible a long terme que l'on connaissait deja... les risques liees a la delegation (qui se trouvent ici, amplifies). On est en effet tres prompt a deleguer ce qui est emprunt de complexite (travers particulierement affectionne en France). Ce phenomene etait deja generalise de part la delegation off-shore, a la sous traitance. Nous avons observe de telles situations arrivees a leur paroxisme : avec une perte de controle totale du systeme logiciel... cela se traduisait au mieux par une rigidite inedite dans l'evolution logicielle ... ou...au final : la reecriture complete d'un nouveau logiciel!!!. En tout cas par des temps extremement (anormalement) longs pour toute amelioration ou toute correction de bug... Il importe donc, plus que jamais, de ne pas succomber a la tentation simplificatrice d'un manager, qui n'aura en tete que les gains de productivite, sans etre conscient de tous les risques associes, sans compter la perte de souverainete sur le produit final...


ASC est foncierement oppose aux risques lies a la "dilution de la responsabilite" dans l'implementation d'une solution a un probleme complexe... absolument persuade d'etre, la, en presence d'une vicissitude endemique, qui doit etre eradiquee... des le debut du projet. Que dire de ces systemes ingerables issus de X niveaux de sous traitance. Quelle scenario burlesque,... et pourtant trop connu!

ASC est plus encore oppose aux risques lies a la "perte de controle" dus a la negation de la paternite du logiciel produit.


Dans le cas d'un trop fort recourt a la sous-traitance, on peut eventuellement (difficilement) retrouver les coupables, ... dans le cas de l'IA...


L'elaboration d'un logiciel est un processus fortement impregne de la notion de responsabilite. De ce fait, la sequence des "decisions" doit rester du ressort de l'arbitrage humain (qui doit, au passage, comprendre les motivations de l'IA), qui doit documenter ses decisions.


Outre que l'architecture et le design d'un logiciel, resulte d'un processus relevant en partie de la logique floue (qui ne peut etre totalement formel), qui ne peut en aucun cas etre reduit a un processus purement syllogique, ledit processus doit etre documente et dument justifie. S'il ne l'est pas, les decisions prises n'ont aucune resilience, et sont succeptibles d'etre invalidees a la moindre remise en cause, qui peut arriver des annees plus tard, ... de maniere inopinee. De plus, des choix d'architecture peuvent resulter d'un savoir faire induit par des regles non ecrites (et qui pourtant, s'averent, dans le temps bigrement pertinentes, alors meme que les memes regles etaient impitoyablement decriees au moment de l'etude).


Dans la mesure ou l'elaboration d'un logiciel a peu de chose a voir avec un processus purement deductif, l'IA a encore fort a faire avant de pouvoir pretendre rivaliser avec le savoir faire, l'experience et l'intuition d'un architecte logiciel.


Gagnez du temps

Gagnez plus

Croissance plus rapide

Assistance amicale

Comment travaillons-nous ?

Cet espace est réservé à la description de ce service. Vous pouvez y inclure des exemples et préciser qui pourrait en bénéficier.

1.

Registre

2.

Choisir des catégories

3.

Choisissez un emplacement

4.

Apprécier!

Ce que les gens disent de nous

FabuFit

« Service exceptionnel. J'ai hâte de découvrir la suite ! »

N'hésitez pas à nous contacter à tout moment.

N'hésitez pas à nous contacter à tout moment.