L'intégration Continue

Pourquoi faire ?

L'intégration n'est pas une notion nouvelle au sein d'un projet logiciel. Il en a toujours été question. À la fin de chaque projet, cette étape a lieu. Chaque développeur apporte à l'intégrateur les fonctionnalités qu'il a programmé. Et ainsi l'intégrateur a pour rôle de faire en sorte que tous ces codes soient assemblés. On peut donc clairement entrevoir le problème que cela implique. Pour mettre cela en exergue, on peut se référer au schéma ci-dessous.

Quelques chiffres

Comme on peut le voir sur ce schéma, le nombre de bugs introduits durant la phase de développement est la plus importante, ce qui est normal. Mais par contre, on peut voir qu'un certain nombre de bugs est introduit durant la phase de tests systèmes. Au niveau des bugs trouvés durant les différentes phases, la plupart des bugs sont dénichés durant la phase de tests systèmes. Si on met en corrélation ce qui a été dit précédemment avec la courbe des coûts, on peut dire que cela coûte une somme non négligeable de corriger durant la phase de tests système. Il est donc préférable de se rendre compte des bugs le plus tôt possible.

L'intégration continue, une solution ?

Le schéma ci-dessus nous montre clairement la différence qu'il y entre un projet ne pratiquant pas l'intégration continue et un autre la pratiquant.

On peut voir que dans le projet sans, il n'y a qu'une phase d'intégration. Cette phase est vraiment critique car durant toute la phase de développement, il n'ya pas eu de tests au préalable. On peut dire qu'il y a une part de flou qui peut amener des problèmes durant la phase d'intégration.

Dans le projet utilisant l'intégration continue, on peut voir qu'il y a plusieurs phases d'intégration durant le développement. Cela permet de mettre en place de manière incrémentale plusieurs releases du projet. Le projet est mené sous forme de petites itérations.

Cet autre schéma met en avant ce qui a été dit auparavant. On peut voir que beaucoup de bogues qui ne sont pas détectés apparaissent durant la phase de test et d'intégration. En mettant en place l'intégration continue, cette phase d 'intégration et de tests se déroule plusieurs fois et plus souvent, ce qui a pour effet de minimiser cette apparition.