SFEIR - la voie Agile, le blog

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 4 juin 2010

Agile France 2010 - Vaincre le Plouf

L'agile conférence 2010 vient de se terminer. Nous avons été plusieurs Sfeiriens à y participer. Il était dit que nous aurions des choses à écrire sur le sujet. (Pour preuve, voir les articles déjà publiés sur ce blog).

Et puis l'ombre du Plouf est apparu ! On l'a reconnu, grâce à la présentation de Guillaume Duquesnay qui s'intitule "Vaincre le plouf", ce qui nous a permis de le reconnaitre de suite et de le nommer par son nom.

Maintenant on le sait, le Plouf est silencieux et attaque à l'aube des projets. Alors Oana a porté le 1er coup, en nous réunissant tous à la fin de la conférence pour passer en revue ce que chacun avait pu voir ces deux derniers jours et se répartir les sujets à traiter. J'ai mis en garde les participants et j'ai crié au 'plouf'. Jusque là on se défendait plutôt bien en groupe. Les premiers coups avaient portés et la Plouf montrait des signes de faiblesses.

Mais qu'allait il se passer une fois chacun rentrés chez soi, l'esprit repu par ces deux jours riches en échanges agiles ? Alors vite, je me suis fixée une première action facile à faire : allumer mon ordinateur, ouvrir une page blanche et écrire les premières idées qui me venaient à propos de ces deux jours. Et puis, j'enverrai un 1er jet à Sébastien pour avoir son avis et vaincre définitivement le Plouf : peut être pourra t-il publier ce billet, parce que le plouf, retord, me fait penser que j'ai perdu l'url de publication !!!

     Pour en savoir plus :

'Ça a fait ‘Plouf’» : les initiatives de votre équipe tombent souvent à l’eau. Vous sentez que des freins d’une nature inconnue ralentissent sa progression.

Ce sont les forces du Plouf.''

http://www.usi2009.com/webcast-5-26-Vaincre.le.Plouf.html

jeudi 3 juin 2010

Compte rendu d'Agile France 2010 : Mardi 1er juin

Suite à une première journée très intense, voici la suite des résumés des interventions auxquelles nous avons eu la chance d'assister.

Esther Derby : Keynote Self-organised team

Un constat : les équipes qui échouent le font toutes de manière différentes

Les équipes qui réussisent le font de la même manière. Idéalement une équipe de 5 ou un peu plus.

Une équipe va généralement suivre le cycle suivant :

  • Peu de contrôle du manager
  • Forte auto-organisation
  • Faible auto-organisation
  • Fort contrôle du manager


1->2 Dans ce shéma, le rôle du manager va être de lacher prise pour laisser l'équipe s'auto-organiser.

2->3 Si l'équipe ne prend pas ses responsabilité, elle retombe dans une certaine anarchie

3->4 Le manager va chercher à reprendre le contrôle

4->1 Retour de la confiance envers l'équipe, Nouveau lacher-prise du manager

L'objectif est de rester à l'étape 2 en continuant à être collectivement responsable

François Wauquier

Eric Mignot : Refactoring d’un legacy par les tests

Présentation d'un code legacy “tout neuf” et mise sous test avec mockito.

Discussions autour des pratiques.

Très interactif.

François Wauquier

Thierry Cros : Accord Toltèques

Thierry nous présente une nouvelle passion: les accord toltèques, originaire du mexique. Ces accord sont une ligne de conduite que l’on s’engage à respecter :

  • Ma parole est impeccable
  • Quoi qu’il arrive, je ne réagis pas de manière personnelle
  • Je ne fais pas de supposition
  • Je suis sceptique et j’apprends à écouter
  • Je fais toujours de mon mieux

L’atelier expérimental nous permet ensuite de considérer l’un de nos problèmes, et le voir à travers le prisme de l’un de ces accords.

En suivant cet accord, quelle action puis-je réaliser pour sortir de cette situation ?

Un clé de lecture complémentaire est que la solution se situe sur l’un de ces niveau hiérarchique :

  • Rôles
  • Savoir-Faire
  • Croyances
  • Environnement


François Wauquier

Gilles Mantel & Jean Claude Grosjean : Transformation agile à grande échelle

Valtech a eu la confiance d’une DSI dans le secteur industriel, désirant une conversion à l’agilité. Ils ont choisi 3 projets pilotes sur 300, (rapides, petite taille, peu critiques, ) afin de la diffuser.

Ils ont éxpérimenté l’Open Space entre coach, les rencontres entre équipes, les interactions avec les entités non-agiles, la transformation des standards, des contrats-cadres, …

François Wauquier

David Gageot : Git

David est maintenant évangeliste de Git, un gestionnaire de source distribué. J'ai retenu ces avantages:

  • Rapide
  • Distribué = backup gratuit
  • Différents mode/typologie
  • Gestion des droits par cercle de confiance
  • Phénomène GitHub
  • Permet au lieu de contraindre
  • Intégration continue sans serveur avec un private-build scripté


François Wauquier

Bernard Notarianni & Eric Séguier: Réussir ses projets à coût, délais, périmêtre et qualité fixes

Session controversée où Bernard s'attaque à la recherche du graal du contrat au forfait agile.

Il prend un exemple personnel de la réalisation d'un jardin par un paysagiste. Pourquoi ne pourrions nous pas faire cela en informatique ?

  • Délai fixe
  • Coût fixe
  • Périmètre = backlog, constitué par l'équipe
  • Qualité XP, constituée par l'équipe


Dans la configuration idéale, le client ne donne qu'une description vague de ce qu'il souhaite, et l'équipe détaille, collabore directement avec lui. Cela exige de revoir les organisations traditionnelles. La MOA par exemple si on la conserve, n'est plus un intermédiaire mais un support fonctionnel.

Dans l'ensemble, on rapproche le développeur de celui qui émet son besoin. Ca ne vous rappelle rien ?

Bernard nous propose finalement une organisation de type XP, en respectant les contraintes et en faisant varier le périmêtre.

François Wauquier

