“The two problems in Computer Science are: humans, and doing science” – moi.
D’abord il y a l’égo, qui ruine tout, bien sûr (cf 10 commandments of egoless programming).
Mais je pense tout simplement que très peu de gens/équipes/entreprises abordent leur projet comme une chose scientifique : observations, hypothèses, expériences, conclusions.
Pour qui se prétend “scientifique”, on fait beaucoup de choses au “doigt mouillé” : de la spec au code et aux tests. Qui fait vraiment l’effort de noter par exemple, les parties les plus modifiées de l’application ? Les parties qui ont le plus de bugs ?
Mais peut-être que nous nous prétendons ingénieurs ? “L’ingénierie est une activité rigoureuse de conceptualisation et de réalisation d’ouvrages d’art fonctionnel […], activité s’exécutant alors selon des règles de l’art et une rigueur scientifique.”
Donc si “computer science” n’est déjà pas une “science”, et “software engineering” n’est pas abordée comme de l’ingénierie (ou “du génie” comme on devrait dire), tout est mal nommé et ça ne fait qu’ajouter au malheur du monde (Camus) ;)