Favoriser l’adoption d’une démarche agile par un outillage adapté

Avec la complexification des projets et la nécessité d’une productivité toujours grande, les méthodologies de gestion de projet traditionnelles doivent laisser place à de nouvelles approches. Objectif : gagner en efficacité.

La complexité des projets est en perpétuelle augmentation, les utilisateurs attendent des solutions de plus en plus productives, l’émergence de l’informatique ubiquitaire impose aux systèmes des taux de disponibilités extrêmement élevés, enfin la délocalisation des équipes de développements augmente les difficultés de communication, d’organisation et complexifie les travaux d’intégration. Ce contexte de dynamisme nécessite une adaptation, voire un changement des habitudes de travail : les méthodologies de gestion de projet traditionnelles laissent de plus en plus place à l’agilité.

Définir sa méthodologie en sélectionnant des pratiques et processus idoines
Que ce soit XP, Scrum, Agile Unified Process (aUP), Test Driven Development (TDD)... l'ensemble des méthodologies agiles partagent  les mêmes concepts fondateurs : elles prônent notamment la rupture par rapport au modèle basé sur de longues étapes séquentielles. En effet, les processus des méthodologies sont ainsi constitués de cycles courts et itératifs. Ceci permet de réviser leur contenu très fréquemment, en tenant compte des avancements réels ainsi que des priorités de l'instant.

Concrètement, les phases de définition et de spécification exhaustive des systèmes attendus laissent place à des idées "souches" qui prennent différentes orientations en fonction des éventuels retours : changements des besoins, ou modification de contraintes en termes budgétaires ou de planning.

Il est généralement judicieux de bâtir une méthodologie propre en sélectionnant des pratiques et processus à partir de différentes méthodologies. En effet, la finalité et la granularité des méthodologies agiles sont souvent complémentaires : par exemple Scrum est une méthodologie essentiellement axée sur la gestion de projet tandis qu'eXtreme Programming (XP) apporte de nombreuses pratiques opérationnelles.

Il est ainsi possible d'enrichir une méthodologie par l'apport des pratiques externes. Ce travail nécessite cependant une très bonne connaissance des différentes méthodologies. En effet, le retrait de certaines pratiques ou leur remplacement pouvant anéantir les bienfaits attendus par certains processus.

Renforcer la méthodologie par l'application de modèles d'amélioration
La rupture du mode de pensée induit par les méthodologies agiles est généralement déstabilisante, ainsi il est fréquent de constater dans les premiers temps une confusion entre agilité et anarchie.

L'application de modèles d'amélioration et de référentiels de bonnes pratiques tels  CMMI et ITIL sur les processus agiles constitue un soutien précieux pour tirer bénéfice de l'agilité tout en garantissant la part de rigueur nécessaire à la réussite de tout projet. La définition et la mise en oeuvre de ces méthodologies agiles "enrichies" est un long travail - généralement pluriannuel - durant lequel il n'est pas rare de constater un schisme entre une communauté de "méthodistes" concentrée à affiner des processus et des équipes projets qui prises dans des contraintes de productivité se sentent peu concernées par les changements initiés.

Adapter l'outillage pour accompagner le changement
L'intégration des processus méthodologiques au sein des outils usuels des acteurs projet favorise leur adoption en améliorant leur compréhension et en guidant leur utilisation. Il s'agit du point fort de l'offre Microsoft : Visual Studio Team System. En effet, l'environnement de développement s'articule complètement autour de la définition de processus méthodologiques. Il est ainsi possible de définir des types d'éléments de travail, des indicateurs projets, des rapports de suivi de projet qui sont spécifiques à la méthodologie retenue. Ainsi si Microsoft ne propose que deux variantes à sa méthodologie (MSF), agile et CMMI, de nombreuses méthodologies de projet sont disponibles auprès d'éditeurs tiers : Scrum, Feature Driven Developpement, ou encore UP.

L'intégration de Visual Studio Team System aux logiciels Microsoft permet de synchroniser les plannings et assignations de tâches définies sous Microsoft Project ou encore modifier des éléments de travail sous Microsoft Excel. De plus, le produit est totalement extensible grâce à différentes solutions de personnalisation plus ou moins puissantes : de la modification de formulaire par la simple édition de fichiers de description XML au développement spécifique .Net en passant par l'intégration de services. Cette flexibilité permet à Team System de ne pas bouleverser l'outillage habituel en sus des changements sur les habitudes de travail liés aux nouveaux processus méthodologiques.

IBM avec son produit Rational Team Concert et Borland avec son approche de gestion de cycle de vie applicatif vont également dans le même sens que Microsoft : les plates-formes de développement seront de plus en plus à même de tenir le rôle de fédérateurs des méthodologies et des hommes.

Enfin, au-delà du gain en maturité des offres éditeurs sur le sujet, les retours d'expérience montrent que ces produits, une fois adaptés pour coller parfaitement aux processus méthodologiques définis, constituent de précieux accompagnateurs de la compréhension et de l'acceptation de l'agilité par les équipes projets.

Autour du même sujet