Archive

Articles taggués ‘XP’

Agile Grenoble : Objet Direct sponsor, exposant et speaker

La conférence AGILE GRENOBLE sera pour la 3ème année consécutive l’événement incontournable de la région Rhône-Alpes, pour tous les professionnels qui souhaitent savoir comment s’y prendre, découvrir, échanger, apprendre, expérimenter, tester, approfondir leurs connaissances, ou simplement discuter autour des méthodes agiles.
Parmi les temps forts de cette journée, dédiée à tout public souhaitant mieux connaître le monde de l’Agile :
une présentation d’Henri Darmet sur le thème « L’agilité : de la promesse à la réalité ! »

Venez rencontrer l’équipe Objet Direct dans l’espace exposants !

En savoir plus : http://www.objetdirect.com/html/actualite/agiletour.html
Inscriptions : http://agile-grenoble.org/

L’agilité : de la promesse à la réalité ! Présentation disponible

Objet Direct a sponsorisé l’étape parisienne de l’Agile Tour jeudi 28 octobre dernier. A cette occasion, Henri Darmet, Directeur Technique Objet Direct, a ouvert le bal des conférences avec une présentation sur le thème : « L’agilité : de la promesse à la réalité ! ».

La présentation est proposée au téléchargement ici.

Agile Tour 2010 : Objet Direct sponsor de l’étape parisienne le 28 octobre

L’Agile Tour est devenu en 2009 la première conférence sur l’Agile au monde, en réunissant plus de 2500 participants dans 18 villes dans le monde entier.
L’édition 2010, qui a démarré le 6 octobre à Calgary au Canada, affiche ses ambitions : Promouvoir massivement l’Agile, Partager les visions de l’Agile et les évolutions des pratiques agiles, Fédérer les acteurs de l’Agile, Soutenir et créer de nouvelles initiatives locales pour développer une culture de l’Agile en aidant les entreprises à adopter et à faire adopter ce savoir-faire.
Les 30 villes organisatrices présenteront des contenus sur les thèmes des méthodes agiles, Scrum, Crystal, Lean, le génie logiciel…

OBJET DIRECT sponsorisera l’étape parisienne de l’Agile Tour jeudi 28 octobre prochain (à la FIAP dans le 14ème, de 9h-18h) et assurera une présence dans l’espace d’exposition.
Parmi les temps forts de cette journée, dédiée à tout public souhaitant mieux connaître le monde de l’Agile :
une présentation d’Henri Darmet, Directeur Technique, qui ouvrira le bal à 9h30 sur le thème « L’agilité : de la promesse à la réalité ! ».

Evénement gratuit, sur réservations : http://agiletour.org/

L’agilité : de la promesse à la réalité ! Présentation disponible

Objet Direct a exposé ses retours d’expérience sur la mise en oeuvre de projets agiles à l’occasion de deux séminaires animés par Henri Darmet le 17 juin à Lyon et le 22 juin à Paris : L’agilité, de la promesse à la réalité !

La présentation est proposée au téléchargement ici.

Agile France 2010

Agile France 2010

J’ai assisté ces derniers jours à la conférence Agile France 2010, 5ème édition de ce qui s’appelait « XP days » ces dernières années. Je vous livre ici mon ressenti sur ces deux jours de conférence que je considère comme un retour sur la situation de l’agilité en 2009. Pour situer un peu le contexte, j’y ai assisté en tant que Scrum Master/Développeur mais aussi dans une perspective future de coaching/accompagnement vers l’agilité.

La première chose marquante pour moi : sur plus de 60 présentations … à priori une seule a pour sujet principal Scrum et elle est annotée ‘Débutant’ ! Je me pose donc la question du pourquoi : est-ce que Scrum est déjà en cours d’abandon (les problèmes de certification lui ont certes causé du tort mais tout de même !) ? Devenu trop ‘mainstream’ pour qu’on ait encore des choses à dire dessus ? … Si vous avez des éléments de réponse, je suis preneur !

De même, les sessions sur la « vente » de l’agilité ont été plutôt rares (2 seulement) : l’agilité rentre dans les mœurs et il est devenu moins nécessaire de convaincre ?

