Tags

Gestion de projet méthodes

Agilité et gestion de projet web : épisode 1

Agilité et projet Web

Une introduction au Management et aux Méthodes Agiles

Nous entamons avec ce premier article une série consacrée aux méthodes Agiles, une gestion de projet initialement créée par des développeurs pour des développeurs. Cette pratique s’est aujourd’hui étendue à l’ensemble des métiers du Web et tend à se démocratiser dans d’autres secteurs d’activités.



Petite histoire du mouvement Agile

Durant les années 1990, de nouvelles méthodes de gestion de projet ont fait leur apparition dans le milieu du développement informatique : la méthode RAD, XP…  Suite à ces changements, 17 développeurs reconnus se sont réunis en 2001 dans le collectif Agile. Leur objectif : définir des bases communes pour la gestion de projet Web.

Mais pourquoi Agile ? Eh bien parce qu’il faut être extrêmement adaptable aux demandes souvent changeantes des clients lors de la réalisation d’une application ou d’un site Internet. CQFD.

 

Le Management Agile

Cette partie théorique va nous permettre d’aborder les grandes lignes et les principes de l’agilité dans l’exécution d’un projet Web.

Proche du management de la qualité, ils ont en commun l’adhocratie : trouver la solution la plus adaptée à la problématique Web du client en ajustant continuellement le processus de production à ses demandes (et ce même en cours de réalisation du site ou de l’application), en recherchant l’excellence technique mais sans faire de zèle inutile et chronophage.

La réalisation du site n’est plus prédictive (prédéterminée et immuable) mais itérative. L’exécution du projet est rythmée par des échanges fréquents et déterminants avec le client. Si le client vient initialement vous proposer un projet avec un objectif bien précis, ce dernier peut évoluer ou radicalement changer tout au long de la réalisation du site ou de l’application. En conséquence, pour les agences Web, il n’y a pas un objectif de résultat mais une obligation de moyen.

L’objectif étant mouvant, cet environnement est donc plus propice à l’innovation. A la livraison du projet, le site ou l’application Web répond parfaitement aux attentes du client et du marché à l’instant t, et non aux demandes émises au début du projet, à t-(lancement du projet). Ceci est d’autant plus important quand on sait qu’un site Internet complexe peut prendre du temps entre sa phase de conception et sa mise en ligne.

Sur cette base, le Manifeste Agile pose les 4 valeurs fondamentales pour un nouveau management de projet Web :

  • Le management doit principalement reposer sur les personnes (équipe projet, client et utilisateurs finals) et leurs interactions.
  • La réalisation du projet doit favoriser  l’application fonctionnelle plutôt que de répondre point par point à des documents techniques et théoriques.
  • La collaboration continue avec le client doit être remise au cœur du processus de production. L’implication client et les échanges ne doivent jamais cesser afin de répondre au mieux à ses attentes, même si elles sont changeantes. L’agence Web ne cherche plus à répondre point par point à des termes contractuels définis en amont du projet.
  • Pour la réussite de la mise en place du management Agile dans une agence Web, il faut se préparer à accueillir positivement le changement. Le client ne doit pas se heurter à un refus s’il désire modifier considérablement les objectifs du projet en cours de réalisation. Pas de panique, les méthodes agiles que nous évoquerons dans la suite de l’article sont là pour transformer ces changements en opportunités, justement là où des méthodes traditionnelles les considèreraient comme une menace.

 

 

De ces 4 valeurs découlent 12 principes :

  • Accueillir positivement les changements
  • Découper le projet en jalons et réduire les délais de livraison
  • Maintenir les échanges avec le client
  • Motiver les équipes et créer un environnement de travail fécond
  • Privilégier les contacts directs pour faciliter la communication
  • Contraindre le projet à avancer à un rythme soutenable pour préserver la qualité d’exécution
  • Choisir l’applicabilité et la cohérence comme seuls critères d’avancement
  • Viser l’excellence technique et technologique
  • Privilégier la simplicité pour assurer l’adaptabilité du projet en cas de changement
  • Partager les responsabilités entre des équipes autonomes sur la base du volontariat
  • Prendre un temps de réflexion en équipe sur l’amélioration du processus de production

 

Les méthodes agiles

