Bienvenue sur Développement Agile

Référence sur le développement logiciel Agile. Nous traitons de conception, de programmation, de pratiques de génie logiciel, d'essais et d'autres sujets connexes.

Une offre d'emploi inspirante

Publié par David Beaumier le mardi 15 avril 2014 à 18:22

Il y a quelques temps, mon collègue Félix-Antoine me faisait part d'une offre d'emploi se démarquant du lot. J'ai tardé un peu à la partager avec vous, mais, même si les postes sont maintenant comblés, je trouve tout de même qu'il vaut la peine d'en parler. L'offre de l'équipe de la plateforme de radio-canada.ca se distingue nettement des offres qu'on rencontre habituellement.

Offre-Emploi-Radio-CanadaBien que je trouve que l'offre parle d'elle-même, je me permet tout de même de souligner, ci-dessous, quelques points que je trouve forts intéressants.

  • Le mot ressource n'est jamais utilisé pour désigner un candidat. On utilise plutôt des mots comme "allumé" ou "personne", des termes beaucoup plus inspirants.
  • On n'utilise pas les énumérations habituelles du type "votre tâche consistera à faire ceci, cela et toute autre tâche connexe". On présente plutôt le profil recherché et les qualités attendues des candidats.
  • On met l'emphase sur les capacités du candidat à comprendre les concepts qu'à avoir un nombre minimal d'années d'expérience.
  • On utilise un langage technique juste et précis. On sait clairement quelles sont les compétences recherchées.
  • On parle de l'équipe et de contribuer à son succès en relevant des défis.
  • La terminologie Agile/Scrum utilisée indique bien dans quel cadre l'équipe oeuvre.

Embaucher un employé dans le secteur des technologies de l'information représente aujourd'hui un bon défi. Cependant, je n'ai aucun doute qu'une telle offre d'emploi aura permis à Radio-Canada de dénicher des candidats au profil recherché. Plusieurs organisations auraient avantage à sortir des sentiers battus et à s'inspirer de cette offre d'emploi lorsqu'ils présentent des opportunités de carrière en développement logiciel.

L’engagement : Impacts et stratégies pour les leaders

Publié par Philippe Tremblay le vendredi 21 février 2014 à 12:15

En 2013, BlessingWhite déposait la troisième version de leur rapport de recherche sur l’engagement des employés dans les organisations.  Le rapport permet de bien comprendre la notion d’engagement ainsi que les effets sur une entreprise d’un bon, ou moins bon, niveau d’engagement des employés.  Comme nous le mentionnions dans un précédent billet, les impacts de l’engagement dans une entreprise sont majeurs.  Le rapport se termine par une série de recommandations pour les leaders et gestionnaires afin de considérer le pouvoir de l’engagement dans leurs décisions.  Nous vous présentons quelques faits saillants de ce rapport et vous invitons à consulter le rapport en détail (lien disponible au bas de ce billet).

Définition de l’engagement

Le modèle d’engagement présenté dans l’étude met l’accent sur la satisfaction et le sentiment d’accomplissement de l’individu.  Plus particulièrement, l’emphase est mise sur les aspects suivants :

  • La contribution de l’individu dans le succès de l’organisation
  • La satisfaction personnelle dans le rôle de l’individu

Selon le rapport, « l’alignement des valeurs, objectifs et aspirations des individus avec ceux de l’organisation est la meilleure façon d’atteindre l’engagement soutenu des employées nécessaire aux entreprises voulant être des leaders. »  Le summum de l’engagement est représenté par l’alignement de la satisfaction complète de l’individu face à son travail et la contribution maximale de ce travail dans les objectifs de l’entreprise.

Facteurs clés

L’étude présente une série d’indicateurs permettant de mesurer l’engagement des employés d’une organisation.  La rétention, la contribution ainsi que la satisfaction des individus sont les principaux signes relatifs à l’engagement.  Une proportion des facteurs influençant ces indicateurs est présentée afin de bien comprendre l’impact de ces facteurs sur l’engagement.  En voici quelques-uns :

  • La mission de l’organisation et la pertinence de celle-ci pour l’employé
  • Appréciation de son « travail » (avez-vous la chance de considérer votre travail comme autre chose que 40 heures de votre semaine ou une somme d’argent?)
  • L’adhésion de l’employé à la raison (le pourquoi) derrière son travail quotidien
  • Une rétroaction fréquente sur la qualité de son travail (et non, on ne peut pas catégoriser 1 ou 2 fois par année comme une rétroaction fréquente)
  • Un maximum d’opportunités pour appliquer ses talents
  • Opportunité de développement et de formation

