Techno vs Livrable
Constamment confronté devant les deux aspects: Livraison en urgence et utilisation de la techno, je me questionnais à savoir pourquoi autant de projets informatique pouvaient souvent dépasser les délais, et même être abandonné. Est-ce là un problème causé par des chefs de projets trop ambicieux qui proposent des temps de livraison que les équipes de développement ne peuvent assumer ce sous des besoins fonctionnels plus ou moins clair ? Où est-ce que ce sont les équipes de développements qui s'attardent trop souvent à la beauté de l'utilisation de la dernière techno et de toute les "best practices" à la mode ?
Je crois que la prise de conscience doit se faire des deux côtés. Un bon chef de projet, sera à l'écoute de son équipe de développement, et saura bien guider son client afin de lui donner l'heure juste sur la charge de travail possible afin d'en arriver à répondre aux différents besoins du client.
Par ailleurs, une bonne équipe de développement, saura ce poser les questions suivantes: Qu'elles sera la méthode de travail qui nous permettra de pouvoir réellement fournir un gain sur l'échéancier du projet tout en livrant un produit de qualité ?
Ou est-ce que trop souvent les équipes tombent dans le piège de faire de faire de la techno pour faire de la techno sans ce préoccuper de répondre aux besions clients ?
Qu'est-ce que le Cruise Control ?
Qu'est-ce le Cruise Control ?
La vraie question devrait plutôt être qu'est-ce que Cruise Control ? Puisque ce n'est pas une méthode de drague ou quoi que ce soit se rapportant à l'approche d'une fille ou d'un gars.
En fait, Cruise Control est un produit appliquant la pratique d'intégration continue dans l'industrie des logiciels.
Pour formuler autrement la première question:
À quoi correspond l'intégration continue ?
C'est permettre de rendre simple TOUTES les tâches longue et souvent complexes requise pour obtenir un produit logicie final. Ce principel intègre tout les aspects du développement d'un logiciel soit: Compilation des sources, mise en place de la configuration, lancement de tests unitaire, contrôle de qualité des sources, packaging dans le but d'en faire un livrable exploitable et livraison automatique sur le ou les différents environnement d'exploitations.
Le mot continue dans Intégration Continue, vient appuyer l'aspect de petite livraison, mais sur une courte période de temps. D'oule but d'automisation de ces tâches qui peuvent être trop souvent répéter et causer une perte de temps et des régressions entre les livraisons.
Alors qu'est-ce que Cruise Control ?
Cruise Control, ce veut être un produit qui a été écrit pour les équipes de développement afin de leurs permettre de pouvoir appliquer l'Intégration Continue. Une version JAVA (CruiseControl) est disponible et une version .Net (CruiseControl.Net) est aussi disponible pour les différents environnements.

De ces deux versions de l'outil, il est possible et c'est l'objectif, d'intégrer différents outil permettant d'appliquer différentes tâches. Tel la récupération des sources sur un Contrôleur de Sources (TFS, CVS,SVN, VSS), lancement de tests unitaire (NUNIT ou JUNIT), contrôle de qualité du codes (FXCOP) et plus encore, comme NANT(.Net) et ANT (J2EE).
Que vous soyez du monde J2EE ou .Net, cette pratique n'appartient pas à une technologie en soit, mais qu'à une méthode de travail qui est l'Extrem Programming, prôner par Martin Fowler et Kent Beck qui ont été les premiers a écrire sur ce sujets.