Les outils de gestion du cycle de vie logiciel
Mesure de l'avancement et de la qualité
Depuis peu les entreprises ont pris conscience de l'importance de la qualité du travail. Des nouveaux outils apparaissent ou des anciens sont ressortis des tiroirs pour vérifier le travail réalisé. On comptera dans ceux-ci les tests, la gestion d'anomalies et la qualimétrie.
Tests
Les tests sont très importants dès le commencement de la phase de développement dans le cycle de vie du logiciel. On parle même de "Test Driven Development" lorsque les tests sont réalisés avant le logiciel. On distingue trois types de tests :
- unitaires : ils permettent au développeur de contrôler son travail au niveau de la fonction/méthode,
- fonctionnels : pour vérifier tous les cas d'utilisation (positifs et négatifs, erreurs et exceptions prévues). Il permettent de valider le logiciel auprès du client.
- de non-régression : pour vérifier que les nouveautés d'une itération n'ont pas d'impacts sur les anciennes fonctionnalités. Les tests fonctionnels d'une version deviennent donc des tests de non-régression à l'itération suivante.

Résultat des tests sous Test Director
Couverture de tests
Pour être efficaces, les tests doivent être complets, c'est-à-dire vérifier tous les cas d'utilisation possible. Les tests sont inutiles s'ils ne couvrent pas l'intégralité du projet. Pour résoudre ce problème, on utilisera des logiciels de couverture de code comme BullseyeCoverage pour le C/C++, Emma ou Cobertura en Java, NCover ou Clover en DotNet. Ces logiciels vérifient que l'ensemble du code source soit exécuté lorsque la suite de test est passée.
Gestion des anomalies et évolutions
Dès qu'un projet est développé par plusieurs personnes, il est indispensable d'utiliser un gestionnaire d'anomalies. Certains gestionnaires d'annomalies implémentent un workflow de résolution :
- Les analystes fonctionnels détectent et créent un ticket de bug dans le gestionnaire de bug, puis les affecte aux développeurs.
- Chaque développeur a accès à la liste des bugs à corriger.
- Quand la correction a été faite, le développeur marque le bug comme résolu.
- L'analyste vérifie que e problème est corrigé et clos le bug.
Jira est écrit en Java et est mis à la disposition des projets open-source gratuitement. Il propose plus de fonctionnalités que BugZilla, dont la possibilité de créer des formulaires de bugs et des workflows de résolutions personnalisés, la gestion d'une roadmap ainsi qu'une sécurité accrue.
La communauté Tigris propose également Scarab, écrit en Java, qui propose un niveau de fonctionnalités intermédiaires entre Bugzilla et Jira.

La Roadmap de Jira
Intégration continue
L'intégration continue commence à apparaître dans les grandes entreprises, mais est utile à tout le monde, même lors des projets dans le cadre de l'école Ingénieur 2000. L'intégration continue permet d'avoir des retours permanents sur l'évolution du projet, construisant le projet à intervalles réguliers et y en exécutant des séries de tests. Le résultat est à disposition de l'ensemble de l'équipe de développement dès que le développement a commencé et donne des informations sur les bugs fonctionnels, de programmation et d'intégration.

Intégration continue avec Cruisecontrol
Reporting et indicateurs (Qualimétrie)
La plupart de ces logiciels répondent à un même besoin : avoir une vue d'ensemble sur le projet,
regrouper les tests, la couverture de code, l'état des livrables afin d'obtenir des indicateurs
les plus précis possibles.
Ces indicateurs devront être croisés avec le suivi de projet pour déterminer son avancement.