De manière synthétique et visuelle, on peut représenter l’adéquation d’une démarche agile à un projet de cette manière :



Plus précisément, voici comment ces différents axes d'analyse peuvent être considérés :

Critère #1 – Serial killer ? No, Product Owner !
- sur l’organisation et la communication MOE – MOA -
La communication directe entre le métier et l’équipe de développement est au cœur des valeurs de l’agilité. C’est donc un bon point de départ pour savoir si le contexte du projet est favorable à une démarche agile.
Qui définit la vision du produit à développer ? Une personne unique peut-elle tenir ce rôle (même si plusieurs autres sont derrière elle) ? Est-elle intéressée, volontaire, voire motivée pour travailler directement avec l’équipe de développement, et réciproquement ? A-t-elle un pouvoir de décision suffisant pour permettre une bonne réactivité dans la définition et la validation des livrables ? Les développeurs s’intéressent-ils au métier du client ?
Autant de questions pour qualifier les bases de la relation entre le « Product Owner » (terme Scrum) ou le « Client » (terme XP) d’une part et les « développeurs » d’autre part… et savoir s’ils sont prêts à jouer dans la même équipe !

#2 – Il n’y a que les imbéciles qui ne changent pas d’avis
- sur le périmètre fonctionnel, la maturité et la stabilité des exigences -

« Cela fait bientôt 1 an que Diego et Dora planchent sur l’étude préalable de ce projet, qui est enfin presque validée alors non : les besoins ne changeront plus ! Ou alors à la marge. Et sauf en cas de réorganisation bien sûr… ou si le métier revoit ses priorités… ».

OK, soyons pragmatiques : classons les exigences selon leur niveau de maturité et de stabilité estimé. Comment sont-elles réparties ? Quelle proportion de nouvelles exigences peut-on attendre au cours du projet ? (et peut-être même souhaiter pour améliorer l’application !)
Naturellement, plus le périmètre est susceptible d’évoluer au cours du projet, et plus une démarche agile prendra de sens.

#3 – Y a-t-il un pilote… ?
- sur la priorité entre les leviers de pilotage -
On considère en général que les principaux leviers de pilotage d’un projet sont le budget, le délai, la qualité, et le périmètre. Qu’on le veuille ou non, il est capital de s’accorder dès le début sur les priorités en cas d’arbitrage. Par exemple, que la date de mise en production et la qualité ne sont pas négociables, mais qu’une provision budgétaire peut être allouée ou des fonctionnalités non indispensables supprimées en cas de problème ou de nouveau besoin en cours de projet. Agir ainsi de manière mesurée, ce n’est pas refuser de prendre des engagements. C’est juste de la prévoyance.
L’approche agile propose de jouer principalement sur le périmètre pour maîtriser les autres axes (budget, délais..). On pourrait aussi considérer qu’il s’agit d’atteindre le meilleur périmètre possible (ex : les 80% les plus importants, avec un très bon niveau de qualité), dans les délais et les coûts impartis. Pas sûr qu’une méthode agile soit la plus efficace si la priorité est d’atteindre un périmètre précis par tous les moyens…

#4 – Go-Go Gadget-o-Geek !
- sur l’environnement technique et l’application des bonnes pratiques de développement par l’équipe de réalisation -
Intégration continue, automatisation des tests, programmation en binôme sont de bonnes pratiques de développement popularisées notamment par XP. Elles supportent fortement les autres pratiques agiles : comment assurer la non-régression d’une itération sur l’autre sans automatiser une partie des tests ? Comment faire de la qualité du code une préoccupation collective de l’équipe sans séances de travail en commun ?
Encore faut-il que les conditions soient réunies : technologies, outils et logistique compatibles avec ces pratiques, mais aussi équipe compétente ou accompagnée sur ces sujets.

#5 – Esprit agile, es-tu là ?
- sur la sensibilisation aux principes aux agiles et la motivation à les adopter -
Enfin, et c’est probablement le plus déterminant, les participants sont-ils motivés pour appliquer les pratiques agiles dans l’esprit qui va bien ? En particulier, les individus peuvent-ils se placer dans une logique collective d’amélioration continue : accepter de mettre ses lacunes et ses défauts en évidence, se remettre continument en question, être exigeant mais tolérant, privilégier l'esprit d'équipe, partager les succès comme les échecs, s'engager devant l'équipe et prendre à coeur ses engagements ? Tous ceux qui se sont frottés aux démarches agiles le disent : le plus important, c’est que tout le monde joue le jeu !