Pour complément, beaucoup de questions ont été posées et la verve légendaire de Bernard y a répondu (en partie selon moi car l'usage de la métaphore est peut être poussée à son extrême...) : "comment appeler ça forfait si le périmètre n'est pas fixe (obligation de résultat) ?", "N'est ce pas l'émergence d'un nouveau profil : le super développeur ?", ... Bref, pourquoi si peu de temps pour un sujet si vaste et qui se prête à tant de polémique ?

Thierry TREPIED

Jean Claude Grosjean : Personas - une dose d'expérience utilisateur pour vos projets agiles

Cette présentation n'est pas spécifique à l'Agile et peut très bien être utilisée dans le cadre de projets "cycle en V" ou autre.

Les personas sont des personnages virtuels qui représentent un utilisateur final. Il s'agit de lui donner :

  • un nom ou plutôt un prénom afin de créer une proximité
  • un profil (Age, métier, passions,...).
  • But dans le cadre de l'utilisation du produit.

Attention : ce n'est pas une cible type marketing mais réellement un personnage virtuel.

Ces personas sont créées à la suite d'ateliers et d'interview des clients finaux.

L'établissement de cette fiche persona permet d'avoir toujours en point de mire le but d'utilisation du produit en visualisant par exemple sur le radiateur d'information les personas impactées.

Thierry TREPIED

Guillaume Bodet : Architecture agile et conception émergente - le concept du jardinier

"L'architecture regroupe tout ce qui est difficile à changer" c'est à dire, ce qui va être couteux (argent, temps) dans le cadre d'un projet informatique.

Ce sont donc les langages de développement, les frameworks, ...

Guillaume décrit via cette présentation une vision de l'architecture et de l'architecte qui permet de la simplifier et de la rendre plus flexible.

Par exemple si on a plusieurs projet avec différents architectes, il faut créer la notion de "Architecte Chief" ou encore "Architect Owner" qui a pour but de centraliser les décisions en termes d'architecture commune.

Il est également "facile" de ne pas tomber dans le piège d'une architecture complexe : privilégier l'échange de document (type Rest) au RPC entre différents systèmes.

Le jardinier peut changer l'apparence d'un jardin via quelques modifications à l'inverse d'un bâtisseur de cathédrale par exemple...

Thierry TREPIED

Régis Medina : Satisfaire complètement son client avec le Problem Driven Devlopment

La démarche de Régis est simple : pour satisfaire un client, il faut connaitre ses problèmes, son besoin.

Pour cela rien de mieux que d'aller l'observer.

Se mettre derrière lui et prendre note du cheminement dans l'appli, voir s'il se retrouve dans les menus proposés, ... Sa préconisation : aller sur le terrain et observer.

Egalement ne jamais partir du principe que "c'est une évidence". Pour un informaticien, le placement d'un bouton peut être instinctif, sans discussion, mais une fois l'application donnée à un utilisateur, on se retrouve devant une incompréhension de sa part et un blocage dû à une disposition non conforme à ses attentes de ce qui est mis à sa disposition.

Il faut donc l'observer, établir un cheminement pour aboutir à la fonctionnalité, mettre en évidence les points de douleur, et revenir vers lui. ça peut se résumer en :

  • voir le client
  • voir la performance
  • voir les problèmes
  • résoudre les problèmes
  • en tirer les bonnes leçons

Ce discours s'adresse essentiellement au Product Owner qui doit s'imprégner au plus prêt des problèmes de ses utilisateurs finaux.

Thierry TREPIED

Compte rendu d'Agile France 2010 : lundi 31 mai

La conférence Agile France est une nouvelle fois un succés. Cette année elle s'est ouverte à d'autres services de l'entreprise tels que le service RH ou encore Finances.

Sfeir vous propose des résumés des interventions auxquelles nous avons eu le privilège d'assister.

Laurent Morisseau : Scrum & kamban hors du cœur de cible agile

Présentation très riche en expériences et en clés de lecture. Laurent revient sur 3 de ses récents projets où il a expérimenté différentes méthodes. Il utilise pour cela la théorie des contraintes.
Petit rappel : Un système complexe est comparable à un réseau d’eau. Le débit du système est subordonné par le débit d’un goulot d'étranglement.

Il y a toujours un goulot. Une fois ce goulot défini, il convient de suivre ces étapes :
Exploiter le goulot : limiter les tâches annexes,
Subordonner : inutile d’augmenter la capacité à côté du goulot, autant fixer la cadence à la capacité du goulot
Elever : Augmenter la capacité du goulot jusqu’à obtention d’un nouveau goulot, et recommencer à l’étape A
Concevoir : Définir le goulot
Le lean répond à cela en définissant le client comme goulot du système, le reste est en flux tiré

Il présente ainsi les approches :

Adaptatif : Il y regroupe les pratiques communes du dévelopement agile

Scrum : Gestion du backlog avec priorisation

Scrum-ban : Remplacement du backlog par un tableau Kamban

Laurent rappelle l’importance de l’adaptation au contexte.

Les projets avaient des typologie peu commune :

  • Cellule d’architecture transverse, effectuant des normes et des revues de codes.
  • Projet de migration de Abal vers .Net
  • Projet de Tierce Recette Applicative, avec création de scripts de tests automatisés

Ces projets avaient pour point commun que les tâches étaient répétitives, peu priorisables.

Laurent a donc expérimenté le Scrum Ban.sur ces 3 projets

Les problèmes récurrents qu’il a rencontrés :

  • Définition du minimum recettable pour la priorisation
  • Définition de fini (DoD)

Les 4 nouvelles clés de lecture qu’il propose pour savoir si un projet est adapté à

  • Nature du système
  • Nature du travail
  • Nature du pilotage
  • Nature de l’engagement

Laurent n’oppose pas scrum et Kamban, il voit en Kamban un nouvel outil, pour un usage différent.

Pour la partie métrique, il a utilisé pliseurs graphiques en plus du kamban lui-même.

Le plus synthétique est la courbe de valeur cumulée, qui permet de suivre l’évolution du Work In Progress, ainsi que le lead time.

Bonus : La petite loi nous dit qu’il y a un lien entre le wip et le lead time. Il faut diminuer le wip pour raccourcir le lead time.

François Wauquier

Pierre Pezziardi : L'informatique conviviale

Pierre utilise quelques termes du lean afin d’introduire l’informatique conviviale,
C’est la position d’une DSI qui cherchera a rendre ses outils plus facile à utiliser et plus facile de contribuer.

Il s’inspire des produits du web fortement collaboratif : Wikipedia, eBay, et des outils simples à utiliser comme Google Maps.

L’organisation doit alors définir un pacte, qui va permettre aux individus de se responsabiliser.

Les rôles vont changer, il y aura moins de manager au sens traditionnel.

C’est une transformation qui prend du temps.

Le livre est en ligne aux éditions eyrolles pour les curieux.

François Wauquier

Freddy Mallet : La chasse aux 7 péchés capitaux peut commencer

Présentation de Sonar et du principe d’inspection continue.

Petit Rappel : Sonar est un outil d’analyse de code combinant plusieurs outil afin de fournir plusieurs métriques et déterminer la dette technique

La société Sonar propose maintenant de l’hébergement de sonar. Plusieurs projets Open Source et sonar lui-même sont ainsi continuellement inspecté.

Un bon code est une code pour lequel le coût d'ajout d'une fonctionnalité est constant au cours du temps. Les 7 péchés capitaux du développeurs sont les pièges qui rendent le code moins maintenable.

François Wauquier

Pascal Von Cauwenberghe : Les jeux de l'estimation

Cette présentation faite également sous forme d'ateliers a pour but de mettre en exergue les pièges et confusions souvent faites sur les estimations.

Les points clés :

  • Une estimation est une fourchette. Ce ne doit pas être un chiffre exact.
  • Avant de donner une estimation, il faut toujours demander dans quel but elle va être utilisée. Cela permet notamment d'en déduire le temps à y consacrer.
  • Distinguer estimation (provient d'un calcul, d'une réflexion) de l'engagement (qui est une décision).
  • Compter avant d'estimer (afin de diminuer les incertitudes)
  • Combiner les estimations à partir d'estimations indépendantes permet d'avoir la meilleure estimation
  • Toujours avoir de 15 à 20 éléments par horizon de planning (par exemple nombre de stories dans une itération)
  • Calibrer les estimations avec des données réelles (notion de référentiel de données passées)
  • Ne jamais négocier les estimations
  • Ne jamais négocier les engagements
  • Essayer de résoudre les problèmes (conflits) en offrant des options


Thierry TREPIED

mardi 1 juin 2010

Domain Driven Design - Agile France 2010

vendredi 28 mai 2010

Agile France 2010

Sfeir est sponsor web etait supporter de Agile France 2010 (ex-XP-Days)
Dans le programme
 
Voici les sessions proposées par les consultants de sfeir
Domain Driven Design et agilité
31 Mai 10h - 11h Salle Courage
François Wauquier et Nicolas Martignole
La session où vous allez enfin comprendre DDD

Intégration Continue
31 Mai 14h30 - 15h Salle Communication
François Wauquier
Un retour d'expérience à la BNP sur un projet vieux de 10 ans

Comment évaluer la réussite d'un projet agile ?

31 Mai 16h - 17h30 Salle Communication
Oana Juncu
La réussite - mesures ou perception? Objectivité ou "feeling"?
Une mise en perspective des signes de réussite, partagés ou à partager.


Ne manquez pas un miette de cette superbe conférence!
à bientôt

mercredi 26 mai 2010

Le Product Owner Agile : peut-il être multi projets ?

Introduction

S’il y a un rôle déterminant dans la méthodologie Agile, c’est celui de Product Owner. Il doit être présent et à disposition de l’Equipe, prioriser, spécifier et valider les stories. Tout ceci dans un laps de temps d’une itération. Son implication et sa capacité à alimenter l’Equipe sont les facteurs majeurs de réussite du projet. Dans ces conditions, doit-il se consacrer à 100 % à son projet ou peut-il être multi projets? Et dans ce cas, comment être multi taches ?

Des contraintes métier fortes

TasLivres.jpg Au cours d’une précédente expérience professionnelle, j’ai appris à pratiquer la méthodologie Agile. Pour débuter, j’étais Product Owner d’une application à développer « from scratch ». Je me suis consacré à ce projet à 100 % pendant une durée de 9 mois environ avant de devoir prendre dans mon escarcelle d’autres projets en cours, orphelins de PO. Le métier évoluant très vite, il n'est pas envisageable de terminer un projet avant d'en commencer un autre.
L'incapacité de faire un choix de priorité, ou tout simplement un sous effectif de PO, se répercute sur le Product owner qui se voit dans l'obligation de mener des projets en parallèle.
Plusieurs projets sont à mener de front. Plusieurs équipes de dév sont constituées; elles sont tout de même dédiée à un projet.

Constituer une équipe de Product Owners

formation_75x75.jpg Cette phase d’apprentissage de la fonction de PO a fait ressortir quelques points :
- le PO a au moins une itération d’avance de spécification sur l’Equipe ;
- il doit toujours avoir à l’esprit la vision et la version de son produit à livrer et le partager avec l’Equipe ;
- plus il teste l’application tôt (si possible dès la livraison de la fonctionnalité), moins il a à gérer les retours.
Puis l’augmentation du volume de mon portefeuille projets m’a amené à travailler de la façon suivante :
- constituer une équipe de « Product Owners ». Ce qui induit de les former au métier et à la fonction de PO.
- de ce fait, déléguer un certains nombres de taches normalement attribuées au PO
- au fil de l’eau, se désengager des projets « qui roulent »

Petit Scarabée deviendra PO

Accompagnement_50x50.jpg Pour ce faire, j’ai recruté un analyste, pour qui le métier était inconnu, mais avec un esprit clair, ouvert et vif. Je l’ai formé sur le « projet qui roule » en méthode Agile :
- Au début de chaque itération, je spécifie les règles de gestion métier, les cas de test à la marge. Il se charge alors d’établir les cas de test ;
- Nous itérons également sur un passage de connaissance métier lié au différentes stories à traiter.
- Il participe aux ateliers de travail utilisateurs afin de s’imprégner de leur vision, de leurs besoins et d’un langage métier.
- Petit à petit, il prend en charge la recette des fonctionnalités livrées par l’Equipe.

"Luke je suis ton père", mais maintenant tu es grand

A ce stade, je reste encore le PO, mais nous entrons dans une phase où nous pouvons être considérés comme backup l’un de l’autre. Les seules différences entre nous deux sont :
- Une connaissance métier plus approfondie due à mon passif (difficile à changer…) ;
- Je suis interne et il est externe. Mais est-ce une condition nécessaire pour être PO ? A priori non dès l’instant où il peut s’appuyer sur une MOA interne à forte disponibilité.
Etant donné cet état de fait, je me positionne désormais en backup et le nomme PO du projet. Il le prend dorénavant en charge de bout en bout, et sait qu’il peut compter sur moi en cas de besoin.

Une équipe PO en place. Oui mais...

Ce cycle de formation à la méthode, passage de connaissances métier et endossement de la cape de PO a pris environ 3 mois. Il est évident qu’il s’agit d’une charge de travail supplémentaire, mais étant donné qu’il a pu monter en compétence rapidement sur la rédaction des cas de test (Fitnesse) et recetter les stories, c’était aussi une charge de travail en moins. La constitution d’une équipe PO s’est avérée comme étant une stratégie payante. Cette équipe PO peut être vue comme une équipe Agile à part entière, fonctionnant en parallèle de l'équipe de dév sur un rythme d'itération en avance d'au moins une phase. Il faut cependant être très claire en termes de communication vis-à-vis de l’Equipe (qui est le PO référent et bien gérer la bascule d'un PO à l'autre) et savoir se coordonner précisément sur les fonctionnalités à embarquer.

Thierry TREPIED- Directeur de projets & Coach Agile
SFEIR Groupe

lundi 17 mai 2010

Synthèse du rapport Forrester

Publié le 06/05/2010, ce rapport donne une évaluation des outils du marché sur ADM (Agile Development Management Tools). Il s’agit d’apporter les fonctionnalités des outils ALM à la gestion des projets Agiles. Outre cette approche orientée évaluation des outils (mise en évidence de leurs faiblesses ou de leurs points forts), il permet par ailleurs de faire un état des lieux du marché sur la pénétration de la méthodologie Agile.

Un constat : une méthode innovante devenue la norme

35 % des organisations mettant en place des projets informatiques le font en méthodologie Agile. Cette méthode ressort comme étant flexible, intéressante pour les développeurs, dynamisante pour l’Equipe. Il en résulte néanmoins que dans le cadre d’un suivi, les « post it » sont très vite dépassés si plusieurs projets sont gérés en parallèle ou s'ils interagissent. Les éditeurs se sont donc précipités sur cette niche soit en élargissant leur offre vers le gestion de projet, soit en s'adaptant à la méthodologie Agile. Ce besoin de mise en place d’outils destinés à une gestion de projet automatisée et un suivi de plus haut niveau est bien réel.

Les pré-requis

- Partager l’information en temps réel quelque soit la localisation, le nombre de projets en cours. Intégrer une gestion de projets industrialisée (reporting) à la méthodologie Agile.
- L’Automation : une évidence dans l’intégration continue, les tests automatisés, …
- La rétrospective : récolter les informations lorsqu’elles surviennent et faciliter leur réutilisation.

D’après Forrester, la montée en compétence en Agile pour l’équipe est basée sur 2 points : - l'acceptation du changement et l'intégration continue.
- les managers « responsables produits » doivent répondre rapidement à des besoins business même si ceux-ci sont définis sur des roadmaps annuelles.

Une vision projet à différents niveaux

ForresterDiagramme.JPG Le diagramme ci-dessus montre que les besoins de reporting de l’Equipe projet (contrôle de l’avancement itératif) font partie intégrante du besoin en reporting du management (vision produit voir dépendance multi produits).
La visibilité du projet doit être très précise au niveau du développement (quotidienne, suivi de taches) alors qu’elle est plutôt macro au niveau du management (quotidienne également, "Just In Time", mais avec une vision produit).
La planification du projet se fait à 3 niveaux :
- produit
- itération
- individuel

« Scrum, oui mais… »

Scrum est majoritairement utilisé mais chacun a tendance à se l’approprier et à l’adapter. Par exemple la validation d’une story peut avoir lieu selon les cas lors des tests, ou encore lorsque les tests automatiques passent ou encore suite à une revue de code. D’autre part, la combinaison de Scrum et de XP devient monnaie courante.
Scrum est une méthode idéale pour débuter l’Agilité, c’est à priori la meilleure approche, néanmoins il est nécessaire de la compléter d’une boite à outil en vue d’un besoin de suivi et de management du process.
La grille d’évaluation prend en compte cet aspect modulaire de Scrum.

Résultats de l'évaluation

En vue d’automatiser cette vision planning à tous les niveaux, Forrester a étudié les forces et faiblesses des 10 premiers acteurs du marché. La grille d’évaluation est basée sur 152 critères répartis comme suit :
- 117 portés par l’offre de l’outil
- 20 sur sa vision stratégique
- 15 sur son taux de pénétration du marché Agile

Ci-dessous le diagramme montrant la répartition des éditeurs en fonction de la grille de critères (Offre, vision stratégique et présence sur le marché) : ForresterEvalOutils.JPG

Pour résumer :
IBM et MKS sont les deux acteurs les mieux placés actuellement sur le marché.
Atlassian, CollabNet, et Microsoft ont des stratégies agressives qui devraient s’avérer payantes dès 2010.
Rally Software offre le meilleur équilibre entre la capacité de ses produits et ses perspectives stratégiques.
HP, Serena Software sont nouvellement intégrés sur la marché et devraient prendre de l'ampleur.
VersionOne manque de souplesse.

Enfin ce dernier tableau peut aussi orienter le choix de l’éditeur car il présente le coût des licences : ForresterCoutOutils.JPG



En complément de cette synthèse, vous pouvez retrouver le podcast : “Agile ADM Tools Wave: Surprises And The Future Of ALM.”

Thierry TREPIED- Directeur de projets & Coach Agile
SFEIR Groupe

Retour d’expérience : la perception Utilisateur de la méthodologie Agile

La méthodologie satisfait très majoritairement tous ceux qui la pratiquent et sa prise d’ampleur le confirme. Peut-on alors parler de succès limité à la conduite/gestion de projet ou étendre ce succès aux clients/sponsors des applications ? En particulier le « client final » (utilisateur de l'application) s’y retrouve-t-il ?

Un point sur la situation Client :


Chaque cas est bien évidemment particulier sachant que la mise en place de la méthodologie peut être soit portée par la gestion de projet (scrum) soit portée par le développement (XP). Même si dans la majorité des cas ce sont les deux qui vont de paire... Je fais donc le choix d'utiliser ma propre expérience afin de mettre en exergue les difficultés rencontrées et les succès majeurs de cette méthode. Tout d'abord, plantons le décor : nous avons appliqué Scrum (AMOA) combiné avec XP (plateau de développement composé de prestataires). Je suis client (chef de projet / product owner) de plusieurs applications :
- 1er cas : un projet de refonte d’une brique du SI,
- 2ième cas : un nouveau projet (application from scratch),
- 3ième cas : un projet « purement technique » (mise en place d’un ESB).
Les utilisateurs concernés sont des populations métiers bien différentes et ont une vision distincte des applications.

1er cas : la refonte applicative :


Dans le 1er cas, l’application souffre d’un comparatif avec l’existant en plus de nouveaux besoins à implémenter. Dans un premier temps, l’application a été découpée en 3 lots distincts afin de pouvoir délivrer en 3 phases l’application complète. Un suivi de projet utilisateur en alternance avec les planning games est mis en place. Les utilisateurs sont porteurs et très enthousiastes quant au fait de voir l’application grossir en emportant leurs besoins. Cette satisfaction va de paire avec la volonté de voir leurs nouveaux besoins apparaître sachant que la refonte (éléments de base) n’est pas encore terminée… Puis vient la date fatidique de mise en production du lot n°1. Et là patatra : « on ne peut pas mettre en production une application qui ne couvre pas tout le périmètre ! ». Est-ce un problème de communication de la part de l’Informatique ? A priori non, car ce découpage et ce lot de livraison sont en permanence rappelés. Il s’avère que l’utilisateur n’est finalement prêt à basculer que si son environnement de travail bascule d’un coup. Il ne conçoit pas de gérer une partie des données dans l’ancien système et l’autre dans le nouveau. La méthodologie a dans ce cas complètement satisfait les utilisateurs, même s’ils n’ont pas eu l’occasion de profiter de mise en production incrémental plutôt qu’une bascule complète vers cette application. L’Equipe quant à elle, est surmotivée par cette application qui leur permet de s’exprimer pleinement avec des interfaces riches, et une méthodologie de développement ultra communicante en accord avec leur façon de voir les choses.

2ième cas : une application toute neuve


Dans le 2ième cas, il s’agit de mettre en place une application, qui par la même occasion, met à plat les interactions entre trois services allant du back au front office. L’application est rapidement développée mais sa mise en place est décalée, ceci à cause d’un point purement business. Une fois en place, elle est vécue dans un premier temps un peu comme une contrainte car chaque service voit alors clairement les dépendances les uns vis-à-vis des autres, puis elle devient enrichissante car facilite les échanges et évolue très rapidement. Cette facilité de l’Agile est exploitée de façon très poussée par les utilisateurs et donc répond très bien à leur besoin. Par contre, l’Equipe le vit beaucoup moins bien car ils ont l’impression de faire et défaire en permanence : « pourquoi se presser puisque de toute façon on va revenir dessus… ». Même si, en tant que Product Owner, je remonte le fait que l’application est très satisfaisante pour les utilisateurs, le moral de l’équipe est difficilement maintenable au beau fixe et la lassitude se fait souvent sentir. De ce fait, la méthodologie est de temps en temps ressentie comme une contrainte (peu de binômage), même si de leur point de vue, aucune autre méthode n’est envisageable.

3ième cas : un client Agile convaincu


Enfin le 3ième cas est plus un projet technique et je suis donc l’utilisateur final est tant que PO et chef de projet. Chacun des deux premiers exemples entrainent un besoin à mettre en place dans cet ESB. De ce fait, la méthodologie Agile répond parfaitement car on ne sait pas réellement ce que l’on doit mettre en place dans cette application et on le « découvre » pour la prochaine itération. La façon de concevoir cet ESB sous forme de scénarios a satisfait d’une part le client dont le besoin émergeant est pris rapidement, et d’autre part l’Equipe qui voit les fruits de ses efforts utilisés peu de temps après leur développement.

En conclusion


Chaque projet a été ressenti de façon différente : - par les utilisateurs finaux selon le périmètre de l’application, l’impact sur les process métier. Le point commun remonté est le fait que, grâce aux livraisons itératives, ils ont à disposition un produit fonctionnel qui leur permet de valider rapidement la conformité avec le business ; - par l’Equipe, selon la variété du produit, l’utilisation du refactoring et le résultat de leur travail qui était utilisé rapidement ou non. La méthodologie a fait l’unanimité, même s’il convient de bien réfléchir à la façon de la vendre auprès des différents intervenants afin de ne pas les frustrer quand à la rapidité avec laquelle sera mise en place la produit.

Thierry TREPIED- Directeur de projets & Coach Agile
SFEIR Groupe

jeudi 22 avril 2010

OpenVolcano2010 - l'annonce d'un nouveau phénomène de société?

IMG_0016.JPG

Les difficultés sont des opportunités ou l'histoire réelle du "vouloir c'est pouvoir"

C'est un article qui parle d'un groupe des experts en Agile bloqués à Londres par le nuage de cendres, dont l'auteur est le volcan Eyjafjöll, qui ont organisé une conférence sur le modèle OpenSpace et trouvé des sponsors en 48 heurs sur twitter.

C'est une expérience à vivre pour la croire.

L'organisation "cloud" d'une conférence

Dans la logique du "cloud computing", OpenVolcano10 mérite d'introduire un nouveau concept, la "cloud conférence". Le groupe d'organisateurs ( Paul Darrel, Roy Osherove, Bob Marshall...) a agit comme une véritable équipe Agile arrivée à maturité: autogérée. Le lancement de l'initiative a eu lieu dimanche 18 avril dans la matinée, sur twitter. Le temps d'organiser la conférence a été contraint ("timeboxed") à 2 jours : de dimanche matin à lundi soir.

Twitter a fait preuve de son pouvoir de faire circuler l'information, et connecter des gens au tour d'une initiative qui porte la motivation du groupe. Dans environ 6 heures du lancement il n'y avait plus de places pour la conférence, les organisateurs ont rajoutés des places supplémentaires, ce qui a soulevé un nouveau défi: ou organiser un tel événement? Ce n'est pas resté longtemps un obstacle pour les organisateurs, l'endroit pour tenir la conférence, le repas pour les participants et les sponsors ont été tous trouvé pendant la journée de lundi. Ce qui est remarquable à retenir est l'efficacité des "open outils" à disposition pour la logistique d'un évènement : le définir, le gérer, créer le contenu, etc.

La naissance de cet événement a eu lieu sous les yeux de tout le monde (du moins du ceux qui on voulu bien le regarder), et nous avons eu le privilège d'être témoins d'un nouvel comportement social.

Les participants

Après les 20 premières places prises sous 2 heures, des places supplémentaires ont été créés. Il y a eu 75 participants, dont Jeff Sutherland, Paul Raily, Uncle BobMartin, Steve Freeman, Chris Matts, et bien sûr les organisateurs - Paul Darrell, Roy Osherove et Rachel Davies dans son rôle de facilitateur.

IMG_0019.jpg

Les sessions

La capacité d'apprendre a été un sujet qui est revenus plusieurs fois pendant les sessions. Le groupe a analysé quelles sont les facteurs d'apprentissage, comment poser des bonnes questions, comment dévélopper notre habilité d'apprendre ( la technique des "5 Pourquoi" pour déterminer les causes profondes a été un des sujets favoris). Kevin Henney a présenté un sujet autour de notre incapacité d'apprendre de nos échecs. L'idée d'apprendre plutôt de l'échec dans le contexte dans lequel il s'est produit (failure and something else") rappelle "la pensée latérale" (Edward de Bono).

Réflexion intéressante sur les moyens de faire évoluer une équipe de l'état "chaos" à l'état "mature". Le chemin est balisé, bien sûr, des critères Agile. La discussion s'est arrêté sur le "leadership" et l'opportunité d'utiliser l'autorité pour faire avancer. Des références au modèle de dynamique du groupe de Tuckman (storming, informing, norming, performing) ont été mentionné.

Animés par Rachel Davies, nous avons dessiné l'environnement Agile idéal. je suis loin d'être sûre des talents artistiques du groupe, mais nous nous sommes bien amusés. Par contre, une question est restée sans réponse : "Pourquoi est-il "professionnel" d'être triste et crispé au travail?"

Je remercie aux participants à la session que j'ai proposé : "Quels sont les indicateurs sur le terrain d'une implémentation Agile réussie?" . L'objectif de la session a été de recueillir les signes de succès que chacun a expérimenté et senti sur le terrain. Rachel a proposé un modèle intéressant d'évaluation, en fonction de quel type d'organisation projet l'équipe transite (chaos ou cycle en V) , chaque type ayant ses habitudes. Ce qui me semble révélateur est que tous les signes sont très proches des valeurs Agile (collaboration)

IMG_0018.JPG

La session "Mini Open Space"

Une formule très intéressante de session a été la "Mini Open Space" qui est une formule très intéressante : sessions de 10 minutes (5 minutes de présentation et 5 minutes de Questions:Réponses). Les sujets abordés : BDD (Behavior Driven Development), la distribution des rôles et l'efficacité de l'équipe, la capacité d'apprentissage, la chaîne de valeur de la création d'un produit

Extrait de mon calepin

Survol des quelques idées :

  • Savoir apprendre de nos succès
  • Définir des mesures et les exécuter est une expérience d'apprentissage
  • Faire ce qui l'équipe a besoin et non pas ce qui est plus proche de ma spécialité
  • L'apprentissage de l'échec reflète notre échec d'apprendre
  • La "story" du donneur d'ordre : "Pour <Objectif>, comme <décideur>, je veux que l'<utilisateur> puisse <story>

Des photos de l'évènement par Marcial Floryan, Rachel Davies

vendredi 2 avril 2010

Budget? Agile?

Un passage aux méthodes agiles nécessite un profond changement des pratiques et mentalités. Je souhaite m'attarder particulièrement ici sur la notion de budget.

Beaucoup d'organisations, publiques ou privées utilisent ce principe financier. Cela permet de dire "Oh non, nous ne pouvons pas faire cela, car il n'y a plus de budget" ou "Il faut absolument acheter 200 ramettes de papier pour boucler le budget de cette année".

Pour les projets informatiques, les lignes de budget sont souvent réparties par fonctionnalité ou projet. Mais pour une équipe Agile, cela n'a pas de sens de faire des budgets par fonctionnalité, puisque les fonctionnalités ne sont pas définies à l'avance, ce sont des User Stories qui sont définies et implémentées au fur et à mesure. Si l'ont veut absolument créer un budget, cela a plus de sens de le faire sur la taille de l'équipe. Cela permettrait de dire "Nous avons un fort besoin pour cette période, nous allons progressivement augmenter la taille de l'équipe avec 2 nouvelles personnes" ou bien "Ce projet est stable, les utilisateurs sont contents, et le backlog sera vide dans 2 itérations, nous pouvons retirer une personnes".

La méthode fait en sorte de dégager un maximum de valeur ajouté à partir de cette équipe. Cela devient de la gestion de produit, et non de la gestion de projet.

Le budget d'un produit agile, c'est la taille de l'équipe

mardi 30 mars 2010

Retour d’expérience d’un product owner

J’ai eu l’occasion, au cours de ma carrière dans les systèmes d’informations, de travailler à des postes fonctionnels dans des projets pilotés selon un cycle que je qualifierais de « classique » (type cycle en V en particulier) et, plus récemment, dans des projets conduits selon une méthode de type Agile.

J’aimerais revenir dans les quelques lignes de cet article sur les avantages concrets que j’ai pu apprécier dans l’application de la démarche Agile et également sur quelques contraintes induites. L’idée étant de livrer ici mon retour d’expérience sur le sujet.


A. Des cycles itératifs et leurs avantages

Revenons d’abord sur une des caractéristiques majeures des démarches agiles : la conduite de projet en mode itératif, c'est-à-dire découpée en cycles, au terme desquels un package fonctionnel et, surtout ajouterais-je, recetté est fourni. Le cas échéant une mise en production pourra même être décidée par le client (en méthode Scrum, on utilise le terme anglais ‘shippable’).

Cela constitue un atout majeur par rapport aux autres démarches et ceci pour plusieurs raisons principales de mon point de vue :

1) Orientations du besoin et réactivité vis-à-vis du contexte

Premièrement, il n’est plus nécessaire d’attendre la livraison complète de l’application cible (ou même d’un de ses lot) qui dure parfois plusieurs mois pour en réaliser la recette : cette dernière est déroulée à chaque nouvelle release (en moyenne tous les 3 semaines) ! Cette validation fréquente permet l’évaluation constante des axes d’améliorations (qui ne sont pas toujours évident à évaluer sur « papier » via les documents de spécifications), la détection des premières anomalies, ou encore la revue de certaines parties de l’ergonomie. Bref, en quelques mots, on évite le très regrettable « effet tunnel ».

Le poste de Directeur de produit (en anglais « Product Owner ») prend ici tout son sens : il oriente / réoriente les différents packages qui lui sont livrés, au fil des « sprints » (itérations) du projet, pour « affiner » le besoin, l’adapter à un contexte externe souvent évolutif, jusqu’à l’établissement du produit adéquat.

2) Communication et conduite du changement

Seconde raison, cette démarche itérative est un formidable vecteur de communication dans l’équipe projet mais également pour le ‘reste du monde’.

En effet, combien d’applications sont reprises en évolution après leur mise en production, lorsque la majorité des utilisateurs les prennent ‘effectivement’ en main. Combien d’applications sont rejetées ou mal acceptées au terme d’un projet type cycle en V parce que les utilisateurs n’apprécient pas leur ergonomie, ou découvrent qu’elles ne couvrent plus complètement leur besoin parce que le contexte dans lequel ils évoluent a changé depuis l’établissement des spécifications contractualisées ?

La démarche Agile permet, en livrant très tôt et régulièrement des packages fonctionnels - et même si ces derniers ne partent pas en production - de présenter concrètement la solution en séance « découverte » à un nombre plus ou moins important d’utilisateurs finaux. Le Product Owner peut, par ce biais, glaner de précieuses remarques et ainsi coller au mieux aux besoins réels de l’entreprise dans un souci d’amélioration continue tout au long du projet. C’est le gage d’une conduite du changement - en amont - réussie.

3) Priorité à la valeur métier

