Gestion de Projet Décisionnel – Méthodes Agiles ou Cycle en V ?

Après le choix de la technologie, je continue sur la réflexion lancée plus tôt autour du projet décisionnel. Cette fois-ci j’aimerais aborder la question de l’organisation du projet décisionnel, quelle méthodologie choisir, quel mode d’engagement, pour se garantir de réussir son datawarehouse (ou au minimum d’échouer avec élégance).

Avant de commencer, on peut se demander ce qui distingue un projet décisionnel d’un projet informatique classique. La réponse se limite en fait à un seul élément : la dépendance à une ou plusieurs sources de données externes. Cela peut paraître trivial mais c’est fondamental, car cela implique qu’un élément au cœur du projet n’est pas maîtrisé par les intervenants. Comment garantir un résultat, comment se prononcer sur des deadlines, quand un élément critique du projet n’est pas dans le domaine de responsabilité ? C’est la question qui doit rester dans la tête du chef de projet décisionnel quand il va choisir son organisation projet.

Au-delà de cette dépendance externe, il n’existe pas vraiment de différence avec un projet informatique classique. C’est un mythe qui a la peau dure, on aime tous se sentir un peu spéciaux, mais ça reste un mythe. En décisionnel on voit beaucoup les utilisateurs pour le design du reporting ? C’est pareil sur les applications qui disposent d’une interface – soient quasiment toutes. En décisionnel on gère de la complexité métier dans la modélisation ? C’est pareil pour les applications qui gèrent la production des flux métiers. En décisionnel on est déployé en petites équipes ? Ça arrive tout autant côté applicatif. En décisionnel on gère les sujets transverses de l’entreprise, ce qui est très politique ? Même combat au niveau des ERP, des CRM, du MDM… Non vraiment il n’existe pas vraiment d’autre différence.

Pour en revenir au sujet du jour, l’organisation du projet décisionnel, je vais tenter de faire court et organiser la réflexion autour de 3 questions :

  • Méthodes agiles ou Cycle en V… Comment arriver au but ?
  • Faire ou faire faire, faut-il appeler les consultants ?
  • Forfait ou régie, quel type de garantie fournir?

Pour ce premier article nous allons commencer par le choix de la méthode de gestion de projet : Méthodes agiles ou Cycle en V ?

La différence élémentaire entre les 2 vous la connaissez :

  • Les méthodes agiles sont itératives et participatives, on développe des petits morceaux d’application qui apportent de la valeur, qu’on fait valider par l’utilisateur avant de passer aux suivants. C’est l’utilisateur qui pilote au fur et à mesure le développement  à travers le choix des fonctionnalités qu’il souhaite voir développer. Un cycle de développement, une itération, prend 1 à 3 semaines.

Cycle de développement Agile

  • Le cycle en V repose lui sur un développement de bout en bout, c’est donc une délégation totale de la fabrication de l’application jusqu’à la livraison finale (lever de rideau !). Je veux un résultat, peu m’importe la route pour y arriver. Un cycle de développement prend plusieurs mois.Cycle de développement en V

Jusqu’à présent je pensais que cette dichotomie représentait bien l’écart entre les deux philosophies. Pourtant quand on y pense, et si on se concentre sur l’organisation projet et pas les valeurs que véhicule l’Agilité, une itération agile n’est rien d’autre qu’un mini cycle en V non ? On a une mini-spécification – la description de la fonctionnalité attendue – et toutes les phases classiques du cycle en V (conception, réalisation, recette, livraison). La différence entre les 2, encore une fois si on retire les valeurs de l’Agilité de l’équation, ne serait donc qu’un niveau de zoom sur l’échelle temporelle ?

Cette réflexion, et la réponse à cette question, m’est venue suite à la lecture de cet article d’un designer de 37 Signals : le dilemme de la documentation. L’idée principale de ce monsieur c’est que la volonté de créer, de changer, est un flux d’idées qui s’écoule comme une rivière. Si la productivité est suffisante, si la capacité à réaliser les idées est adaptée au volume du flux d’idées, tout va bien, la rivière s’écoule correctement. Par contre si la productivité est insuffisante, un goulet d’étranglement se forme, un lac de stockage apparaît.

Un océan de spécifications!