En revanche le Lean s’est taillé la part du lion dans la catégorie ‘les bases des méthodologies’ pour une petite dizaine de présentations, associé à la bonne dizaine de sessions sur la transition de l’organisation vers l’agilité. C’est, il me semble, un point important à retenir : l’agilité commence à dépasser le cadre de l’équipe de développement pour s’installer dans les DSI en premier lieu et s’immisce doucement vers l’organisation de l’entreprise toute entière. Cela se fait principalement sur le constat suivant : les développements deviennent performants avec Scrum mais l’entreprise n’arrive pas à digérer cette performance, le lead time global peut difficilement changer si l’organisation n’est pas adaptée.

XP aussi est beaucoup ressorti, j’interpréterais cela de différentes façons : en premier lieu, la conférence s’est appelée XP Days pendant 4 ans, même si elle n’était pas exclusivement destinée à XP. Et puis c’est tout de même sur ces pratiques (plus que sur toute autre méthodologie … tiens, un élément de réponse :-) ) que les principes de l’agilité dans le monde du développement logiciel DOIVENT se reposer. L’accent a été mis sur les tests automatisés (10% des sessions) avec notamment le TDD qui commence à percer tout doucement. Et bien que ces pratiques soient globalement comprises elles restent toujours très peu mises en place.

Le dernier point que j’ai pu ressentir, certainement le plus important (pour moi étant donné mon profil mais aussi pour la réussite sur le long terme de projets de développement), c’est l’accent mis sur l’équipe, ses interactions et l’amélioration de la communication, le tout à la limite du développement personnel. Mais aussi un retour qui émerge : l’agilité à plein régime c’est exténuant et tout le monde ne supporte pas la transparence et le courage requis ! Le tout couronné d’une keynote d’Esther Derby sur l’alchimie équipe/management où comment se faire confiance réciproquement.

Ce fut une expérience instructive qui m’a permis de prendre un peu de recul et d’entrevoir de nombreux pans de l’agilité, et tout cela dans un environnement propice aux échanges dans un coin de verdure en bordure du bois de Vincennes. Un grand merci aux organisateurs !

Séminaires Agilité

Les méthodes agiles occupent une place de plus en plus importante dans la gestion des projets informatiques d’aujourd’hui. Tous les acteurs de l’entreprise sont sensibles aux promesses qu’elles apportent : meilleure écoute des gens du métier, meilleure implication des équipes de réalisation, meilleure visibilité des travaux en cours, meilleure qualité du résultat final. Ces promesses sont-elles tenues ?

Ces séminaires se proposent de vous faire découvrir concrètement les principales démarches agiles et dans quel cadre nous pouvons les utiliser efficacement. Objet Direct capitalise sur de nombreux retours d’expériences projets pour vous présenter les meilleures pratiques à mettre en œuvre. Nous aborderons dans ce séminaire les difficultés rencontrées et des solutions pour les surmonter. Nous vous ferons part des principaux gains que l’agilité a apportés.

Rendez-vous en juin, le 17  à Lyon et le 22 à Paris de 9h à 11h avec un accueil petit déjeuner pour bien débuter. Séminaires gratuits dans la limite des places disponibles. Plus d’infos et inscription en ligne.

Le JUG de Lyon est agile !

JUG AgilityAprès avoir rappelé les défauts d’une gestion avec un cycle en V, une courte introduction théorique à l’agilité nous a été dispensée par Agnès Crépet (Laboratoires Boiron), Laurent Caron (Interfaces Solutions) et Cyril Lacôte (Objet Direct.)

La soirée était basée sur le retour d’expérience de près de deux ans de travail avec le mélange des différentes déclinaisons de l’agilité : UP, XP, Kanban et Scrum, en particulier au sein des Laboratoires Boiron.

Je ne vais pas me lancer dans les descriptions détaillées des principes de l’agilité, de ses 12 piliers, de ses avantages,… mais plutôt détailler les ressentis de chacun autour des différents sujets qui nous ont été présentés.

La présentation commence par la description des grandes étapes de la conduite de projet agile.

Toute conduite du changement doit passer par la formation, l’adaptation à la nouvelle vision.