J’aimerais insister maintenant sur le rôle essentiel du Product Owner dans la démarche. Le Product Owner est le responsable d’un document fondamental : le backlog produit dans lequel il décrit ce que pourront faire chacun des acteurs susceptibles d’utiliser l’application pour réaliser les missions que l’entreprise leur confie (via ce que l’on appelle des USER STORIES) et les priorise.

Dans toute application, on trouve des fonctionnalités que l’on pourrait qualifier de primordiales et d’autres plus secondaires. Le Product Owner donnera une priorité plus importante dans le Backlog produit à ces fonctionnalités primordiales par rapport aux fonctionnalités secondaires.

Cet élément est très rassurant pour le responsable fonctionnel : cela permet de garder la main sur l’ordonnancement des implémentations et de dégager le maximum de ‘Valeur métier’ dans les premiers cycles itératifs. Cela permet de s’assurer que les éléments fonctionnels primordiaux de la solution cible seront les plus éprouvés (puisque soumis aux tests d’un plus grand nombre d’itérations). Là encore, l’intérêt est fort par rapport aux cycles projets plus classiques dans lesquels le fonctionnel n’a pas réellement son mot à dire dans cet ordonnancement et où l’effort d’implémentation est indépendant de l’importance de la fonctionnalité cliente.

4) Le suivi de l’avancement

