Quels sont les plus gros problèmes du génie logiciel ?


Le problème d'hygiène.

Un facteur d'hygiène est un terme utilisé par le psychologue Frederick Herzberg, qui écrivait sur la satisfaction au travail ; mais il s'applique aussi à d'autres choses. Essentiellement, un facteur d'hygiène est une propriété d'un service, d'un emploi, d'un produit, etc. qui ne peut jamais fournir une satisfaction positive, mais qui peut fournir une insatisfaction s'il est absent. Ceci est généralement dû au fait qu'il s'agit d'une propriété que l'on suppose être présente. L'hygiène est un excellent exemple : aucun restaurant ne diffuserait une publicité disant "Tous nos chefs se lavent les mains après être allés aux toilettes". C'est certainement une bonne propriété d'un restaurant, mais tout le monde supposerait que c'est vrai de toute façon.


Malheureusement, avec les logiciels, des choses comme la sécurité et la fiabilité - qui sont beaucoup plus difficiles à fournir - ont tendance à se comporter comme des facteurs d'hygiène pour la majeure partie des utilisateurs, à l'exception de quelques acheteurs corporatifs extrêmement techniques. C'est le même problème ; mettre "ce programme ne plantera pas votre ordinateur !" ou "l'exécution de ce programme ne fera pas pirater votre ordinateur !" sur votre publicité ne rendra pas le produit plus attrayant pour la plupart des clients (sauf, éventuellement, pour les acheteurs de serveurs d'entreprise)


Et c'est un problème que tout gestionnaire de logiciel connaît. Lorsqu'un programme présente une faille de sécurité catastrophique, que se passe-t-il lorsqu'elle est découverte ? Il est patché. Les gens ne cessent pas d'utiliser le programme. Généralement à cause d'une combinaison entre l'inertie du changement (ou lock-in) et la sécurité comme hygiène.

Qu'est-ce que cela dit aux fabricants de logiciels ? Ne prenez pas la peine de sécuriser vos logiciels, car si vous prenez le temps de le faire, votre concurrent vous battra sur le marché. Lorsque leurs failles de sécurité apparaîtront, ils auront juste le droit de les patcher. Les gens ne passeront pas à votre programme. Et vous ferez faillite.

La même chose tend à s'appliquer à la fiabilité, à la compatibilité, à la pérennité, et même à des facteurs invisibles pour les utilisateurs, sauf dans le temps - comme la qualité du code (qui n'est visible pour l'utilisateur qu'en termes de rapidité et d'efficacité des mises à jour). Et cela mord l'informatique et les logiciels à toutes sortes d'endroits.

>