Et si un programme était capable d’en concevoir un autre ? L’idée semble tout droit sortie d’un film de science-fiction mais elle est moins irréaliste qu’il n’y parait.
Rappelons les 3 grandes activités dans la construction d’un système d’information :
- Define : définir les besoins
- Build : construire la solution
- Test : vérifier que la solution répond aux attentes
Nous allons nous intéresser aux acteurs intervenants sur les phases « Define » et « Test », à savoir les CP AMOA, business analystes et product owners, que nous désignerons sous le vocable BAPO .
Si l’activité « Test » s’automatise de plus en plus , les tâches de construction sont le plus souvent menées « à la main » avec des outils basiques comme Word, Excel, Jira ou Confluence. Or certaines de ces tâches sont soit répétitives, soit à faible valeur ajoutée, soit chronophages. L’utilisation du machine learning, en particulier au travers du traitement du langage naturel, peut permettre d’automatiser tout ou partie de ces tâches.
Commençons par l’étape « Define », la compréhension du besoin métier. On peut en général la synthétiser au travers des éléments et concepts qui constituent le cœur de métier de l’entreprise. Le cœur de métier peut se traduire grâce à une série de phrases binaires du type : « Un adhérent peut souscrire un ou plusieurs contrats ». Une IA de traitement du langage naturel peut, à partir de telles phrases, construire un schéma mettant en évidence les relations entre les concepts métiers (en langage technique on parle de modèle conceptuel des données ). Cette formalisation pourra ensuite être analysée par le système pour faire ressortir les incohérences et les points à clarifier (par exemple : un même contrat peut-il être souscrit par plusieurs personnes ?). Une fois cette étape terminée, il s’agit d’extraire les exigences. Il y a des fonctionnalités qui sont souvent des déclinaisons de créer, consulter, modifier ou supprimer un objet. Être assisté par un algorithme lors de cette étape va permettre aux BAPOs de ne pas oublier de fonctions de base mais surtout de se concentrer sur les fonctions spécifiques à forte valeur ajoutée.
Les règles de gestion constituent un autre type d’exigence (par exemple : un adhérent doit avoir plus de 18 ans). Celles-ci correspondent aux vérifications que le logiciel devra réaliser en fonction des actions effectuées. Ces règles varient fortement d’une application à l’autre et ne peuvent donc pas être générées par un programme. Néanmoins, une fois la règle de gestion comprise, sa déclinaison en test d’acceptation répond à une logique assez simple (cas passant, non passant et aux limites). Une IA en mesure d’interpréter le langage naturel sera donc parfaitement capable de générer la majeure partie des cas de tests, déchargeant ainsi les BAPOs de cette tâche répétitive. Ce type d’IA est également en mesure de proposer des jeux de données fictifs pertinents en se basant à la fois sur les règles de gestion mais aussi en identifiant le type de donnée pertinent pour chaque attribut.
En synthèse, les progrès faits en machine learning et en intelligence artificielle ces dernières années permettent désormais à des logiciels d’interpréter et de traiter du langage naturel. Il devient donc possible de décharger les BAPOs d’une partie de leur travail. L’automatisation partielle de l’analyse des besoins permet de réduire les risques d’erreurs et d’oublis. Mais surtout cela permet aux BAPOs de se focaliser sur la partie de leur travail où l’humain a le plus de valeur ajoutée : la gestion des éléments spécifiques au projet et la relation avec le métier. Car au-delà de la rédaction de spécifications, le cœur de métier d’un BAPO reste sa capacité à établir une communication empathique avec l’ensemble des acteurs du projet afin de mener celui-ci à bien.