Deux possibilités existent alors :

  1. Soit on arrive à faire coïncider le volume du flux d’idées et la capacité de production pour retrouver un équilibre,
  2. Soit on stocke les idées sous la forme de documentation, de spécifications, dans l’attente de l’allocation de moyens de production.

Avec les méthodes agiles, on est dans la première possibilité. Le cycle en V correspond à la seconde.

Par rapport à votre projet, la vraie réflexion à avoir est donc : vais-je avoir une adéquation entre le flux de besoin et la capacité de production ?

Autrement dit : Mes utilisateurs sont-ils prêts à participer de manière active et régulière à mon projet ? Avec cette question on retombe sur nos pattes par rapport aux prérequis classiques de l’agilité. Les réponses :

  • Oui, je suis dans le cas 1, je peux faire de l’itération rapide sur le besoin > Méthode Agile
  • Non, je suis dans le cas 2, je vais devoir documenter mon besoin pour ne pas le perdre > Cycle en V

Un argument qui revient souvent en faveur du cycle en V, c’est que les spécifications sont un engagement sur le livrable qui permet de contourner le problème de confiance qu’on peut avoir avec l’exécutant. En effet : ne pas avoir confiance dans les moyens de production contribue au goulet d’étranglement, c’est un frein à l’innovation, le flux des besoins ne s’écoule pas correctement : il faut documenter pour stocker les idées.

J’ai déjà entendu que l’absence de maturité des utilisateurs était un obstacle à l’Agilité. Je ne suis pas d’accord, dans cette situation c’est le flux d’idées qui est contraint. J’aurai donc même tendance à penser l’inverse : un flux de besoin faible nécessitera une faible capacité de production, on pourra donc facilement arriver à une adéquation (solution 1). Par contre l’absence de maturité de l’équipe de développement est définitivement un frein à l’Agilité puisqu’on diminue la capacité de production, on rejoint le problème de confiance (solution 2).

Enfin, des sources de données de faible qualité sont un frein majeur à la capacité de production. Si vous savez que les auteurs des sources sont réactifs : privilégiez l’Agilité, dans tous les autres cas, commencez à spécifier…

D’une manière générale, chaque contrainte de votre projet doit être classée entre « frein à l’innovation » ou « frein à la capacité de production ». En fonction de l’équilibre vous saurez quelle méthode choisir.

Wow, j’écris sans trop regarder et je me rends compte que c’est déjà beaucoup trop long… Je coupe donc cet article ici, il me restera quelques points à traiter sur l’Agilité (les valeurs, comment découper son datawarehouse en fonctionnalités unitaires) et le cycle en V (positionnement MOA vs MOE), et on pourra passer aux questions suivantes :

  • Faire ou faire faire, faut-il appeler les consultants ?
  • Forfait ou régie, quel type de garantie fournir?

En attendant j’espère vous avoir donné une clef de lecture actionnable pour que vous puissiez répondre à la question : Cycle en V ou Méthodes Agiles pour mon projet décisionnel?

4 liens rapides pour la semaine (2011-22)

Enfin les vacances! J’espère que les vôtres ne sont pas trop loin 🙂

  1. Un flashback de 37 Signals qui s’applique à toutes les disciplines pour tous les projets.
  2. Deux citations reprises par Swiss Miss: Benjamin Elijah Mays avec « Ce qui est grave ce n’est pas d’échouer, mais de viser trop bas » et Clay Christensen avec « Une stratégie de vie ce n’est rien d’autre que de décider consciemment d’allouer son temps, son énergie et son talent. »
  3. Une histoire qui résume bien la taxe trop importante sur l’innovation qu’est la protection de la « propriété intellectuelle ».
  4. Et pour finir le best-of d’edw519, un livre en ligne qui compile les meilleurs articles d’Ed Weissman, un des top contributeurs du Hacker News. Ça parle surtout aux programmeurs et aux consultants informatiques, mais c’est une excellente lecture pour les managers et directeurs IT afin de comprendre comment fonctionnent leurs troupes.

______________________

<< Semaine PrécédenteSemaine Suivante >>

4 liens rapides pour la semaine (2011-14)