Recommandations

Parmi les recommandations du rapport, l’élément suivant transcende les actions que peuvent faire les organisations :

« L’engagement doit faire partie de votre culture »

Les 3 « comment »

Pour favoriser l’engagement dans votre organisation, vous devriez tenter de répondre aux 3 questions suivantes.

  1. Comment vos employés se définissent-ils en rapport à leur travail et leur entreprise
  2. Comment les gestionnaires adressent-ils l’engagement des individus et influencent les dynamiques positives de leurs équipes
  3. Comment l’équipe de direction crée-t-elle une vision inspirante du futur tout en nourrissant une culture où l’engagement est au cœur des résultats éclatants

Ce que vous devriez cesser immédiatement

  • Les processus qui ne permettent pas de discuter ouvertement des priorités
  • Les processus d’évaluation annuelle… (vous vous souvenez de l’importance de la rétroaction fréquente?)
    • … qui n’évalue pas ou peu la contribution des réalisations d’un individu dans les priorités de l’organisation
  • Le « développement de carrière » qui n’est pas basé sur le réel potentiel des individus
  • Les façons de faire archaïque et bureaucratique ancrées dans vos « processus » qui n’apportent aucune valeur
  • Les pratiques d’embauche et de congédiement qui encouragent les gestionnaires au statuquo au lieu de chercher à améliorer leurs équipes avec des individus dont la contribution est positive.

Étude complète sur l'engagement de BlessingWhite

Les principes Agiles appliqués à la famille

Publié par David Beaumier le vendredi 31 janvier 2014 à 15:07

J’ai récemment eu l’occasion d’échanger avec Marc Allard, journaliste de la région de Québec, sur l’application des principes du développement Agile dans une famille. Marc avait entendu parler de Bruce Feiler, auteur du livre The Secrets Of Happy Families, qui propose de mettre en application plusieurs des principes Agiles au niveau de la famille. J'ai pensé qu'il serait intéressant de partager ce sujet sur le blogue puisque plusieurs lecteurs sont aussi des parents.

Il faut savoir que Feiler cherchait, à la base, des approches qui aideraient à réduire le stress, rapprocher les membres de la famille et favoriser l’autonomie des enfants dans le contexte des familles d’aujourd’hui. Comme nous l’avons fait nous-même il y a maintenant plus d’une décennie en développement logiciel,  Feiler a trouvé dans les principes Agiles des façons de faire permettant d’envisager autrement la dynamique familiale.

Le manifeste des familles agiles

En s’inspirant du manifeste Agile rédigé en 2001, Feiler propose un équivalent pour les familles qui se base sur les 3 grands principes présentés ci-dessous.

1. « Adapt all the times »: Les parents ne peuvent tout prévoir et les enfants vieillissent. Ajustons les règles aux situations que l’on rencontre en cours de route. Ce qui fonctionne bien, on le garde et ce qui fonctionne moins bien, on le révise. L’inspection et l’adaptation est importante pour la famille car les enfants ont tendance à grandir rapidement et à nous sortir hors de notre zone de confort.

Ce principe vise à rendre les parents à l’aise d’essayer de nouvelles approches car celles-ci seront évaluées au mérite et ajustées au besoin, voir même remplacées si nécessaire. Enfants et parents, soyez ouverts aux nouveautés! N’hésitez pas à proposer des idées différentes et laissez émerger les meilleures!

2. « Empower your children » : Établir des objectifs avec les enfants et leur donner la possibilité d’identifier eux-mêmes les moyens pour les atteindre. Par exemple, pour les comportements indésirables on peut demander aux enfants d’identifier quelle conséquence devrait s’appliquer.

3.  « Tell your story » : Trouver une façon d’unir la famille autour de valeurs et d’orientations communes. Qu’est-ce qui est important pour votre famille? Quelles sont les valeurs fondamentales pour votre famille? Ce sont elles qui vous permettront d’établir les principes encadrant la dynamique de votre famille.

Pour Feiler, le bonheur n’est pas quelque chose qu’on récolte, mais plutôt qu’on bâtit. Pour y arriver, il propose de s’inspirer des approches itératives et incrémentales afin d’identifier graduellement la recette gagnante pour votre famille. Je vous invite à écouter la conférence qu’il a prononcée à TED. J’espère que cela sera aussi inspirant pour vous que ça l’a été pour moi.

Références

