janvier 2009Monthly :

Commencer Scrum avec Excel

On nous demande souvent “Quels outils faut-il pour faire du Scrum ?”. Parfois un mur et des post-it peuvent faire l’affaire. D’autres fois l’Equipe et le Product Owner ne sont pas sur le même site ; au moins pas tout le temps. Alors on a envie d’avoir un outil pour partager les backlogs.

Continue Reading

Le mythe de l’auto-organisation?

Les approches agiles (y compris le Lean) renforcent le degré de responsabilisation des équipes dans leur travail quotidien. Le but est donc de laisser les équipes décider. On peut en retirer les avantages suivants:
  • c'est la personne qui effectue une tâche, qui sera la plus à même d'estimer correctement le temps nécessaire à sa réalisation, d'anticiper les problèmes à venir ou de proposer des pistes d'amélioration.
  • l'efficacité d'une personne se voit améliorer si elle fait preuve de plus d'autonomie : il est plus motivant d'être l'acteur de ses propres décisions, plutôt que de "subir" la décision d'une tierce personne.
En combinant ses avantages à l'échelle d'une équipe, si chaque membre se sent réellement impliqué et mobilisé autour de l'objectif commun, la performance de l'équipe sera grandement améliorée! Mais bien souvent, on associe auto-organisation avec chaos; le sens commun nous incite à croire que si il y a pas de chef il n'y aura pas de décision. On nous dit que le consensus est une utopie (merci Thomas ;-) pour son billet). Heureusement, nous ne sommes pas obligés d'adhérer à ces croyances. Sur un terrain de sport, les membres de l'équipe savent ce qu'ils doivent faire, ils ont été entrainés par un coach... l'intelligence de leur jeu est plus élevée que la simple somme des intelligences de chacun. Pouvons-nous en dire autant dans nos projets? Mais quelles sont les conditions nécessaires à cette auto-organisation? 3 axes pour tenter de répondre à cette questions : L'équipe est-elle réellement identifiée? Les membres peuvent-ils compter les uns sur les autres à tout moment? Les membres de l'équipe sont-ils des ressources partagées ou des membres investis et impliqués? Scrum insite sur ce point grâce à la fameuse blague des cochons et des poulets. Clairement, une bonne pratique consiste à se focaliser sur le moins de choses possibles à faire à la fois. J'aime la remarque d'un collègue qui me disait un jour "A la maison, le matin, est-ce qu'on est efficace si on se brosse les dents en habillant le petit dernier, tout en préparant son biberon, alors que le téléphone sonne..." Les membres d'une équipe partagent-ils un objectif commun? C'est souvent le cas mais on constate trop souvent qu'il existe des enjeux personnels, des incompréhensions, bref, toutes sortes de freins à la cohésion de l'équipe sur l'objectif, la façon de l'atteindre ou simplement une décision le concernant. Il n'y a pas de solution miracle pour adresser ce point. Travailler la communication et le développement interpersonnel des acteurs du projet sont des pistes à considérer. Suivre des formations en communication c'est excellent, personnellement ça m'a ouvert les yeux sur pas mal de choses. Mais n'oublions pas le rôle du coach d'une équipe... j'ai bien dit coach, pas chef ;-) Son but est bien de faire grandir l'équipe, d'aider cette dernière à gagner en auto-organisation. Mais au delà de l'objectif commun de l'équipe, il y a les valeurs, les croyances et les motivations de chaquun des membre : sont-elles alors compatibles avec celles des autres membres? Sont-elle alignées? L'équipe peut-elle décider? Quel est la zone de contrôle de l'équipe? Quel est son pouvoir de décision? Quels sont les moyens mis à disposition de l'équipe? Dans Scrum ce n'est pas l'équipe qui décide du "quoi faire?", c'est plutôt le Product Owner. Néanmoins, c'est l'équipe qui est responsable du "comment faire?". Or, toute décision engage des moyens (réallocation de ressource, changement de méthode, etc...). Si une équipe n'a pas de tels moyens, peut-elle réellement décider? Si l'une de ces conditions n'est pas remplie, peut-on encore espérer l'auto-organisation? J'avoue que ma vision du travail d'équipe est largement inspiré des Core Protocols. C'est que j'y trouve des principes simples, claires, pragmatiques et universels (enfin à quelques cultures près). Ca me parle le simple et le pragmatique! De votre coté, de décidez-vous pour laisser plus d'autonomie à vos équipes? Si vous êtes dans une équipe, êtes-vous aligné avec les objectifs de votre équipe?

Première formation CSM à Grenoble!

J'ai le plaisir de vous annoncer que François Beauregard viendra du Québec pour animer une formation Certifiante ScrumMaster dans notre belle région à Grenoble les 12 et 13 février prochains. Il s'agit de la première formation de ce type ouverte au public dans notre région. Les informations et l'inscription sont disponibles en ligne. La formation est co-organisée par la société Pyxis et l'association Club Agile Rhône-Alpes (CARA).

Est-ce que les sprints/itérations sont pertinents?

Dans mon précédent billet, j’avais mentionné que chez OLM les sprints étaient un frein dans nos planifications: certaines stories avaient des pré-requis qui allaient se résoudre pendant le sprint, mais qui ne pouvaient pas attendre la fin du prochain sprint pour être sélectionnées. On ajoutait consciemment des facteurs de risque à nos sprints.