Par ailleurs, le Backlog Produit permet d’observer le gain en ‘valeur métier’ à chaque itération, c’est le centre de l’attention, un des indicateurs primordiaux de pilotage (et on réalise bien ici que toute la démarche Agile est mise en place dans un souci de satisfaction client). Le product owner peut ainsi suivre avec précision ce qui, finalement, est le but précis et unique d’un projet informatique, l’avancement, la ‘construction’ progressive de l’application cible en adéquation avec le besoin.


B. Des contraintes à prendre en compte

1) L’implication du détenteur du besoin tout au long du projet

La démarche Agile présente en contreparties de contraintes à bien évaluer. Cette démarche requiert une implication et une proximité forte du client (plus précisément du détenteur du besoin). Seul le client est à même de déterminer les priorités, les orientations, réorientations fonctionnelles à mettre en œuvre.

La disponibilité du détenteur du besoin est primordiale. C’est vrai si le Product Owner est directement le détenteur du besoin, ça l’est d’autant plus si le mode de fonctionnement choisi fait intervenir un acteur intermédiaire - type Assistant à Maitrise d’Ouvrage dans une démarche classique - pour recueillir le besoin (ce qui est, à mon sens, un mode dégradé dans le cadre d’une démarche Agile). Cela peut rapidement donner une inertie dommageable dans le cas de cycles courts.

