Samedi, 29 octobre 2011, 7h30. Jour de l’Agile Tour 2011.
Quand je me fais déposer au pied des marches du 200 Sherbrooke Ouest en ce magnifique samedi matin, il n’y a absolument rien qui me rappelle la folie du quotidien de semaine. Les bruits sont sourds et le calme règne. Avez-vous déjà conduit au centre-ville à cette heure-là le week-end? C’est apaisant.
Mais pourtant, une colonie de fourmis est en train de peaufiner la préparation de la journée depuis 6h : ce matin, ils devront s’assurer que les salles sont correctement identifiées, correctement indiquées. Plus tard, ils devront répondre aux questions des participants et surtout celles des conférenciers. Ils devront s’assurer que les responsables de la sonorisation sont là en cas de besoin. Ils devront s’assurer que la nourriture arrive à la bonne heure et que les gens soient servis à un rythme régulier. Bref, ils devront tout mettre en œuvre pour que les conditions soient idéales pour les 19 conférenciers qui vont s’adresser à plus de 200 personnes aujourd’hui. Des Scrum Masters, quoi!
À la fin de la journée, à part les bénévoles, je suis partie la dernière à 17h30; heureusement, car sinon j’y aurais oublié mon chapeau! La salle était déjà nettoyée, les tables parties, les manteaux remis à leurs propriétaires. À ce moment, personne n’aurait pu dire qu’il y avait eu une journée de conférences dans ce building. Mais tout était dans la tête et le cœur des participants.
Voici quelques éléments que j’ai retenus de cette journée très enrichissante.
The Alignment of Agile Management Methods with Corporate Governance Models (Kevin Aguanno).
Il n’y a pas de contradiction fondamentale entre les processus de gouvernance standards (le fameux « gating ») et les méthodes Agiles. La clé est de transformer la longue période de « préparation de projet » par un court « sprint zéro » suivi d’une succession de « early sprints » qui vont permettre d’amasser de l’information réelle sur le projet.
Quand on se fait opposer de la résistance dans une organisation qui doute de la faisabilité de commencer immédiatement la phase de « développement » d’un projet après quelques semaines, voire quelques jours de démarrage, M. Aguanno suggère de présenter cette phase ainsi : avec l’équivalent de la durée nécessaire pour démarrer un projet waterfall et avoir le plan initial, nous aurons un plan plus précis, des variables de projet plus fiables et en bonus, un premier incrément de logiciel terminé. Plutôt que de produire des documents, du vrai travail de développement va permettre beaucoup plus efficacement de réduire les risques et d’avoir des données réelles sur la vélocité de l’équipe et sa maîtrise de la technologie. Le coût du projet estimé après 3 sprints de travail reste une estimation, elle est donc fausse par défaut, mais elle sera bien plus précise car elle repose sur du travail concret. Et aucun temps n’est gaspillé à concevoir des fonctionnalités qui ne seront jamais développées.
Pragmatique, clair, rassurant!
Thinking with your hand: an introduction to Lego Serious Play ™ (Ellen Grove)
Mme Grove nous a parlé d’une technique utilisée dans beaucoup d’entreprises très sérieuses, et même avec des équipes de direction, afin de solutionner des problèmes de façon très efficace : jouer [sérieusement] avec des Lego!
Nul besoin d’avoir un talent artistique, il suffit de pouvoir emboîter des petits blocs. Alors tous ont la possibilité de faire aller leur imagination! C’est étonnant : avec exactement les mêmes blocs, nous avons fait des constructions complètement différentes. La suite de l’exercice nous force à être créatifs : nous devons raconter une histoire à propos de notre modèle en partant d’un choix de termes imposés.
Inspirant, instructif, amusant!
Site officiel de la technique et le blogue de Mme Grove
L’engagement est-il mort? (Éric Laramée)
Non.
En scrum, le fait d’insister trop sur l’engagement pris par l’équipe au sprint planning nous éloigne de l’objectif ultime : livrer de façon régulière et prévisible un incrément de fonctionnalité de qualité à chacun des sprints. Si l’équipe a trop peur de rater son engagement, elle va assurément tourner les coins ronds.
Selon le Scrum Guide de juillet 2011, on prévoit donc le travail qui sera terminé à la fin du sprint, on ne s’engage plus. Plutôt, on s’engage sur
- la Définition de Terminé
- l’amélioration continue des pratiques de l’équipe
- le respect des valeurs et principes de l’Agilité
- l’objectif du sprint, qui prend maintenant toute son importance.
Motivant, intéressant, éclairant!
À lire, le blogue d’Éric à ce sujet : Is Commitment Dead?
100% de couverture de code par les tests (Vincent Tencé)
Le code patrimonial (legacy) de demain est écrit par les programmeurs d’aujourd’hui. Alors vaut mieux construire le filet de sécurité maintenant pour maintenir ce code plus tard!
Pour tous ceux qui pensent que couvrir 100% du code par les tests (unitaires, d’intégration et d’acceptation) est inatteignable… Voyez-le comme un objectif plutôt; c’est une courbe asymptotique, comme Vincent le dit si bien.
Mais n’empêche, il a réussi à nous montrer un projet où le seul code non couvert par des tests qui passent est le code qui permet d’améliorer les messages d’erreur quand les tests échouent. Sa couverture est donc de 99%. Définitivement, la meilleure pratique à utiliser par les équipes qui veulent faire du code de qualité est de faire du TDD. En plus d’assurer de la testabilité de leur application, cette pratique s’assure que toutes les lignes codées ont été testées, que le code est réusiné (refactor) en permanence et que le comportement du système en développement correspond bien à ce qui est attendu.
Étonnant, passionnant, et asymptotique 😉
Présentation en ligne sur SlideShare.
Mes photos de l’événement sont disponibles en ligne