Avec l’exemple détaillé au cours de la soirée, les meilleures pratiques, les plus adaptées, ont été extraites des méthodes précédemment citées.

Un projet se découpe en 4 étapes :

  1. le référencement des requirements,
  2. leur découpage en cas d’utilisation,
  3. leur réalisation,
  4. leur livraison.

L’agilité peut donc être appliquée au forfait.

Les requirements et les uses cases sont alors mappés dans une matrice de traçabilité qui permet de s’assurer que tous les requirements seront couverts.

Ceci ressemble beaucoup à un cycle en V, non ! La différence réside dans les niveaux de détails des requirements, et dans la gestion de leur implémentation. En effet, l’agilité s’exprime à cette étape.

L’étape focus de la soirée, l’étape de réalisation, va être découpée en itérations.

Une itération commence par la constitution du backlog. Il s’agit d’une liste de cas d’utilisation qui seront implémentés au cours de l’itération. Ces cas d’utilisation sont choisis en collaboration avec le client (en particulier avec leur représentant).

Une itération doit être la plus courte possible. Scrum préconise des itérations à durée fixe mais on s’autorise chez Boiron des variations de quelques jours, suivant les nécessités du projet.

Autre écart chez Boiron avec le strict respect de Scrum, le backlog peut évoluer au cours du lancement même de l’itération dans la mesure où juste un macro chiffrage a été réalisé à cette étape. Introduire un use case au backlog consiste à l’analyser, à mesurer les impacts sur l’existant, en faire une macro-conception, et le découper en tâches. Ces tâches peuvent alors être référencées dans l’outil de bug tracking (et de gestion de la planification) et être affectées.

La vélocité réelle de l’équipe (tenant compte des absences) est calculée à chaque itération, et chaque développeur est considéré opérationnel à 80%. Les 20% restant permettent de planifier les stands up quotidien (15min) et surtout le refactoring du code produit.

Chaque développeur est responsabilisé. Il peut intervenir dans le chiffrage, revoir le reste à faire de ses tâches, éventuellement redistribuer ses propres tâches. L’équipe agile est pratiquement en auto gestion.

Une fois le backlog construit, le périmètre de l’itération est fixé et les développements peuvent commencer.

Les développements sont sécurisés grâce à l’approche TDD (Test Driven Development). Elle consiste à écrire les tests avant d’écrire la moindre ligne de code. La mise en place de ces tests peut se faire en collaboration avec le métier; cette étape permet de bien valider que le fonctionnement de l’application est en adéquation avec les requirements client. Ceci évite des livraisons mal ou peu testées et améliorent la relation client.

L’approche TDD aide également le refactoring de sources qui peut être réalisé de manière sécurisée. Le refactoring contribue à l’amélioration des performances de l’application, à la lisibilité du code et surtout à sa maintenance.

Ces tests font partie intégrante du projet, ils sont unitaires, automatisées et un environnement d’exécution leur est dédié. Beaucoup de frameworks sont disponibles pour faciliter la réalisation de ces tests (EasyMock en particulier, qui a été mis en œuvre au cours d’une démonstration, est très intéressant pour bouchonner toutes les dépendances d’une classe.)

L’utilisation de l’outil de construction Maven a également été décrite. Maven récupère les sources du gestionnaire de configuration SVN, télécharge les dépendances, compile, peut déployer sur des environnements différents, et exécute régulièrement les tests unitaires de manière automatisée. Il peut être couplé à des outils d’audit de code (PMD, CheckStyle, FindBugs) et d’audit de couverture de test (Cobertura,…). Il communique également sur le résultat de l’exécution des tests suites.

Avec l’approche TDD, une fois le test en échec, l’implémentation peut commencer. Le test passe alors au vert et la phase de refactoring peut commencer.

L’itération se termine, lorsqu’il ne reste plus de cas d’utilisation à implémenter. L’application est alors recettée par un groupe d’utilisateurs finaux. Des bugs remontent, sont saisis et entrent dans le workflow de l’outil de bug tracking. Leur correction peut être chiffrée et intégrée au planning de la prochaine itération.