2) L’importance de la stabilité de l’équipe projet

Un second risque qui pèse, selon moi, sur l’établissement d’une conduite de projet en Agile : c’est l’instabilité potentielle de l’équipe projet. Ce risque est en fait l’exact miroir de l’avantage que l’on accorde aux démarches Agiles : faire porter les connaissances par les membres du projet plutôt que d’accumuler les documentations.

Ce point globalement très positif, amène néanmoins un risque fort lorsque le turn over dans l’équipe projet augmente : la perte de connaissance résultante modifie la vélocité de l’équipe de développement et rend les estimations, réalisées à équipe constante, caduques. Cela rend flou le gain en valeur métier des itérations suivantes puisqu’un nouvel ‘alignement’ est requis pour la nouvelle équipe.


Pour aller plus loin...

Ce sont les éléments qui me semblent, après « décantation », les plus marquants en application concrète. Néanmoins, cela reste une perception parmi d’autres, et donc largement ouverte à des discussions de tous ordres. Pas d’hésitation donc si vous souhaitez adresser des remarques / réflexions sur cet article ou partager également votre expérience sur le sujet.

lundi 29 mars 2010

Outils du Product Owner pour maximiser le ROI

Mercredi dernier, j'ai passé la soirée dans les bureaux de Zenika pour assister à la conférence "outils du Product Owner pour maximiser le ROI" animée par Michel Goldenberg.

