Valeurs et concepts des approches AGILE

25 Jan 2014 3 No tags

J’ai récemment participé à une formation sur le développement AGILE donnée par Jean-Luc Maze de la société Conseil & Moi, – ce fut très intéressant soit dit en passant. Cette formation a été l’occasion de revoir ou d’appréhender les approches  SCRUM et Extreme Programing. Je vous propose un petit aperçu des concepts et des principaux enseignements que j’en retire.

Le sujet étant vaste, je vous propose une série d’articles sur l’Agilité :

manifeste-AGILE

Image : http://www.gazelle-du-web.com/strategies/management-agile/

Les approches AGILE sont centrées sur l’humain

Ce qui m’a enthousiasmé, c’est d’abord la présentation des principes fondateurs du manifeste AGILE rédigé en 2001. Le manifeste est constitué de 4 valeurs qui fondent l’Agilité :

  • Les individus et leurs interactions plus que les processus et les outils ;
  • Des logiciels opérationnels plus qu’une documentation exhaustive ;
  • La collaboration avec les clients plus que la négociation contractuelle ;
  • L’adaptation au changement plus que le suivi d’un plan.

Ces valeurs sont très parlantes et applicables quasiment telle qu’elles. Pour moi, le plus frappant est qu’elles placent l’humain au centre du processus de création de valeurs : les individus et leurs interactions, la collaboration avec le client, l’adaptation au changement… On est sur de « vraies » valeurs qui signifient quelque chose et qui, à mon sens, devraient être des principes directeurs au quotidien.

Notez que ces phrases hiérarchisent les concepts : « Les individus plutôt que les outils« . Ça ne signifie pas que les outils ne servent à rien et qu’ils doivent être évincés des projets AGILE mais que, dans l’ordre des choses, l’individu prime sur l’outillage.

Des principes directeurs fondamentaux

Le manifeste Agile propose également des principes sous-jacents que je vous invite à consulter à cette URL : http://agilemanifesto.org/iso/fr/principles.html

Ils sont tous très intéressants et méritent une lecture attentive. Je vais en commenter quelques uns.

Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.

Ici ce qui me plait, c’est l’idée d’appartenance à une équipe, le fait de se fixer un objectif commun, de se donner les moyens de réussir et de se faire confiance pour la réussite du projet. Je pense que le sentiment d’appartenance à une team est un moteur essentiel, que ce soit pour la réalisation de projet informatique ou pour toute autre activité.

Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.

L’amélioration continue et l’excellence technique est le fait de se remettre en question en permanence afin de progresser. Ce principe est corrélé au principe 12 qui dit :

À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Ces 2 principes sont le fondement des équipes informatiques qui souhaitent s’adapter, progresser, se former, apprendre. Des équipes Agile, en somme. Les concepts Agile encouragent l’excellence et la qualité. C’est une vision du métier qui me parait essentielle pour progresser.

La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.

J’aime beaucoup ce principe car il joue l’honnêteté : dans les processus de développements IT, il y a malheureusement de nombreux travaux inutiles qui ne demanderaient qu’à être remplacés par du travail utile. La simplicité ne consiste pas à développer de manière simpliste mais consiste à ne pas faire compliqué. C’est un défi quotidien…

Le principe suivant est caractéristique du coté humain du développement AGILE :

La méthode la plus simple et la plus efficace pour  transmettre de l’information à l’équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.

Grosso modo, plutôt que de pondre de fichiers Word ou Excel pour expliquer le fonctionnement d’une partie de code ou pour décrire une tâche à réaliser, mieux vaut aller discuter avec son collègue. La transmission d’informations dans l’équipe SCRUM revêt un caractère particulier, que ce soit dans l’équipe de développement ou dans les relations avec le product owner. Les méthodes AGILE encourageant également la co-conception afin de donner la même vision à tous les membres de l’équipe.

Enfin, ces 2 derniers principes me paraissent importants:

Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.

Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.

On est ici dans le cœur des approches Agile : des cycles de développement très courts, du travail à forte valeur ajoutée, des livraisons rapides, régulières et qualitatives, une adaptabilité au changement. Les méthodes SCRUM et XP reprennent d’ailleurs ces grandes lignes, c’est ce que nous verront dans le prochain article qui traitera des approches SCRUM et XP plus en détails.