Conclusions

L'ingénierie est un domaine ancien et, que l'on réalise un logiciel, un matériel ou un pont de chemin de fer, les étapes du processus sont essentiellement les mêmes :

Certains domaines privilégient certaines phases. Par exemple, les constructeurs de ponts de chemin de fer n'ont pas trop à réfléchir sur le document récapitulant les besoins du marché (le DSL, pour le logiciel), le processus de réalisation, ou le suivi, mais il doivent faire très attention au dossier de spécification détaillé, au dossier de conception détaillé et, bien évidemment à l'assurance qualité (AQ).

Le moment déterminant de la conversion d'un « programmeur » en « ingénieur logiciel » se situe lorsqu'il réalise que le génie logiciel est un domaine dans lequel il peut entrer mais que, pour cela, il lui faut une approche intellectuelle radicalement différente, et pas mal de travail. Il se passe souvent des années avant que la différence entre programmation et génie logiciel ne saute aux yeux des développeurs de logiciels libres, simplement parce qu'il faut plus de temps pour que les projets de logiciels libres souffrent du manque de rigueur dans leur développement.

Ce chapitre décrit le génie logiciel de façon superficielle afin de le présenter au développeur de logiciel libre, et de susciter son intérêt. Le futur, ne l'oublions pas, est toujours constitué du meilleur du passé et du présent. Le génie logiciel n'est pas une sorte de règle à calcul ou de calculatrice de poche mais un mode de réalisation de systèmes de haute qualité, riche de techniques nombreuses et éprouvées, particulièrement efficace dans le cas de projets non réalisables dans le cadre de l'approche par un « unique programmeur de génie » commune à de nombreux développements de logiciels libres.