Malheureusement, car le sujet m'intéresse beaucoup, la discussion a divergé vers l'intérêt des estimations.

Ci-dessous, les exercices que Michel Goldenberg a eu le temps de nous présenter.

Comment arriver à une vision commune et obtenir un consensus ?

  1. définir le sujet de questionnement ;
  2. demander à chaque participant d'écrire sa réponse sur un post-it ;
  3. former des binômes ;
  4. demander à chaque binôme d'échanger leurs points de vue ;
  5. demander à chaque binôme de noter, d'un commun accord, leurs deux post-its pour arriver à une somme de cinq (cinq étant la meilleure note i.e. la définition remportant l'adhésion des deux membres du binôme) ;
  6. demander à chaque binôme d'échanger leurs post-its ;
  7. réitérer l'exercice à partir de l'étape trois jusqu'à ce que les post-its aient le même nombre de notes que de participants ;
  8. additionner les notes pour donner une note globale à chaque post-it.

La note globale d'un post-it révèle le degré d'adhésion des participants à ce qui est écrit dessus.

Durant cet exercice, nous avons vue se dégager un post-it particulièrement bien noté. Il s'agit du consensus. Puis un peloton de post-its un peu moins bien notés. Il s'agit de la vision commune. Et pour finir, deux post-its avec des notes très faibles. Il s'agit des visions marginales.

Comment déterminer l'intérêt d'une vision marginale ?

Les visions marginales ne sont pas nécessairement inintéressantes. Il est possible qu'elles soient seulement mal comprises. Pour répondre à cette question, nous avons utilisé l'exercice suivant :

  1. demander à chaque participant de marquer physiquement son adhésion ou non à la vision marginale, par exemple en divisant la salle de réunion en deux ;
  2. demander à une personne du groupe minoritaire, ceux adhérant à la vision marginale, d'expliquer son point de vue ;
  3. demander à chaque personne du groupe majoritaire si les éclaircissements apportés lui fait réviser sa position ;
  4. réitérer l'exercice à partir de l'étape deux jusqu'à ce que toutes les personnes du groupe minoritaire se soient exprimées ;
  5. conclure en fonction des migrations entre le groupe majoritaire et le groupe minoritaire.

Comment interviewer un client ?

L'objectif de l'interview est d'aider le client à définir et prioriser son besoin. Le client doit être acteur de l'interview. L'interviewer n'est là que pour aider le client à structurer son expression de besoin.

  1. demander au client d'écrire sur des post-its jusqu'à 5 fonctionnalités essentielles de son produit ;
  2. demander au client de prioriser les post-its en répartissant 15 points, une note élevée indiquant une priorité forte ;
  3. réitérer l'exercice jusqu'à atteindre la granularité souhaitée.