L’utilisateur s’approprie au fur et à mesure la nouvelle version de l’application, il peut adapter ses méthodes de travail avec ce nouvel outil qui répond au mieux à ses besoins. En étant intégré à l’étape de réalisation, on ne l’enferme pas dans un tunnel pour ensuite le débarquer sur une application qui correspond mal à ces besoins.L’agilité permet de fournir ni plus ni moins que les besoins exprimés par l’utilisateur. De nouveaux besoins peuvent apparaitre, ils sont alors pondérés (par les utilisateurs) par rapport au reste des uses cases à réaliser. Le changement est assuré en douceur et dans le respect. Une fois la recette validée, l’itération se termine. La prochaine peut être lancée.

La présentation s’est terminé par des interviews filmées des différents intervenants d’un projet informatique: la DSI, les architectes, les représentants métier, les chefs de projet, les développeurs autour de l’agilité.

Chacun est pleinement satisfait de la mise en œuvre de ces méthodes pour la refonte d’une partie des applications Boiron et ne souhaite pas retourner au cycle en V.

Avec l’agilité et quelques outils on améliore grandement la satisfaction client, le travail des différentes équipes informatiques (et ainsi leur motivation), on maitrise mieux le planning et les risques.

Le DSI Boiron conclue le film, sur la réponse à la question « Êtes vous satisfait de l’agilité ? » par « Avez-vous encore mieux à nous présenter ? »

Et vous ? Qu’attendez-vous ?

Méthodes agiles – XP days 2009

J’ai eu la chance de participer cette année pour la première fois aux XP days les 25 et 26 mai.

Cet événement a été un beau succès : environ 250 participants et plus de 50 sessions sur 2 jours. Avec 6 sessions en parallèle, il n’était donc pas toujours facile de choisir!

Les sujets abordés ne concernaient pas seulement XP mais également l’agilité au sens large, Scrum, Lean, … d’ailleurs l’édition 2010 s’appellera « Agile Paris 2010 ».

Pratiquant Scrum en tant que Scrum master, je me suis orienté principalement vers les sessions concernant les sujets suivants:

  • Les aspects tests / critères d’acceptance : il est essentiel de pouvoir définir un besoin et de s’accorder sur la notion de terminé sans la moindre ambiguïté. J’étais particulièrement intéressé par l’ATDD (Acceptance Test Driven Development) et par le retour d’expérience sur l’utilisation d’outils à ce sujet.
  • Le Product owner : son rôle est important puisque c’est à partir de sa vision, son découpage et sa gestion des priorités que l’équipe Scrum travaille. Je souhaitais échanger sur la façon de découper les besoins et les prioritiser pour maximiser la valeur business.
  • Agilité au sens large / retour d’expérience : La résistance au changement est, de mon point de vue, une des principales difficultés pour le passage à l’agilité à tous les niveaux (et pas seulement pour l’équipe de développement). Avoir des métaphores ou encore assister à des présentations qui présentent des retours d’expérience, permet d’enrichir nos arguments, trouver les mots et exemples pour convaincre ceux qui ne le sont pas encore 😉 ou pour introduire certains concepts en douceur.

Je vous livre ci après un résumé et un avis sur les sessions que j’ai le plus appréciées.

Test / Critères d’acceptances

J’ai beaucoup apprécié la présentation Soigner sa schizophrénie projet MOA / MOE : voyage autour des exigences fonctionnelles exécutables.

Elle explique la nécessité pour des équipes MOA (maitrise d’ouvrage qui définit ce qu’il faut faire) et MOE (maitrise d’œuvre qui fait) de communiquer pour définir le besoin et s’accorder sur la notion de TERMINE. Spécifier par l’exemple c’est à dire décrire les user stories à travers des exemples permet de lever toute ambiguïté. Des outils existent pour formaliser ces tests et rendre les spécifications exécutables. Les slides de la présentation sont disponibles http://www.slideshare.net/ehsavoie/soigner-sa-schizophrnie. Je vous invite grandement à les parcourir.

Personnellement, cette présentation m’a donné envie d’évaluer et utiliser ce genre d’outils.

J’ai également participé à l’atelier Dojo TDR (Test Driven Requirement). L’objectif de cet atelier était d’utiliser les tests pour décrire des exigences et règles de gestion. Une personne à tour de rôle prenait les commandes du PC, pour une durée time boxée de 5 mn, pour décrire un test sous FitNesse.