Parmi les références mentionnées par Bruce Feiler, il y a le cas vécu de la famille de David Starr. Chose intéressante, David Starr a écrit un article détaillé sur la mise en oeuvre des principes agiles dans sa famille Agile Practices for Families: Iterating with Children and Parents.

Voici d’autres références reliées au même sujet :

Et vous, appliquez-vous des principes Agiles dans votre famille? En avez-vous tiré des bénéfices intéressants? N'hésitez pas à partager votre expérience avec les autres lecteurs en laissant un commentaire ci-dessous.

Mots-Clés :

Évaluer une équipe Agile

Publié par David Beaumier le jeudi 23 janvier 2014 à 16:11

Pour faire suite à mon billet précédent qui parle de l’évaluation des performances individuelles, j’ai pensé qu’il pourrait être pertinent de se questionner sur nécessité d’évaluer l’équipe dans son ensemble.  Alors qu’en développement Agile on mentionne souvent que la réussite de l’équipe prime sur les performances individuelles, les organisations s’attardent rarement aux équipes dans leurs processus d'évaluations de la performance. Peut-être aurait-on avantage à prendre un moment d’arrêt et à mettre sur pieds un système orienté sur les performances du groupe.

Par exemple, pourquoi ne pas mettre en place des mesures précises de certains aspects que l’on souhaite renforcer? Souvent, il peut être assez simple de le faire, quitte à ce que la collecte soit semi-automatisée (un chiffrier, par exemple).  Voici quelques facettes que l’on pourrait évaluer assez facilement :

  • Variation de la vélocité de l’équipe;
  • Nombre de stories non terminées dans le sprint;
  • Métriques sur la qualité du code;
  • Nombres d’éléments bloquants ouverts/fermés dans les sprints;
  • Niveau de précision des estimés de l’équipe;
  • Nombre de bogues en production et sévérité de ceux-ci;
  • Respect des standards de développement;
  • Valeur d’affaires de chacune des livraisons.

Jurgen Appelo, dans son livre Management 3.0, suggère de mesurer l’évolution des performances dans le temps et d’établir des comparaisons. Une augmentation de 15% de la vélocité par rapport à l’an dernier peut être un indicateur plus pertinent d'améliorations dans l’équipe que de simplement établir une moyenne annuelle de N points/Sprint. 

En plus des mesures quantitatives, on ne peut se passer des mesures qualitatives. Elles apportent un éclairage différent sur les performances et l'état de l'équipe en général. Voici quelques axes possibles d'évaluation:

  • Niveau d'auto-organisation
  • Confiance mutuelle
  • Niveau d'entraide et de partage des connaissances
  • Évolution du moral des membres de l'équipe
  • Recherche du consensus
  • Désir de s'améliorer individuellement et collectivement
  • Taux d'absentéisme

Là-aussi, on peut les collecter relativement facilement ces mesures, pour peu qu'on s'en donne la peine. Par exemple, plusieurs outils permettent de bâtir facilement des sondages anonymes et d'en compiler les résultats.

Quand et comment évaluer?

En agilité on parle souvent de réduire la boucle de rétroaction afin de pouvoir fréquemment ajuster le tire et améliorer nos façons de faire. En se basant sur ce principe, je crois qu'il est aussi pertinent de procéder à l'évaluation d'une équipe plusieurs fois par an qu'il l'est de passer d'une livraison annuelle à des livraisons mensuelles. L'évaluation peut prendre plusieurs formes, mais devrait débuter par l'établissement d'objectifs avec l'équipe. En tant que gestionnaire, à quoi vous attendez-vous de l'équipe? Quelle genre de résultats escomptez-vous pour la prochaine année? De l'autre côté, quelles sont les attentes de l'équipe? Quel niveau de performance souhaitent atteindre les équipiers? Quels aspects souhaitent-ils revoir et améliorer? Attention à cette étape de ne pas confondre les objectifs de performance avec le carnet de produit. Les objectifs doivent être en lien avec l'équipe plutôt qu'avec le produit.

Il existe plusieurs façons possibles de mettre le tout sur pieds. Je suggère d'y aller assez simplement pour débuter. Pourquoi ne pas tenir une rencontre regroupant équipiers et gestionnaire(s) afin de comparer les deux points de vue et produire une liste d'indicateurs qualitatifs et quantitatifs à mesurer. Par la même occasion on peut s'entendre sur la source de chacune des mesures sélectionnées et choisir la fréquence de la collecte de celles-ci. Si votre équipe fonctionne par cycles de livraisons de quelques mois, (3 cycles et plus par an) il peut être intéressant de faire coincider la fin d'une livraison avec la période d'évaluation.

