Changements du paradigme de développement des exigences dans le génie logiciel provoqués par la programmation assistée par l'IA (Baoyu)

L'une des plus grandes percées dans le domaine de l'IA cette année devrait être dans le domaine de la programmation, avec des outils de programmation de l'IA comme Cursor et v0 dev qui non seulement abaissent considérablement le seuil de programmation pour le commun des mortels, mais permettent également aux programmeurs professionnels d'augmenter considérablement l'efficacité de leur développement.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Mais la nouvelle que nous entendons n'est pas la programmation des lycéens, des chefs de produit, avec l'aide des outils de programmation de l'IA quelques heures pour faire un produit chaud, mais n'a pas entendu un programmeur en raison de l'efficacité de la programmation et de la promotion et de l'augmentation de salaire, mais plus pour l'IA remplacera les soucis du programmeur.

En effet, la programmation IA, tout en améliorant l'efficacité du développement, dilue la rareté de l'écriture de programmes et commence à changer le paradigme du développement de logiciels de sorte que la chaîne unique qui va de l'exigence au produit commence à se diviser en plusieurs branches, la majorité des exigences étant résolues dans la première moitié de la chaîne sans qu'il soit nécessaire de les transmettre à la seconde moitié, ou même sans qu'il soit nécessaire de faire appel à des programmeurs professionnels.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

À quoi ressemble le modèle traditionnel d'élaboration des exigences ?

Le modèle traditionnel d'élaboration des exigences ressemble à une chaîne : exigences -> conception du produit -> développement -> essais -> exploitation et maintenance.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Lorsque l'utilisateur a un besoin, tel que la traduction d'un article ou la fusion de fichiers PDF, qui nécessite un logiciel professionnel, le développement d'un tel logiciel professionnel nécessite un gestionnaire de produit professionnel qui répondra aux besoins originaux de l'utilisateur, concevra l'interface utilisateur pour faciliter le fonctionnement de l'utilisateur, puis, sur la base de la conception du gestionnaire de produit, réalisera la conception du système, écrira le code et, enfin, répondra aux besoins du logiciel.

 

Dans cette chaîne, les chefs de produit et les programmeurs sont tous deux des postes hautement professionnels qu'il est extrêmement difficile de remplacer l'un par l'autre, même pour des applications très simples, les chefs de produit ordinaires ne peuvent pas jouer le rôle de programmeurs, mais à leur tour, les programmeurs ordinaires ne peuvent pas faire le travail de conception de produits. Bien sûr, il y a très peu de "développeurs indépendants" qui peuvent faire les deux.

 

Les changements que l'IA apporte au paradigme de l'élaboration des exigences

Les exigences simples ne nécessitent plus de développement logiciel

Le premier changement est que les besoins simples ne nécessitent plus de "logiciel" et peuvent être résolus en "discutant" directement avec l'IA.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Auparavant, nous avions besoin d'un logiciel spécialisé pour traduire, mais aujourd'hui, nous envoyons le texte à l'auteur de la traduction. ChatGPT ou Claude Ces outils d'IA peuvent traduire très rapidement pour nous ; ou un paragraphe du rapport doit extraire les données structurées à l'intérieur, avant d'écrire des scripts ou des outils, maintenant également envoyés à l'IA sur elle ; un tel tas d'exemples, certains des petits besoins communs de notre vie quotidienne, il est très facile d'utiliser l'outil de chat de l'IA pour y répondre.

 

Les modèles d'IA sont également en cours d'amélioration. Avant ChatGPT, Claude ne pouvait que discuter, maintenant vous pouvez télécharger des images, des documents, générer des documents, et à l'avenir vous pourrez également générer des vidéos, mais aussi exécuter du code, une machine virtuelle pour exécuter un script Python, ou générer un beau rapport, vous pouvez faire de plus en plus de choses.

 

Les besoins ordinaires peuvent être satisfaits sans faire appel à des programmeurs professionnels.

Le deuxième changement est qu'avec la conception de produits, vous pouvez lancer un projet et réaliser un prototype même si vous n'avez pas de programmeur.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Dans le passé, un terrain populaire était : "tout est prêt, il manque juste un programmeur", après tout, la conception du produit n'est pas suffisante, vous avez besoin d'un programmeur pour mettre en œuvre la conception du produit, mais maintenant avec l'assistance de l'IA, même sans base de programmation, vous pouvez également faire une application simple, ou un prototype.

 