Le formalisme utilisé était:

  • Given : Etant donné (précondition)
  • When : déclenchant.
  • Then : ce qui doit se produire.

Ou encore un tableau de décision : chaque ligne correspond à un test et les colonnes sont les données d’entrée ou de sortie associées à ce test.

Nous avons vu qu’il est nécessaire de partager une vision globale et qu’il ne faut pas hésiter à changer la règle du jeu pour utiliser, par exemple un paper board.

J’ai bien apprécié cet atelier et envisage de mettre en pratique cette approche rapidement.

Product owner

J’ai choisi de participer au retour d’expérience Rôle du Product Owner et conception produit et non pas à l’atelier en parallèle Product Owner, qui es-tu, que fais-tu ? (comme je l’ai indiqué les choix n’étaient pas toujours faciles!).

J’ai trouvé le retour d’expérience intéressant : Le rôle du product owner doit avoir à la fois un profil marketing, mais également comprendre et anticiper les contraintes de l’équipe de développement (nécessite un background technique) tout en connaissant bien les règles de Scrum. Avec un Scrum master très expérimenté, le rôle du Product owner peut se limiter à donner des directives produits. Le Product owner doit s’impliquer dans le projet pour partager les succès et échecs. Il n’est pas forcément le client de son produit : il doit donc rencontrer et impliquer les utilisateurs du produit.

Dommage que cette session ait été écourtée (en raison d’un petit problème technique au début). J’aurais souhaité échanger par la suite sur ce sujet mais je n’en ai malheureusement pas eu l’occasion. Peut être lors d’une prochaine manifestation mais c’est un sujet qui me tient particulièrement à cœur. De mon point de vue, il est important que le couple « product owner / scrum master » fonctionne correctement. La frontière précise entre les 2 (notamment sur les aspects qui ne sont pas purement fonctionnels métier) dépend des compétences et expériences de chacun.

Le “Business Value Game”, trois itérations dans la peau du Product Owner

Il y avait beaucoup de monde pour cette session et j’ai seulement pu y participer en tant qu’observateur. Cet atelier était basé sur le jeu http://www.xp.be/businessvaluegame.html qui permet de se mettre dans le peau du Product owner pour essayer de maximiser la business value en prenant en compte différents facteurs (coût, vélocité de l’équipe, satisfaction client,…).

Cet atelier a été très bien animé et était intéressant. De ce fait, j’espère trouver l’occasion de le pratiquer lors d’une prochaine manifestation.

Présentation Agilité / retour d’expérience

La parabole du trafic urbain – l’Agilité expliquée autrement

Une présentation de très bonne qualité pour nous expliquer l’agilité en utilisant la métaphore du trafic urbain : les blocages locaux, saturations, diversité de véhicules, flux changeant, … Le feu rouge est un système commande & contrôle (approche classique) alors que le rond point est plus agile puisqu’il privilégie la communication (observe les autres), la simplicité (trafic d’un seul coté), ne privilégie aucun flux, met en avant le respect du conducteur et maximise le flux.

J’ai bien aimé le résumé qui en est fait sur le blog : http://www.touilleur-express.fr/2009/05/27/xp-day-france-2009-journee-1/

J’ai trouvé cette comparaison très intéressante à la fois pour présenter l’agilité de façon simple mais également pour voir les choses d’un autre œil. Lorsque j’observerai des points de blocage, j’essayerai de faire le parallèle et trouverai peut être la solution, en rentrant en voiture, bloqué dans les bouchons 😉

J’ai également participé à plusieurs présentations et retours d’expérience entre autre Chef, la recette et Legacy people : motivons les troupes !

L’agilité ne concerne pas que les aspects techniques. Elle concerne également la gestion de projet. Elle nécessite de procéder par étapes et de se donner des objectifs atteignables. Il est nécessaire de s’adapter aux personnes et faire les choses lorsque c’est pertinent. Il est important de mettre en avant les aspects humain, travailler sur la communication et valoriser les personnes.