Dans les méthodes traditionnelles, les objectifs et le découpage du projet en tâches sont définis en amont de la phase de production et demeurent immuables. Dans le milieu changeant du Web, le problème réside dans l’estimation de l’ampleur de ces tâches. Les méthodes agiles pallient à cette rigidité pour permettre de modifier les objectifs du projet quelque soit son avancement. Dans ce contexte, l’agence ne vend plus un projet fini en soi mais du temps forfaitaire de réalisation.

 

Avant de pouvoir appliquer ces méthodes, faut-il encore que le projet s’y prête. Voici les critères d’éligibilité d’un projet Web au management Agile :

  • La nécessité de mettre rapidement le site ou l’application en ligne pour répondre au mieux à la demande
  • L’implication volontaire du client pour suivre les méthodes agiles
  • Des objectifs susceptibles de changer en cours de réalisation
  • Un client qui souhaite visualiser l’avancée du projet à chaque étape réalisée
  • La nécessité de prendre en compte les attentes de l’internaute pour la réussite du site ou de l’application

Les pratiques managériales peuvent ensuite être regroupées en 3 catégories.

 

Au niveau des ressources humaines :

  • Faire participer l’utilisateur final à l’élaboration du site
  • Répartir les employés en équipes ayant un véritable pouvoir de décision
  • Demander la spécification et la validation permanentes et communes  des changements par l’ensemble des parties prenantes du projet

Pour le pilotage du projet :

  • La méthodologie retenue doit s’adapter au projet et non l’inverse
  • Le projet doit être constamment revu en fonction des enjeux et des risques
  • La planification doit être rythmée en fonction de sous-livraisons rapides
  • La réalisation d’un projet particulier doit servir à améliorer les pratiques de l’agence par l’accumulation d’expérience

En ce qui concerne la qualité de production :

  • Les équipes de développement doivent rechercher l’excellence technique et ne pas se contenter de l’à peu près
  • Il faut obligatoirement modéliser et visualiser le projet à chaque étape pour sortir du conceptuel
  • Les normes de production doivent être raisonnables pour ne pas rendre le site ou l’application irréalisable
  • Les équipes de productions doivent adopter des pratiques de gestion du changement en cas de réorientation des objectifs

 

Conclusion

En définitive, être agile c’est être adaptable aux demandes du client quelque soit l’avancement du processus de réalisation de son site internet, tout en maintenant l’excellence technique. Adaptabilité, oui, mais la qualité doit être au rendez-vous. Dans les articles suivant, nous aborderons les applications du Management Agile : XP et SCRUM

One Comment

  • Sylvain Brouillat

    30 mai 2012 at 19 h 29 min

    Pour la bonne réussite d’un projet agile, il faut bien noter que le client doit être très disponible (voir même être à temps plein) sur le projet afin de préparer les itération suivantes, répondre aux questions de l’équipe, être présent aux différentes cérémonies de la méthode. De plus, il est important que l’équipe de développement prenne conscience de l’engagement qu’elle prend vis à vis du client en début de chaque itération (le périmètre de cet engagement étant défini par l’équipe de développement elle-même). Il peut arriver que l’équipe ne soit pas en mesure de respecter son engagement, au quel cas elle doit être totalement transparante avec le client et le prévenir le plus tôt possible. Mais l’engagement doit être présent dans l’esprit des développeurs afin de donner de l’importance aux estimations, donner la meilleure vision possible au client, et aussi de motiver l’équipe pour atteindre son objectif. Il faut en effet garder un ryhtme soutenable mais aussi soutenu. L’équipe ne doit pas tomber dans une routine, et doit rééstimer sa capacité de travail en fonction de sa motée en compétences. En tant que Scrum Master, j’ai remarqué que vouloir fournir un logiciel de qualité peut amener certains développeurs, et même des équipes entières, à chercher continuellement l’amélioration de code existant (refactoring), au détriment du besoin client, et de l’engagement pris pour l’itération. Il faut alors faire attention de rester pragmatique dans les choix techniques, chercher toujours la simplicité dans la conception, et garder avant tout l’objectif du client en tête : avoir un logiciel fonctionnel et répondant à ses besoins.

    Répondre

Laisser un commentaire