De nombreux programmeurs ne regardent pas ces produits développés par l'IA, pensant qu'ils ne sont pas assez professionnels, qu'il ne s'agit que de prototypes, mais ils peuvent réellement répondre aux besoins de nombreux utilisateurs qui ne sont pas si pointilleux, pour répondre aux besoins des bons, peut-être pas stables, peut-être pas beaux, mais ils peuvent résoudre le problème.

 

L'important n'est pas qu'il soit fabriqué avec l'IA, ni que l'auteur soit un chef de produit ou un programmeur professionnel, mais qu'il puisse répondre aux besoins des utilisateurs, et que ceux-ci soient prêts à payer de l'argent. Quant à l'utilisation de l'IA, il s'agit essentiellement d'un outil permettant de répondre à la demande et de faire du marketing.

 

Ces cas seront de plus en plus nombreux à l'avenir, et l'on assistera même à une explosion de petites et belles applications, car la décomposition et la production des exigences ne nécessiteront plus l'intervention de programmeurs professionnels au stade initial, et des non-professionnels seront en mesure de convertir des exigences courantes en prototypes. Une fois que la faisabilité des exigences aura été démontrée, l'auteur pourra soit acquérir d'autres compétences en programmation professionnelle, soit trouver des programmeurs avec lesquels travailler.

 

Pourquoi si peu de programmeurs réussissent-ils en tant que développeurs indépendants de nos jours ? Parce que les programmeurs sont tous trop éloignés des besoins, trop éloignés des utilisateurs, et qu'ils ne savent pas vraiment ce que les utilisateurs veulent ou comment le leur vendre !

 

En fait, les utilisateurs ont de nombreux besoins qui n'ont pas été satisfaits, mais avant l'amer, aucune technologie ne peut être réalisée, et à partir de maintenant, de nombreux besoins de l'utilisateur peuvent utiliser l'IA, leurs propres besoins dans un outil, d'abord pour répondre à leurs propres besoins et aux besoins des gens autour d'eux, dont une partie sera tirée hors du cercle pour aller.

 

Les exigences complexes devront toujours être conçues par des programmeurs experts, mais le processus de développement sera rendu beaucoup plus efficace par l'IA.

Le troisième changement est que l'IA améliorera considérablement l'efficacité de développement des programmeurs professionnels, ce qui raccourcira les cycles de développement des projets de logiciels.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Le génie logiciel a connu plusieurs changements majeurs jusqu'à présent :

- Modèle en cascade : marque véritablement le début de l'ingénierie logicielle, avec une division claire du travail, un cycle de vie du projet logiciel, rendant le développement logiciel mesurable.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

Développement agile : permet aux projets logiciels d'être de petite taille, ce qui permet des itérations et des livraisons rapides, et une meilleure réponse aux changements des exigences.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

DevOps : Continuous Delivery, Continuous Integration, automatise l'ensemble du développement, de l'intégration et du déploiement, libère le développement, les tests et l'O&M d'un lourd travail manuel, automatise l'ensemble du processus, de la demande à la version finale, et garantit la qualité du logiciel grâce à des tests automatisés.

AI 辅助编程给软件工程带来的需求开发范式变化(宝玉)

 

L'IA déclenchera ensuite un autre changement dans l'ingénierie logicielle, en rendant le développement de logiciels intelligent. Ce processus d'intelligence sera divisé en plusieurs étapes.

 

La première étape est celle que nous vivons actuellement, où les outils de programmation IA aident les programmeurs à améliorer considérablement l'efficacité du développement. L'année dernière, GitHub Copilote Cela me donne l'impression qu'il améliorera approximativement l'efficacité du développement du 10%-20% cette année. Curseur J'ai déjà pu réaliser des gains d'efficacité 30%-50%, en fonction bien sûr du type de projet et de la compétence de l'utilisateur, mais la tendance est claire.

 