Dans quelques billets, Naresh Jain critique les sprints de Scrum et les itérations de XP:

Lorsqu’elle remplace les sprints avec une gestion par flux-tiré (go!, Scrum-Ban, go!), ses équipes n’ont pas de regrets. Elle explique que la planification et le suivi des sprints sont coûteux en effort et en temps et n’ajoute pas réellement de valeur. Pour elle, l’utilisation des sprints est un artifice qu’une équipe se donne pour corriger un dysfonctionnement, en citant Sutherland qui explique la raison d’être des itérations:

Jeff Sutherland about why he decided to have Sprints as fixed time boxes, he will tell you that at that point the developers were constantly being interrupted by their customers/managers, leading to a context switch. This was yielding very poor productivity and lack of focus.The time box addressed this issue by keeping the customers and managers “out of the room” for the time box duration and also helped the developers to set a clear focus on what needs to be achieved.

Un billet sur InfoQ leur reconnait tout de même quelques qualités:

  • les sprints apportent une cadence et établissent la capacité des équipes. Ceci ajoute de la visibilité et de la prévisibilité pour le client et l’entreprise.
  • les sprints définissent des points de synchronisation. Ceci donne des occasions pour s’intégrer avec d’autres équipes, des occassions au client d’exprimer sa satisfaction et des occasions pour changer l’affectation des ressources.
  • les sprints régularisent la période sur laquelle une équipe doit s’engager.

Sans recommander les sprints, on conseille dans le même billet d’être prudent à ne pas perdre les bienfaits qu’apportent les sprints:

  • Une période de célébration
  • Un moment d’introspection
  • Une granularité utile à la haute direction
  • Une cadence durable.
  • Un instant pour mesurer le succès (ou l’insuccès) d’une équipe.

J’ai l’impression que l’utilisation des sprints soit un passage obligé que l’on peut abondonner qu’après avoir atteint un certain dégré de maturité. Pensez vous que votre entreprise/équipe bénificie vraiment de l’utilisation des sprints? Etes-vous prêts pour la gestion par flux tendu?

Le calendrier Bad Usability 2009 est arrivé

J’aime bien ce calendrier qui n’en est pas un. C’est un outil simple qui présente des concepts d’utilisabilité dans un format accessible à tous les auditoires.

Vous pouvez le télécharger à partir du site BadUsability.com. Imprimez-le et discutez en avec votre équipe autour du café. C’est une bonne façon d’intégrer ces principes à vos pratiques de développement logiciel.

Qu’est-ce que Scrum ?

Scrum est née au cours de année 90 en réaction aux problématiques de gestion rencontrées par les projets de développement logiciel. Scrum est une approche agile de gestion de projet. En tant qu’approche agile, Scrum intègre les préocupations prioritaires des approches agiles. A savoir mettre les individus et leur intéractions au centre de tout, privilégier le logiciel fonctionnel, la collaboration avec le client et la réponse au changement en cours de projet.

Continue Reading

Groupe des Utilisateurs Français de Scrum

Je souhaite la bienvenue à cette toute nouvelle formation : le SUG-France (Scrum User Group en anglais dans le texte) dont la première rencontre se tiendra à Paris le 19 mars prochain en présence de Jeff Sutherland (l'un des pères fondateurs de Scrum). Le groupe herbergé sur meetup compte déjà plus d'une centaine d'inscrits! Les fondateurs du groupe envisagent de créer une association à but non lucratif, sorte de relais local en France de l'association internationale ScrumAlliance. Pour info, il existe de très nombreuses "antennes" de la ScrumAlliance à travers le monde.

Conserver la cohérence dans l’expérience utilisateur

Durant l’automne, j’ai accumulé un certain retard à lire les articles Alertbox sur le site useit.com. En tentant de rattraper mon retard, j’ai rapidement remarqué l’article Agile Development Projects and Usability. Je me suis empressé de le lire pour connaître les propos de Jakob Nielsen sur le sujet.

Après lecture, je peux dire que je suis globalement d’accord avec ce qu’il avance dans cet article, sauf pour la partie où il mentionne;

Another issue is that, with Agile, a product’s development is broken down into smaller parts that are completed one at a time. Such an approach risks undermining the concept of an integrated total user experience, where the different features work consistently and help users build a coherent conceptual model of the system. At worst, the user interface can end up resembling a patchwork.

Je pense qu’il y aurait un risque que l’expérience utilisateur ne soit pas cohérente pour toute l’application, s’il n’y avait pas de vision globale des fonctionnalités à développer. Un projet Agile a une vision globale. Le développement repose, entre autre, sur un backlog pour le produit, qui sert à alimenter le contenu des itérations. Alors, même si tous les éléments du backlog de produit ne sont pas développés, l’équipe de développement voit, dans le backlog de produit, les éléments qui sont souhaités par le product owner. C’est à partir de ces éléments qu’on peut dégager un modèle du système et ainsi tenter de conserver une cohérence dans l’interface utilisateur.

Le courage de ne pas en faire plus

Dans une entrevue avec TechRadar à propos de Mac OS X Snow Leopard 10.6, Bertrand Serlet mentionnait;

In our continued effort to deliver the best user experience, we hit the pause button on new features…

Je trouve rafraichissant d’apprendre qu’une compagnie a le courage de ne pas ajouter de nouvelles fonctionnalités à son système d’exploitation, mais plutôt de se concentrer à améliorer l’expérience utilisateur.