L'étape deux n'est pas toujours évidente. J'en ai fait l'expérience en mettant cet exercice en pratique le vendredi suivant la conférence. Le rôle de l'interviewer est alors de challenger le client pour qu'il sépare son besoin entre l'essentiel et le facultatif à force de questionnement.

Dernier conseil

Le PO doit également pousser l'équipe de développement à lui expliquer les stories ayant une forte complexité. Il pourra ainsi détecter les tâches ayant une forte complexité à cause d'un détail technique (e.g. : drag and drop, …). Le cas échéant, ils pourront étudier ensemble les alternatives envisageables.

Maximiser le ROI, c'est minimiser le travail inutile !

lundi 15 mars 2010

Séance d'estimation

Suite à des séances d'estimation s'éternisant sur le projet sur lequel je travail actuellement je suis venu à me poser des question sur cet exercice.

Pour quelle raison faisons-nous des séances d'estimation ? Je pense que les objectifs sont doubles :

  • échanger afin d'avoir une vision commune sur les items du backlog ;
  • estimer la complexité des items afin d'avoir de la visibilité sur l'avancement du projet.

Une fois ces objectifs bien en tête, vient la question suivante : Qui est concerné par cette réunion ? Toutes les personnes apportant des éléments permettant de clarifier la vision des items du backlog et toutes les personnes qui auront à réaliser ces items.

Maintenant, nous connaissons les enjeux et les acteurs de cette réunion. C'est bien, mais pas top. Les séances d'estimation ne sont pas plus efficaces. Pourquoi ? Retour aux définitions :

Estimation : évaluation approximative fondée sur des données incomplètes ou de nature imprécise.

Une estimation est une évaluation approximative !

Si votre équipe prend plus de 10 minutes pour se décider entre une complexité de 5 ou 8, je vous propose d'essayer la méthode décrite ci-dessous.

Les objectifs de la réunion étant double, découpons la réunion en deux temps

  • comprendre les nouveaux items ;
  • estimer les complexités.

La compréhension des nouveaux items passe par la discussion entre les acteurs du projet. C'est le temps fort d'une séance d'estimation. La vision commune du projet issue de ces échanges facilitera les communications futures.

L'estimation des complexités est plus pertinente et plus rapide une fois que les items sont compris. Pour faciliter encore la démarche, j'aime procéder de la manière suivante :

  • imprimer les intitulés des items sur des cartes en papier ;
  • disposer ces cartes sur une table en fonction des complexités relatives ;
  • associer chaque groupes d'items à une complexité chiffrée.

lundi 8 mars 2010

Révision Scrum : le backlog produit

Le backlog produit est la liste des fonctionnalités du produit à développer. Chaque élément de cette liste est composé au minimum de trois attributs :

La finalité du backlog produit est d'avoir de la visibilité sur l'état du projet et de prioriser les développements.

Le backlog produit est de la responsabilité du product owner.

Valeur métier

La valeur métier d'un item est estimée par le product owner.

C'est la valeur métier des items qui doit diriger la priorisation des développements. Pour aider à la mise en perspective entre l'accessoire et le fondamental, il est conseillé d'utiliser la suite de Fibonacci en s'efforçant d'utiliser des valeurs très disparates.

Effort ou complexité

L'effort nécessaire à la réalisation d'un item est estimé par les personnes qui seront en charge de la réalisation. Cette valeur est fixe dans le temps.

Plus un effort est important, plus son estimation est imprécise. C'est pourquoi il est conseillé d'utiliser la suite de Fibonnaci pour estimer les efforts.

Métriques

Les métriques issues des données du backlog produit donnent de la visibilité sur l'état actuel du projet et aide à définir les prochaines étapes.