La deuxième phase, qui arrive bientôt, est que l'IA augmentera considérablement l'efficacité non seulement dans la programmation mais aussi dans d'autres domaines tels que les tests et les opérations, où une grande partie du code de test automatisé sera générée par l'IA, explique Claude. ordinateur Au fur et à mesure que ces technologies arrivent à maturité, une grande partie du travail qui ne pouvait être testé que manuellement auparavant sera effectuée par l'IA, avec seulement un petit nombre de vérifications manuelles.

 

À l'avenir, l'IA pourra également jouer un rôle important dans l'analyse des journaux et le dépannage des pannes pour les opérations et la maintenance en ligne.

 

L'architecture logicielle et le langage de programmation traditionnels sont conçus pour les êtres humains, et l'IA essaie maintenant de s'adapter aux êtres humains et de programmer d'une manière humaine, ce qui n'est pas nécessairement la manière la plus appropriée pour l'IA.

 

L'IA générative actuelle se contente de générer du texte, des images et des vidéos, tandis que l'IA future devrait être capable de générer directement et dynamiquement des interfaces utilisateur et des écrans de jeu, ce qui permettra également à la programmation d'être davantage basée sur le langage naturel, et à des logiciels et des jeux plus complexes d'être créés en langage naturel.

 

Ce que nous apprend l'évolution du paradigme du développement des exigences

Chaque changement est un défi et une opportunité.

Pour les gens ordinaires, certains problèmes peuvent être résolus avec l'aide de l'IA, non seulement avec l'aide des outils de chat de l'IA, mais aussi avec l'aide des outils de programmation de l'IA pour écrire de petits scripts et de petits outils, résoudre directement les problèmes, améliorer considérablement l'efficacité de leur travail, et même créer un produit à la mode.

 

Pour les chefs de produit, au lieu de s'arrêter ou de se limiter au domaine de la conception de produits, ils peuvent aller plus loin et réaliser des prototypes utilisables de leurs produits avec l'aide d'outils de programmation d'IA pour valider rapidement les exigences.

 

Pour les programmeurs, la maîtrise future des outils de programmation de l'IA pour améliorer l'efficacité est essentielle, sinon il y a un risque d'élimination, en fait l'utiliser plus facilement qu'imaginé peut être, ne sont pas tenus de dépenser de l'argent pour acheter un cours, aussi longtemps que le psychologique ne résiste pas à plus d'utilisation plus d'expérience peut être.

 

D'autre part, si le programmeur peut avoir plus de contacts avec l'utilisateur, plus pour trouver autour de la demande, n'ont pas besoin d'aller à la note de rouleau, la comptabilité, ToDo trois-pièce suite d'une telle demande pour les produits de la rue mauvais, avec l'aide de l'IA peut rapidement aller à la mise en œuvre de la livraison, je garantis que vous faites hors des résultats que les programmeurs non-professionnels doit être beaucoup mieux.

 

Bien que la situation de l'emploi ne soit pas bonne aujourd'hui, la demande de jeux, d'applications et de sites web est très importante sur le marché mondial, et une bonne découverte peut permettre de trouver de nombreuses opportunités.

 

Quelle que soit votre profession, si vous voulez saisir les opportunités au milieu du changement, la chose la plus importante est de continuer à apprendre et à vous adapter, de comprendre les derniers outils d'IA et les limites des capacités, de maîtriser les meilleures pratiques de collaboration avec l'IA, et d'améliorer vos capacités transfrontalières avec l'aide de l'IA sans être limité à la profession que vous exercez.

 

Indépendamment de l'évolution du paradigme de développement des exigences de l'ingénierie logicielle, la nature de la valeur reste la même - l'essence de la création de valeur est toujours d'aider les utilisateurs à résoudre des problèmes réels. L'avènement des outils d'IA nous permet de valider des idées plus rapidement et de résoudre des problèmes plus efficacement, mais le succès final dépend toujours de la création d'une valeur réelle pour les utilisateurs.

 

Le changement de paradigme induit par l'IA n'élimine pas certains types de rôles, mais remodèle l'ensemble de l'écosystème du développement logiciel. La réussite future appartient à ceux qui comprennent ce changement et savent utiliser les nouveaux outils pour créer de la valeur.

 

 

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...