Le contrôle qualité compense des défauts.
La cohérence par construction les évite.
Un contrôle qualité existe parce que le logiciel peut contredire ce qu'on attend de lui. Swoft s'attaque à la cause : le logiciel est tiré d'un seul modèle de votre métier.
Le contrôle arrive une fois le défaut écrit
L'IA écrit davantage de code, alors on automatise le contrôle. Il va plus vite, et les défauts continuent d'être produits.
- Après coup
Le défaut existe déjà
Quand le contrôle commence, l'erreur est écrite. Il reste à la trouver, à la corriger, puis à recontrôler.
- Angle mort
Il vérifie ce qu'on a prévu
Un test couvre le cas auquel quelqu'un a pensé. Edsger Dijkstra l'écrivait en 1970 : tester peut montrer la présence de bugs, jamais leur absence.
« Cease dependence on inspection to achieve quality. »Cessez de dépendre de l'inspection pour obtenir la qualité.
L'industrie a posé ce principe il y a quarante ans : la qualité vient de la fabrication, et le contrôle ne peut pas en tenir lieu.
La cohérence par construction agit à la source
Consistency by design : chaque règle métier vit dans le modèle, et le logiciel en est tiré.
- Une source
Un seul endroit pour chaque règle
Quand une règle change dans le modèle, il n'y a pas dix copies à retrouver dans le code.
- Avant le code
L'incohérence est refusée plus tôt
Une évolution qui dépend d'une fonctionnalité retirée est refusée avant d'être construite. Ce défaut n'a jamais à être cherché par un test.
Un modèle cohérent peut encore être faux
Si le modèle décrit mal votre entreprise, le logiciel sera cohérent et à côté de votre métier. Le contrôle change donc d'objet. La distinction entre ces deux questions est attribuée à Barry Boehm.
- Passe à la construction
Construit-on le logiciel correctement ?
C'est la question que le modèle et la génération de code peuvent prendre en charge, à mesure que les garanties progressent.
- Reste humain
Construit-on le bon logiciel ?
Les personnes du métier y répondent en relisant le modèle et en essayant le logiciel. Swoft garde aussi des tests là où la construction ne garantit pas encore le résultat.
Où en est Swoft
- Aujourd'hui
Le logiciel part du modèle
Swoft exécute le modèle ou en génère le code, et refuse déjà certaines évolutions incohérentes.
- À prouver
Rester cohérent quand le métier change
Les données déjà enregistrées et les agents doivent suivre le nouveau modèle. Aujourd'hui, notre équipe le garantit. C'est l'objet de notre programme de recherche.
Une règle de votre métier a changé récemment ?
Partons de ce cas pour regarder ce qu'il faudrait modéliser chez vous.