Le backlog produit est un outil évolutif (ajout, suppression, modification d'items). Par conséquent, il est souvent intéressant de suivre ces métriques en points et en pourcentage.

Ci-dessous, deux exemples de métrique que nous pouvons extraire du backlog produit.

Vélocité

La vélocité est l'effort qu'une équipe peut adresser en un sprint. Cette mesure s'affine au fil des itérations.

La vélocité ne doit pas être utilisé pour assurer le suivi de la productivité d'une équipe mais pour réaliser des projections (e.g. estimer la date de fin du projet). Une mauvaise utilisation de cette métrique entraine une inflation des points d'effort et/ou une "course à la vélocité" au détriment de la qualité.

Il est également déconseillé de comparer les vélocités de deux équipes du fait des estimations réalisées sur des échelles différentes. Les estimations sont relatives, pas absolues.

Par contre, il est intéressant de suivre l'évolution de la vélocité d'une équipe. Une diminution de la vélocité traduit souvent un manque d'évolutivité du produit développé ou l'apparition de nombreux bugs.

Valeur métier acquise

Cette métrique détermine la valeur des développements réalisés.

Si le backlog est correctement priorisé, l'évolution de la valeur métier acquise doit diminuer au cours des itérations car les items de plus grande valeur sont traités en premier.

Quelques liens

Dans SCRUM mon backlog de produit est DEEP
Le backlog produit
Des user stories de qualité
Valeur métier en pratique
Comment mieux prioriser en agile
Suite de Fibonacci

vendredi 26 février 2010

Révision Agile : ScrumMaster ? C'est quoi déjà ?

La semaine prochaine, le ScrumMaster du projet sur lequel je travaille sera en vacance. Étant donné que je vais assurer son remplacement, j'en profite pour réviser le rôle du ScrumMaster.

Alors, qu'est-ce qu'un ScrumMaster ?

Un facilitateur

L'une des missions du ScrumMaster est de s'assurer que les autres membres de l'équipe restent concentrés sur le véritable objectif du projet : la livraison de valeur pour le client.
Il écarte les obstacles qui jonchent le parcours menant à la livraison et si possible avant même qu'ils ne surviennent.

Un coach

Dans le processus d'amélioration continue, le ScrumMaster joue le rôle du coach.
Il aide l'équipe à prendre conscience de ses qualités et faiblesses. Puis il fait en sorte de conserver les acquis tout en travaillant les points faibles.

Un animateur

Il organise et anime les activités Scrum tel que sprint planning, daily Scrum, sprint review et rétrospective.
Il fait en sorte que tous les membres de l'équipe se sentent impliqué et libre de s'exprimer.
Autant que faire se peut, le ScrumMaster s'assure que tous les membres de l'équipe sont contents de travailler.

Le garant des pratiques Scrum

Un ScumMaster, comme l'indique son nom, a une bonne connaissance de Scrum. De par cette connaissance, le ScrumMaster s'impose comme le garant de la bonne utilisation des pratiques de Scrum.

Quelques liens

Le rôle de ScrumMaster
Peut-on à la fois être ScrumMaster et développeur sur un même projet ?
Mon ScrumMaster en fait trop !

jeudi 18 février 2010

Interview Cécile D'helly

Notre second invité est Cécile D'HEYLLY, responsable qualité et communication à Sfeir.

  • Qu'est-ce que l'agilité pour vous ?
La méthodologie Agile offre la possibilité de modifier le déroulement du projet en fonction des besoins du client. 
Les processus doivent s'adapter rapidement en fonction des problématiques rencontrées. 
  • Le manifeste agile prônes les valeurs suivantes:
  1. Les individus et les interactions plutôt que les processus et les outils
  2. Un logiciel qui fonctionne plutôt qu' une documentation détaillée
  3. La collaboration avec le client plutôt que la négociation de contrats
  4. Accepter le changement plutôt que suivre le plan
  • Laquelle de ces valeurs est la plus importante selon vous ?
La collaboration avec le client plutôt que la négociation de contrats 
  • Quelles méthodologies agiles connaissez-vous ?
SCRUM, de nom uniquement. 
  • L'agilité, est-ce plus : de la gestion de projet, de l'ingénierie logicielle, de l'organisation d'entreprise ?
De la gestion de projet
  • Qu'est-ce que l'agilité change pour le développeur ?
A mon sens le développeur travaille dans un esprit d'équipe et avec pragmatisme.
  • Qu'est-ce que l'agilité change pour le manager ?
Le manager doit avoir une forte capacité à innover, il doit avoir une vision stratégique de sa fonction et de son équipe.
 
  • Qu'est-ce que l'agilité change pour l'utilisateur ?
Je pense que les utilisateurs ont moins de contraintes liées au fonctionnement des applications.
  • Qu'est-ce que l'agilité change pour vous, à votre poste chez sfeir ?
A mon poste chez SFEIR cela ne me change rien. 
  • Comment les technologies RIA peuvent-t-elles faciliter la mise en place de l'agilité ?
Je ne vois pas de lien. 
  • Quelles évolutions avez-vous vu dans le paysage informatique avec l'apparition des méthodes agiles?
Je n'ai pas vu d'évolution dans le paysage informatique avec l'apparition des méthodes Agiles.
  • Voyez-vous des convergences ou des divergences entre l'agilité et CMMI ?
Je dirais que CMMI est plus exigeant du côté des procédures. Pas de divergences, des processus peuvent être créés pour les méthodes agile en étant basé sur une forte capacité d'adaptation au changement.
  • Que pensez-vous du "lean software development" ?
 Personnellement, je n'en ai jamais entendu parler.
  • Quelles sont les différentes prestations agiles proposées par Sfeir ?
Réaliser les projets clients en méthode Agile 
  • Comment abordez-vous les aspects contractuels d'une prestation agile ?
Je pense que cela doit être problématique. Je ne sais pas comment les évolutions de périmètres en cours de projet sont contractuellement prises en compte. Peut-être par des avenants.

dimanche 17 janvier 2010

Interview Agilité David Aboulkheir

Cet article est le premier d'une série d'interviews.

Notre premier invité est David Aboulkheir, manager d'un centre de compétence Java.

  • Qu'est-ce que l'agilité pour vous ?
L'agilité est pour moi un concept. Une sorte de philosophie de vie. C'est une méthodologie de gestion de projet ouverte. Elle est basée sur des valeurs et des pratiques. Rien n'est obligatoire. 
  1. Les individus et les interactions plutôt que les processus et les outils
  2. Un logiciel qui fonctionne plutôt qu' une documentation détaillée
  3. La collaboration avec le client plutôt que la négociation de contrats
  4. Accepter le changement plutôt que suivre le plan
    Laquelle de ces valeurs est la plus importante selon vous ?
J'accorde de l'importance à ces 4 valeurs mais si je dois en choisir une, je dirais : "La collaboration avec le client plutôt que la négociation de contrats".
  • Quelles méthodologies agiles connaissez-vous ?
Scrum et eXtreme Programming
  • L'agilité, est-ce plus : de la gestion de projet, de l'ingénierie logicielle, de l'organisation d'entreprise ?
De la gestion de projet
  • Qu'est-ce que l'agilité change pour le développeur ?
Une interaction forte avec le client : une meilleure proximité avec le besoin, une approche moins brutale avec le fonctionnel.
  • Qu'est-ce que l'agilité change pour le manager ?
Une meilleur attribution des rôles et des responsabilités. Une gestion de "l'homme" un peu plus lourde lié à la proximité de l'Equipe.
  • Qu'est-ce que l'agilité change pour l'utilisateur ?
Un feedback rapide. La capacité de réagir au plus tôt.
  • Qu'est-ce que l'agilité change pour vous, à votre poste chez sfeir ?
A mon poste chez Sfeir, ça ne change pas grand chose : j'essais de temps en temps d'appliquer certaines pratiques dans mon quotidien ou ma façon de communiquer avec l'autre.
  • Comment les technologies RIA peuvent-t-elles faciliter la mise en place de l'agilité ?
Je ne pense pas que les technologies RIA peuvent plus faciliter la mise en place de l'agilité qu'une autre technologie. Je dirais juste que cette technologie est visuel et par conséquent permet de donner un feedback à l'utilisateur et donc faciliter la communication.
  • Quelles évolutions avez-vous vu dans le paysage informatique avec l'apparition des méthodes agiles?
Je n'ai pas encore assez de recul pour me rendre compte qu'il y a eu des évolutions dans le paysage informatique avec l'apparition des méthodes agiles. J'ai l'impression que ça a toujours existé mais qu'en ce moment, elle est un peu portée par un effet de mode.
  • Voyez-vous des convergences ou des divergences entre l'agilité et CMMI ?
CMMI met en avant le côté procédure, c'est en contradiction avec la valeur : "Les individus et les interactions plutôt que les processus et les outils".
  • Que pensez-vous du "lean software development" ?
C'est pour moi une nouveau nom qui débarque dans le paysage des méthodes agile : la notion de productivité est un peu plus mis en avant.
  • Quelles sont les différentes prestations agiles proposées par Sfeir ?
Accompagnement de la mise en place de la méthode adapté au contexte client.
  • Comment abordez-vous les aspects contractuels d'une prestation agile ?
Aujourd'hui, c'est essentiellement des contrats de régie. La méthode est un moyen, l'objectif est que le client soit sensibilisé et qu'il porte lui-même la méthode. C'est notre rôle de le sensibilisé et de l'aider à la mettre en place mais ensuite c'est à lui d'assumer. 


jeudi 19 novembre 2009

Devoxx 2009 : Agile Mythbusters

Scott W. Ambler, Chief Agile Methodologist chez IBM, a présenté les résultats des sondages réalisés par Ambysoft et Dr. Dobb's Journal pour faire ressortir les pratiques réelles des équipes agiles à ce jour.

Les conclusions qui ont retenu mon attention :

  • les pratiques agiles restent principalement concentrées sur la technique (Continuous Integration) ;
  • l'obtention de la certification "SCRUM Master" après seulement deux jours de formation est dépourvue de sens ;
  • des équipes de plus de 200 personnes pratiquent l'agilité ;
  • les pratiques agiles ne changent pas les besoins de chiffrage, de spécification, de modélisation, d'architecture durant l'initialisation d'un projet ;
  • la majorité des développeurs agiles suivent des conventions de codage même s'il reste une marge de progrès dans ce domaine ;
  • les équipes agiles et traditionnelles écrivent autant de documentation et cette documentation est de qualité similaire ;
  • les projets agiles connaissent plus de succès que les projets classiques.

L'intérêt principal de cette présentation a été de fournir des réponses chiffrées aux questions que peuvent se poser les personnes s'intéressant aux méthodes agiles. Cependant, il convient de considérer ces chiffres dans leur contexte avec les limitations que ça implique. Par exemple, les conditions de succès d'un projet restent sujet à discussion.

Pour la liste complète des "Mythes Agiles" et les résultats des sondages associés, se référer au post de Jevgeni Kabanov.

Pour la liste des sondages, suivre ce lien.

samedi 24 octobre 2009

Manifeste Agile

Traduction du Manifeste pour un développement logiciel Agile

Lire la suite...

vendredi 24 juillet 2009

Les projets Agile plus chers?

Comparons ce qui est comparable

parallèle avec les référentiels dans la cinématique des corps

La force de chiffres est impressionnante, car elle a l'aura de l'objectivité- la mesure est objective. C'est pour cette raison que les chiffres peuvent devenir un instrument puissant de persuasion., au même titre que les images des films documentaires. Mais il ne faut pas oublier de placer les images (et les chiffres) dans leur contexte. Ou comme il nous était rappelé à l'école aux cours de physique , la vitesse d'un objet dans un système référentiel non galiléen n'est pas celle qu'on mesure si l'observateur est en dehors de ce système.

Lire la suite...

- page 1 de 3