J’apprécie les retours d’expériences. Il est toujours intéressant d’avoir d’autres points de vue et d’autres façons d’aborder les mêmes problématiques en fonction du contexte du projet.

Je partage avec vous quelques slides des XP days qui sont disponibles en ligne :

Conclusion :

J’ai bien apprécié de participer à ces XP days. J’espère avoir l’occasion d’y participer à nouveau l’année prochaine.

Ces manifestations sont l’occasion de suivre des présentations, de pratiquer et d’échanger avec d’autres personnes.

Je profite de ce post pour indiquer qu’il est également possible d’échanger régulièrement au sujet de l’agilité sur la région Rhône Alpes via le CARA. Vous trouverez toutes les informations sur http://www.clubagile.org

XP Day 2009

Les XP Day France – le rendez-vous annuel des personnes qui pratiquent ou souhaitent découvrir les méthodes de développement agile – auront lieu cette année les 25 et 26 mai à Paris.

Objet Direct sera présent : Laurent Laslaz, Scrum Master et membre du Club Agile Rhône-Alpes (CARA) y sera. Gageons qu’il publiera ici quelques informations intéressantes…

Categories: Actualités, Méthodes Agiles Tags: ,

Open Source SUN : nouveautés MySQL et intégration continue avec Hudson

Le 12 décembre dernier, Sun Microsystems mettait l’Open SOurce à l’honneur, à l’occasion d’un événement technique dont on pourra retrouver l’ensemble des présentations à cette adresse : http://www.slideshare.net/tag/aquariumparis

Je m’attarderai ici sur 2 des thèmes abordés : les évolutions MySQL 5.1 et 6.0 et le serveur d’intégration continue Hudson.

Un point sur MySQL par Serge Frezefond, responsable techique MySQL
Présentation en deux temps, après un rappel sur la popularité de MySQL auprès de nombreux sites Webs tels que FaceBook, a fait une présentation en deux temps :

  • Un retour sur les nouveautés de MySQL 5.1, disponible depuis le 27 novembre 2008. On retrouve donc la possibilité de faire un partitionnement d’une table sur plusieurs systèmes de fichiers. La programmation de taches, à un instant donné, périodiquement ou suite à un évènement. Au mode de réplication par instruction, viennent s’ajouter deux nouveaux modes : le mode de réplication basé sur les lignes et mixte pour lequel MySQL choisira le mode le plus adapté. La possibilité d’ajouter des logs de manière dynamique. La réplication de clusters permettant de dupliquer rapidement la base afin d’en augmenter les capacités.
  • Un aperçu des nouvelles fonctionnalités qui seront introduites dans la version 6. L’apparition d’un nouveau moteur transactionnel nommé Falcon, qui permettra des gains sensibles sur certaines requêtes. La possibilité de faire des backups en ligne

Ce que je retiens de la démonstration de l’outil d’intégration continue Hudson
Pour mémoire, l’intégration continue consiste à réaliser des builds de manière fréquente afin de déceler les problèmes d’intégration au plus tôt.
Une fois déployé sur un serveur d’application, Hudson permet d’automatiser la génération de builds et l’exécution de la batterie de tests qui s’ensuit. Pour cela, il faut indiquer les sources du projet (par un dépôt SVN par exemple), le gestionnaire de configuration Maven ou les scripts Ant peuvent être utilisés. On peut choisir sous quelles conditions les builds doivent être construits : par exemple, on peut demander à Hudson de lancer le build dès qu’un développeur réalise un commit et ne réaliser que quelques tests essentiels. L’ensemble complet des tests pourra néanmoins être réalisé quotidiennement, aux heures creuses par exemple. Ces tests complets pourront éventuellement reposer sur des matrices de configurations qui peuvent être employées pour tester l’application sur différentes combinaisons : bases de données, versions de Java, etc.. Par son interface, Hudson donne la possibilité de voir l’évolution au fur et à mesure des différents builds et surtout, en cas d’échec, d’avertir par flux RSS ou directement par mail le développeur soupçonné d’être la cause de l’erreur afin qu’il puisse intervenir au plus tôt.
Hudson, même si ce n’est pas une nouveauté, apparaît comme un outil simple d’emploi pour faire de l’intégration continue.