À partir du moment où les objectifs à atteindre sont connus d'avance par toutes les parties, l'équipe devient apte à s'évaluer elle-même. Les équipiers pourraient fort bien intégrer cet aspect à la cérémonie de rétrospective d'itération. En revenant sur ses objectifs en cours de rétrospective, l'équipe est alors portée à réfléchir sur les différents éléments qui affectent, positivement ou négativement, l'atteinte de ceux-ci.

Interpréter les résultats

Un gestionnaire, moins impliqué émotionnellement que les membres de l'équipe, pourra avoir une vision différente et intéressante sur les performances globales de l'équipe. Avec le recul, il est probablement en mesure de déceler des enjeux dans la dynamique d'équipe ou au niveau de son organisation. L'interprétation que fera le gestionnaire des données colligées risque aussi d'être teintée par sa vision des enjeux organisationnels. Dans tous les cas, il importe de s'en tenir à la liste d'indicateurs identifiés au départ et d'être le plus objectif possible.

Qu'il s'agisse de mesures qualitatives ou quantitatives, il est important en cours d'analyse de bien distinguer les tendances systémiques des événements ponctuels. Un taux d'absentéisme qui augmente durant la saison de la grippe est probablement ponctuel (Pierre a transmis le virus à Josée, qui l'a ensuite transmis à Serge et ainsi de suite). Toutefois, si vous remarquez une augmentation de l'absentéisme la semaine qui suit chacune des livraisons, il y a peut être lieu d'en chercher la cause.

Aussi, petite mise en garde : il est toujours préférable de ne pas se baser sur une seule mesure pour tirer des conclusions. Mettez-là toujours en contexte. Par exemple, si on ne mesure que le nombre absolu de builds brisés par une équipe on oublie peut-être que celle-ci a une plus grosse base de code ou un nombre plus grand de développeurs et qu’elle a ainsi démarré plus de builds d’intégration continue qu’une autre. Il pourrait être plus judicieux de mesurer le ratio de réussite de builds en pourcentage. En anglais on dit « Be careful what you measure because that is what you are going to get », tel qu’illustré ci-dessous.

Source: http://www.axosoft.com/blog/2012/08/23/measure-agile-metrics-that-work/

Impliquer (encore) l'équipe

Une rencontre avec l'équipe devrait avoir lieu afin d'échanger sur l'interprétation des résultats. Comment l'équipe et le gestionnaire perçoivent-il chacun ces données? Y-a-t-il un écart entre les deux points de vue et pourquoi? Si l'équipe tient une rétrospective de livraison, parfois appelé rétrospective jalon, il est possible de réserver à l'avance une période de temps pour cet échange à l'intérieur de cette activité.

Peu importe la formule que vous retenez, il est important de prendre le temps d'identifier ce qui peut être mis en place pour traiter les écarts entre les objectifs et ce qui a été mesuré. Une équipe qui a tenu compte de ses objectifs au cours des rétrospectives d'itérations aura sans doute des pistes à suggérer et pourra peut-être même fournir un état de situation sur les moyens qu'elle a tenté pour adresser la situation. Est-ce que le gestionnaire peut venir en appui en faisant une intervention auprès d'intervenants externes à l'équipe? Est-ce que d'autres équipes au sein de l'organisation vivent la même situation? Auraient-elles avantage à échanger à ce niveau? Autant d'aspect sur lesquels le gestionnaire peut intervenir pour aider l'équipe à mieux performer.

Références

En terminant voici quelques références additionnelles pour vous permettre d'approfondir le sujet.

Mots-Clés :

La saison des évaluations annuelles

Publié par David Beaumier le mercredi 18 décembre 2013 à 21:05

Avec la saison du rhume et les premières neiges revient la période des évaluations annuelles des employés. Chaque organisation possède une façon bien à elle pour gérer ces « cérémonies ». Une chose est certaine toutefois, plusieurs redoutent cette période. Et ce, autant d’un côté que de l’autre du bureau.

Il existe plein de techniques pour mener ces rencontres : des formulaires, des procédures et tout le tralala. Ça vaut la peine de structurer le processus, aucun doute.  Cependant, la réflexion qui me vient chaque année est la même : au-delà des critères « comportementaux » de chacun des employés (ponctualité, assiduité, respect des politiques, etc.), est-ce que la majorité des gestionnaires en développement logiciel sont bien outillés pour souligner l'apport des personnes les plus méritantes et, bien entendu, pour favoriser la progression professionnelle de leurs équipiers?

Impliquer l’équipe dans l’évaluation

Une chose est certaine, qui est mieux placé que ceux qui côtoient une personne pour évaluer son travail et son apport à l’équipe? Je ne propose pas de remplacer l’évaluation annuelle par un sondage dans l’équipe. Ce n’est quand même pas un concours de popularité! Cependant, la perception des pairs est un aspect important. Il est peut-être plus simple de juger de la performance d’un employé en se basant sur un ensemble de faits récoltés aupès de l'équipe que de dresser un portrait complet à partir d'une feuille blanche. Pour ce faire, plusieurs recommandent que les mesures utilisées dans l’évaluation viennent directement de l’environnement de travail.

Certaines organisations Agiles ont mis sur pied des systèmes d’évaluation assez sophistiqués pour obtenir une rétroaction de l’équipe sur les performances individuelles. L’exemple d’eBay est assez intéressant, mais ce n’est pas à la portée de toutes les équipes, soyons honnête. 

Des façons  de faire plus simples peuvent être mieux adaptées à une organisation de plus petite taille. Pensons à une approche où chaque membre de l’équipe se voir attribuer un certain nombre de cartes de félicitations qu’il peut attribuer à un collègue qui fait un bon coup. Cela permet de souligner des situations qui sortent de l’ordinaire. Par exemple, je peux remettre une carte à ma collègue Jacinthe parce qu’elle est venue me donner un fier coup de pouce pour préparer l’analyse d’une nouvelle fonctionnalité alors qu’elle était déjà occupée avec son propre projet.

Ce n’est peut-être pas aussi scientifique, mais ça favorise la collaboration dans l’équipe et cela permet d'identifier les personnes qui se dépassent et ceux qui ont peut-être besoin d’encouragements additionnels pour le faire.

Mesurer l’apport à l’équipe

On peut aussi être tenté de mesurer l’apport d’un individu dans son équipe. C’est faisable, mais il faut être prudent lors de la sélection des indicateurs. Une personne peut aider beaucoup ses collègues tout en n’étant pas celle qui écrit le plus de lignes de code ou celle qui règle beaucoup d’anomalies. Comment mesurer l’apport d’une personne qui a tendance à identifier beaucoup d’anomalies pertinentes lors des revues par les pairs par rapport à une qui est moins rigoureuse?  Ce n’est pas facile d’obtenir une mesure quantitative de cet aspect.

Évaluez souvent

S’il est bon pour l’équipe de faire une rétrospective chaque Sprint (donc au moins une fois par mois) pourquoi faudrait-il attendre 12 mois pour évaluer le rendement d’un employé? La boucle de rétroaction est inutilement longue, ce qui limite grandement la possibilité pour l’employé d’apporter des correctifs à son travail. Serait-il possible de rencontrer les équipiers 2 fois par année? 3 fois? À chaque fin de livraison? Quitte à réserver la question salariale pour la dernière rencontre, si c’est la politique de l’organisation.

À mon avis c’est souvent plus rapide de procéder par des rencontres plus courtes et plus fréquentes. En plus, lorsqu’on n’évalue qu’une seule fois par année on a tendance à souligner plutôt les mauvais coups, car ce sont eux que l’on retient plus (c’est humain je crois). Dans leur livre Behind Closed Doors : Secrets of Great Management, Rothman et Derby associent trois conséquences principales au manque de rétroaction par les gestionnaires :

  • Perte de confiance de la part de l’employé;
  • Perte de productivité de l’employé et de l’équipe;
  • Ressentiment de l’équipe, particulièrement dans les cas où un membre ne contribue pas à sa juste mesure.

Adoptez une évaluation à double sens

Pourquoi ne pas demander aux employés d’évaluer leur gestionnaire immédiat en plus de leur performance individuelle? Si cela est fait dans le respect et qu’un lien de confiance mutuel est installé entre les deux individus, une telle activité ne peut être que bénéfique. Peut-être les équipiers trouvent-ils que leur gestionnaire ne communique pas assez? Se peut-il qu’ils trouvent les rencontres de l’équipe trop longues et pas assez structurées? C’est en échangeant que l’on peut s’améliorer.

Références

En terminant, je me permet de vous proposer quelques références additionnelles.

Et vous, comment avez-vous adapté le processus d'évaluation dans votre équipe Agile? N'hésitez pas à partager vos impressions, commentaires et suggestions. Joyeuse saison des évaluations annuelles!

Archive