Que du très bon cette semaine:

  1. Ben Horowitz sur la compétence la plus difficile à acquérir pour le CEO (PDG)
  2. Lucius Kwok sur le recrutement lent (par opposition au fast food / fast recruiting)
  3. Wil Shipley sur le bon état d’esprit à avoir dans le monde des start-ups
  4. Sharon Fisher sur les 6 points à apprendre quand on commence en tant que chef de projet.

PS: Et si en cette période de fin de saisons vous cherchez une nouvelle série à suivre, je vous conseille Outsourced.

______________________

<< Semaine Précédente Semaine Suivante >>

Dibert du 30/01/2011

Une bonne méthode de validation des spécificiations!

Dilbert.com

Ruth: Dilbert, ton boss m’a demandé de te faire relire ce document.

Dilbert: Bien sûr Ruth.

Dilbert: En fait nous avons 2 options pour perdre notre temps.

Dilbert: Option 1 : Je pourrais t’indiquer tout ce que tu dois changer, et tu pourrais m’ignorer, comme d’habitude.

Dilbert: Option 2 : Je peux te mentir et te dire que tout est parfait.

Ruth: Je préfère le mensonge, comme ça je pourrais t’accuser si quelque chose se passe mal.

Dilbert: Excellent choix! C’est plus rapide, et plus tard je pourrais rétorquer que j’ai été mal compris.

Dilbert: Très bien Ruth, je déclare ce document parfait, en prenant en compte un certain nombre d’hypothèses que je ne listerai pas.

Boss: Avez-vous aidé Ruth?

Dilbert: J’ai envie de répondre oui, mais c’est pas forcément évident.

Nouvelle mission!

Me voilà parti sur une nouvelle mission! Chouette 🙂

J’aime enchainer les missions courtes, un mois ou 2 c’est bien. Pour moi c’est le meilleur deal: j’ai le temps d’apporter de la valeur au client, mais je n’ai pas le temps d’entrer dans ses conflits politiques internes ni celui de m’ennuyer.

Cette multitude d’expérience est à mon sens l’avantage du consultant. On va chercher un consultant parce qu’il a déjà vu son problème 10 fois, dans 10 contextes différents, résolu de 10 manières différentes. Et la meilleure manière d’obtenir ce recul pour un consultant c’est de changer de mission et de client régulièrement.

Évidemment quand on intervient en mission courte, on a pas le temps de faire dans la dentelle. D’une part les relations avec le client ne sont pas les mêmes, Brent Ozar a une bonne série d’articles sur ce sujet, d’autre part attendre pour une ressource technique devient réellement problématique.

Si sur mes 20 jours de présence j’attends 2 jours pour avoir un poste et 3 jours pour des accès aux serveurs, ça fait 25% du planning foutu en l’air. Les premières fois je l’ai mal vécu: je prenais sur moi d’avoir à délivrer 100% du boulot sur 75% du temps restant. Maintenant c’est terminé. Ce type d’attitude par rapport à ma prestation me fait changer mon approche de la mission. Si d’ordinaire j’arrive avec une quasi obligation de résultat (je m’engage à y arriver), avec ça je bascule à une obligation de moyen (je ferais de mon mieux). Si ça rentre tant mieux, sinon on avisera (travail incomplet ou rallonge). Et mon stress va beaucoup mieux, merci 🙂

Quand on y pense, à ce niveau de prestation (et à ce tarif), c’est quand même dommage de perdre l’engagement de son prestataire dès les 3 premiers jours de mission, surtout pour des ressources qui auraient pu être commandées 3 semaines en avance. Si on va plus loin, en fait ce n’est que rarement une erreur d’inattention, c’est en général plutôt un vrai symptôme de dysfonctionnement du service, voir de l’entreprise. Et c’est souvent le premier indice que cela risque de mal se passer, à surveiller donc!

 

Dilbert du 15/01/2011

Le pire c’est quand on prend ça pour de l’empathie

Dilbert.com

Traduction approximative:

Boss: Comment ça se passe?

Dilbert: Ça ne pourrait pas être pire!

Dilbert: Je suis le seul à avoir dit que le projet était une mauvaise idée et pourtant c’est à moi que vous l’avez assigné.

Boss (pense): C’est encore plus drôle quand je le leur fais dire.