Outils de productivité partie 4: Zen et Focus

Yin Yang

Nous allons discuter aujourd’hui de deux écrits de l’auteur du blogue Zen Habits Leo Babauta.

Le premier, Zen to Done, est un ouvrage intéressant qui donne des conseils et une méthode pour surmonter les différents obstacles rencontrés avec l’application de la méthode GTD ou Getting Things Done (voir le premier billet de cette série pour plus de détails).

Le deuxième ouvrage du même auteur que nous allons aborder est Focus, un manifeste très intéressant sur l’âge de la distraction.

Zen To Done

image

La technique Getting Things Done introduit une série de changements, mais cela peut s’avérer compliqué pour certaines personnes. En plus, on ne parle pas trop de comment avoir des buts ni de l’étape de « Doing ». Zen to Done nous suggère donc une manière d’appliquer le changement et nous explique une série d’habitude à acquérir graduellement.

Comment changer nos habitudes ?

En premier lieu, le changement devrait se faire par petites étapes en se trouvant une manière de se motiver et de maintenir notre focus.

Voici quelques méthodes suggérées pour appliquer notre changement:

  • Se commettre : inscrire nos objectifs quelque part et les regarder régulièrement
  • Pratiquer: changer une habitude demande de la pratique.
  • Se motiver : Trouver des manières de se motiver autant que possible
  • Mesurer nos progrès : enregistrer nos efforts chaque jour. Penser positivement : se dire que l’on est capable et se débarrasser des pensées négatives.

Habitudes Zen

Les habitudes mentionnées dans le livre sont toutes très pertinentes. Il est recommandé cependant de les apprendre en petit groupe de 2 ou 3 à la fois. Voici la liste des habitudes Zen que j’ai librement traduites en français:

  • Collecter : Toujours avoir en main un outil pour noter nos tâches, nos idées et autres projets.
  • Processus: Se faire un processus pour dépiler nos tâches et courriels. Un peu comme décrit dans la méthode GTD.
  • Planification: Planifier nos objectifs et nos tâches les plus importantes à réaliser
  • Exécuter: Faire une chose à la fois, sans distractions. La technique Pomodoro est très utile pour cela.
  • Simple système fiable: Garder votre système simple avec juste assez de listes et de contextes pour vous retrouver.
  • Organisation: Une place pour chaque chose et chaque chose à sa place.
  • Revue: Revoir notre système et nos objectifs et ce, idéalement de manière hebdomadaire.
  • Simplifier: réduire nos buts et nos tâches à l’essentiel. Bien valider que nos actions soient en ligne avec nos objectifs.
  • Routine: Établir des habitudes et les maintenir.
  • Trouver notre passion: Si vous êtes passionnés au travail, alors vous ne procrastinerez pas. Si ce n’est pas le cas, chercher ce qui vous passionne et essayer d’en faire une carrière.

Zen to Done est un petit eBook vendu directement sur le site de l’auteur.  Il ne fait que 83 pages, mais il est très beau en plus d’être direct, clair et concis.  Je vous le recommande si vous voulez en savoir plus sur sa méthode et commencer à l’appliquer rapidement. On n’a pas besoin d’avoir lu GTD pour bien comprendre le contenu du livre.

 

Focus

We live in curious time. It’s called the Age of Information, but in another light it can be called the Age of Distraction.

Leo Babauta, Focus

Entre d’autres mots: Nous vivons dans une drôle d’époque. On l’appelle l’Âge de l’information, mais sous un autre regard, on pourrait appeler cela l’Âge de la distraction.

Histoire d’habitudes encore ici. La clef pour être productif, créatif et accomplir nos objectifs est simplement de garder notre focus. Les distractions nous arrivent de partout de nos jours et on a souvent l’impression d’être en surcharge d’information. Voici un résumé des grandes parties du livre:

  • Prendre du recul:  On parle ici des bienfaits d’être déconnectés, de combattre cette dépendance et de se trouver un rituel pour débuter nos tâches et garder le focus. Le calme, le repos et la déconnexion sont des éléments importants menant à une vie meilleure à un certain degré.
  • Se débarrasser des distractions: plusieurs points intéressants comme réduire notre flot d’information et se départir du besoin constant d’être à jour. On ne veut pas passer notre vie dans notre « inbox ».  Il faut prendre responsabilité de notre vie.
  • Simplification (et oui, encore!): L’idéal est de travailler dans un endroit le plus épuré que possible.  Comme avoir un coin de bureau propre sans rien dessus. Et d’enlever toutes les alertes possibles de courriels et de Twitter sur notre ordinateur. On peut aussi simplifier nos tâches, réduire nos engagements, nos rencontres,etc.
  • Focus: Le multitâche est bon pour la poubelle. Soyez monotâche et multiprojets. Bref, exécuter une tâche à la fois et mener plusieurs projets en parallèle. Soyez attentif par contre au danger d’avoir un focus trop large et d’essayer de tout faire en même temps.
  • Les autres: Il y a plusieurs défis de mettre cette histoire de focus en pratique avec une vie de famille, les collègues au travail et nos patrons. L’environnement de travail est aussi important et il y a des manières de le rendre apte à maintenir notre focus.
    Focus est un eBook gratuit. Il existe aussi une version payante avec des entrevues en prime et autre. C’est une lecture de 120 pages environ. Je le recommande à tous ceux qui chercher à se sortir du chaos et désirant simplifier les choses.

Et toi Karl, de ton côté, est-ce que tu es Zen et productif ?

Et bien j’essaie de l’être autant que possible, malgré les événements inattendus au travail et à la maison. C’est parfois difficile, mais c’est toujours dans mes objectifs de tous les jours.

Comme rituel de focus, j’utiliser la technique Pomodoro autant que possible. Et le reste, je travaille constamment à améliorer la manière de vivre ma vie, une étape à la fois.

 

Mes points clefs:

  • Le changement est possible; y aller par petits pas. Se faire une routine
  • Trouver notre passion en fin de compte est important
  • Pour avoir du focus, simplifier et écarter toute distraction

 

Références:

Outils de productivité partie 3: Agile Results

imagePour faire suite à la série de billets sur les outils de productivité, nous allons parler aujourd’hui d’une technique intéressante qui nous permet d’être « Agile » avec nous-mêmes, et ce sur différents niveaux.

Cela fait quelques années que je lis régulièrement les articles de J.D. Meier. Ce dernier travaille chez Microsoft, mais on ne parlera pas ici de son côté technique, mais plutôt de ses trucs pour obtenir des résultats.

De son blogue, Source of Insight, il a publié plusieurs articles très intéressants sur la productivité, comment atteindre nos buts et améliorer la balance entre travail et vie à la maison. Il a récemment formalisé toute sa méthode dans un livre intitulé « Agile Results ». Ce dernier est gratuit en ligne et on peut se procurer aussi une version papier.

 

Les grandes lignes de sa méthode sont les suivantes:

  • La règle de trois: Toujours y aller avec trois objectifs à la fois dans vos planifications.
  • Adopter le concept de « Monday Vision, Daily Outcomes, Friday Reflection« , qui est en gros:
    • Vision du lundi: On identifie nos 3 résultats souhaités pour la semaine
    • Résultats Journalier: On révise nos 3 objectifs de la semaine et on regarde comment les faire avancer aujourd’hui en priorisant nos tâches.
    • La Rétrospective du vendredi: On regarde notre semaine en se posant les deux questions suivantes:
      • Quelles sont les trois choses qui vont bien ?
      • Quelles sont les trois choses à améliorer ?
  • Trouver ses « hotspots » afin de savoir comment on distribue notre temps et se fixer des limites. Le tout afin de bien balancer notre vie. C’est un peu philosophique, mais assez important pour se questionner sur quoi investir en priorité et les conséquences à ne pas investir à d’autres endroits.

Le livre mentionne aussi un paquet de stratégies et de points clefs obtenir des résultats. Très intéressants à lire. La version du web du livre est très pratique et on s’y retrouve bien. Il y a un résumé de la méthodologie et  des « Cheat Sheets », posters et autre.

iStock_000001342452LargeDe mon côté, je pratique régulièrement la règle de trois et le « Monday Vision, Daily Outcomes, Friday Reflection ». C’est vraiment la base de mon rythme pour réaliser un paquet de trucs, comme écrire ce billet. Pour ce qui est des hotspots, je m’y suis attardé une fois je crois pour bien les connaître et c’est tout. Bref, cette méthode marche bien pour moi. D’ailleurs la section « Mes points clefs » que l’on retrouve régulièrement à la fin de mes billets, est tirée de cette technique.

Si les « Agile Results » vous branchent, n’hésitez pas à lire aussi le blogue « Source of Insight » qui publie régulièrement de bons articles et résumés. J’en ai d’ailleurs aussi inscrit, dans les références au bas de ce billet, des liens sur des articles intéressants de J.D. Meier et de E-Books gratuits qu’il a déjà écrits.

 

Mes points clefs :

  • Planifier nos tâches et ce que l’on veut accomplir, et ce de manière journalière, hebdomadaire, mensuelle et annuelle
  • Apprendre à mieux se connaître et important pour se fixer des objectifs
  • Nos résultats guident nos actions

 

 

Références :

Outils de productivité partie 2: La Technique Pomodoro

Après avoir regardé comment organiser nos tâches avec la technique Getting Things Done (GTD), nous allons cette-fois nous attardez à la manière d’exécuter nos tâches. Très souvent de nombreuses interruptions et distractions viennent briser notre élan. Ces interruptions peuvent venir de partout : téléphone qui sonne, un collègue qui vient nous poser une question, le « bip » sonore nous indiquant un nouveau courriel ou le désir de ne pas avancer dans nos tâches et d’aller se promener sur Internet.  La technique Pomodoro vise justement à régler ce genre de problème et de permettre une bonne productivité.

L’origine

Pomodoro Technique bookLe tout a commencé lorsqu’un italien, du nom de Francesco Cirillo, avait beaucoup de difficulté à garder sa concentration lorsqu’il étudiait chez lui. Il a eu alors l’idée de prendre le minuteur de cuisine de sa mère qui était en forme de tomate et de s’en servir pour s’assurer de garder sa concentration. Il a fait le pari avec lui-même de tenir 10 minutes sans interruption. Et cela a bien marché, mais cela lui a pris beaucoup de temps et d’effort pour y parvenir. Il a ensuite allongé le temps pour se rendre compte après plusieurs essais que 25 minutes était optimal. Il a par la suite peaufiné la technique et écrit un petit livre dérivant tout cela. En passant, ce livre est gratuit.

Résumé de la technique

Les outils nécessaires:

  • Un minuteur (ou Timer) de cuisine, en forme de pomodoro de préférence. On peut aussi trouver des outils gratuits sur internet pour votre ordinateur ou votre mobile.
  • Un crayon
  • Une liste de tâches à faire
  • Un inventaire d’activité à réaliser
  • Une feuille pour enregistrer nos observations

Dans les références plus bas, vous trouverez le lien pour vous télécharger les modèles de ces feuilles

Par la suite, on y va comme suit:

  1. Choisir une de nos tâches à faire
  2. Mettre le Pomodoro à 25 minutes et le partir
  3. Travailler sur cette tâche sans arrêt jusqu’à ce que le pomodoro ait sonné
  4. Inscrire un « x » sur notre tâche dans notre liste des tâches à faire
  5. Prendre une pause, loin de son écran de préférence, de 5 minutes

Et on continue de même jusqu’à ce que la tâche soit terminée. Il est aussi recommandé de prendre une pause plus longue de 25 minutes à tous les 4 pomodori.

Les interruptions

Avec une certaine discipline on peut éviter la plupart des interruptions internes. Exemples:

  • Prendre ses courriels à des moments fixes dans la journée, comme entre les pomodori.
  • Si une autre idée nous vient en tête, juste à la noter quelque part et y revenir plus tard.

Pour les interruptions externes, il faut apprendre à les gérer sans nuire au travail d’équipe si c’est notre cas. Si on vient nous poser une question, on peut soit répondre immédiatement si la réponse est courte. Ou, de répondre poliment qu’on lui reviendra un peu plus tard. Pour les appels téléphoniques, c’est un peu la même chose. On peut aussi mettre son téléphone sur le répondeur automatique pendant nos pomodori. Mais il faut faire attention, si dans le cadre de notre travail, on peut être sollicité d’urgence au téléphone.

L’idée est un peu comme d’utiliser l’approche agile Scrum mais à un niveau très personnel. On peut alors appliquer ce processus en suivant les cinq étapes suivantes:

  • Planification: On planifie nos tâches et activités au début de la journée. On estime aussi le nombre de pomodori que cela va prendre pour les réaliser
  • Suivi: Tout au long de la journée, on note nos pomodori accomplis et le nombre d’interruptions
  • Enregistrement : À la fin de la journée, on compile toutes nos observations
  • Rétrospective : On regarde nos résultats et on essaie de voir ce qui a bien marché et ce qui a moins bien marché. Le but est de se dire que le prochain pomodoro sera meilleur.

Version Illustré

Pomodoro Technique Illustrated: Can You Focus - Really Focus - for 25 Minutes?Le livre de Francesco Cirillo est bien et explique la méthode en montrant divers exemples. Mais si vous vous allez plus loin et comprendre aussi pourquoi cette méthode marche si bien, je vous recommande fortement de lire le livre « Pomodoro Technique Illustrated » de Staffan Noteberg. J’ai rencontré et échangé avec l’auteur lors de la conférence Agile 2009. Ce qui m’a permis d’avoir l’occasion de lire la version draft et de participer à la revue technique de ce livre en 2009 et j’ai bien apprécié l’expérience. Le livre est tout en couleur et l’auteur nous explique la technique Pomodoro à sa manière, étape par étapes, et de manière visuelle avec ses illustrations qu’il a faites lui-même. Chaque chapitre est aussi résumé sous forme mind map. Il prend  le temps d’expliquer le rapport de tout cela avec notre cerveau.

Bref, facile à lire, amusant et très intéressant, je n’ai que de beaux mots pour ce livre.

Et toi Karl, est-ce que ça marche la technique Pomodoro ?

Oui, cela marche très bien. C’est parfois nécessaire pour moi afin d’entreprendre quoi que ce soit, à la maison ou au travail. Cela m’a aussi aidé à me rendre compte que je perdais beaucoup de temps à lire mes courriels aussitôt qu’il entrait dans mon « inbox ». Il y a aussi des journées ou je suis plutôt réactif à toute sorte de demandes au travail et c’est alors plus difficile de commencer un pomodoro. J’ai aussi encore un peu de difficulté à compiler tout cela et à en faire diverses analyses. J’utilise l’outil Pomodairo, qui fonctionne sous Windows, qui compile certaines statistiques, mais pas comme je l’aimerais exactement. Mais c’est en général un très bon outil. D’autres fois aussi, je le fais sans minuteur, de manière naturelle. Je me rends alors compte après un certain temps que je n’ai pas parti de pomodoro.  Cela veut dire que je suis probablement rendu à une pause de 5 minutes…

En passant, ce billet a été réalisé après 4 Pomodori !

Et de votre côté, est-ce que certains d’entre vous ont essayé cette technique ?

Si oui, quelles sont vos expériences (positives et négatives) avec celle-ci ? N’hésitez pas à laisser des commentaires dans ce billet.

Points clefs:

  • Utiliser un minuteur est très utile pour maintenir notre “focus”
  • Il est important de savoir gérer de manière intelligente nos interruptions
  • Faire une rétrospective sur nos façons de faire nous aide à s’améliorer constamment

Référence :

Outils de productivité partie 1: GTD

Rule your mind or it will rule you

– Horace Mann (1796-1859)

Voici le premier billet d’une série de cinq sur les outils et techniques de productivité que j’utilise. Le but est de vous présenter un résumé simple de ces techniques et de mes commentaires face à leur utilisation.

getting-things-done.jpgEst-ce que vous vous sentez parfois submergés et désorganiser ? Alors, évitez la procrastination et prenez le contrôle de votre vie !

Nous allons commencer notre série avec la technique « Getting Things Done » de David Allen. Ce consultant et coach à élaboré cette technique dans le but de se libérer l’esprit de nos multitudes tâches et autre afin d’être productif sans être stressé.  De cette manière, notre esprit et nos idées sont clairs et il est possible alors d’atteindre de meilleurs résultats. En passant, cette méthode est bonne pour à peu près n’importe qui et n’est pas utile qu’à ceux qui travaillent dans les technologies de l’information.

Le problème qui nous arrive trop souvent est que nous recevons de multiples demandes et que nos tâches changent régulièrement au travail. L’idée alors est de se mettre dans un état mental afin d’être productif lorsque c’est requis.

Les principes en gros de cette méthode sont les suivants:

  • Se faire une liste ou collection de tout ce que l’on a en tête
  • Mettre au clair ce que l’on doit faire
  • Décider ce que l’on fait
  • Garder nos tâches à faire dans un système organisé.

Le processus est une approche de style « Bottum-Up » afin de tout sortir ce que l’on à faire (au travail, à la maison, projets personnels, etc.) et d’en faire une gestion suivant le worklow suivant:

  1. Collect : Avoir un outil pour noter toutes nos tâches à faire on incomplètes. Voir à vider ces listes de manière régulière.
  2. Process: Évaluer une action à la fois. Est-ce qu’on la fait plus tard ou immédiatement ?
  3. Organize: Se faire différentes listes. Mettre des rappels dans notre calendrier. Voir notre prochaine liste d’actions. Exemple de listes:
    • À faire
    • À revoir
    • Un jour
    • Projet
    • En attente
    • Délégation
    • À surveiller
  4. Review: Évaluer le portrait global de notre vie. Idéalement de manière hebdomadaire. Voir quand revoir quand.
  5. Do ! : Regarder nos prochaines actions. Voir s’il y a des nouvelles qui arrivent. Priorisé les tâches.

Cela demande donc de revoir comment on classe nos dossiers physiques, nos boîtes de courriel et autres. Pour certains, ils vont trouver que cela manque de structure sur quelques-uns de ces aspects. Alors que pour d’autres, cela peut bien réussir ainsi. Cela dépend un peu de votre style. Mais ce que je trouve intéressant pour moi, c’est que le GTD en n’étant pas trop structuré, est facilement adaptable et ainsi chacun peut le personnaliser selon ses besoins.

Et voilà, c’est pas mal tout en ce qui concerne cette méthode. Ce simple résumé et la visite de sites en référence plus bas peuvent vous suffire. Par contre, le livre explique en détail toute cette technique et donne plein de conseils et d’exemple.

Quant à mon essai de cette méthode, voici mes commentaires:

  • Au travail: Je l’applique assez bien et cela donne de bons résultats. Ma boîte de courriel est toujours vide et je vois facilement les prochaines actions à faire selon leur priorité.  Aussi, en révisant régulièrement mes tâches, c’est peu fréquent que j’en oublie
  • À la maison: l’application de la méthode dans mes dossiers personnels s’est avéré un peu plus compliquée. J’ai beaucoup plus de paperasse qu’au bureau et j’ai tendance à tout mettre dans un coin. J’ai commencé à bien ordonner mes classeurs, mais je n’ai pas encore pris le temps de tout classer comme il le faut. Il me faudrait plusieurs jours de temps libre pour finir l’établissement de ce processus…

Bref, je remarque que parfois l’application de GTD peut bien se passer tandis que pour d’autres contextes, c’est compliqué, car on a plusieurs choses à établir en même temps pour que cela soit fonctionnel. GTD ne mentionne pas aussi comment garder le focus sur une tâche particulière ni de voir ce qui nous motive ou comment choisir nos prochaines actions. Nous allons aborder ces aspects dans les autres billets de cette série sur les outils de productivité.

Mes points clefs :

  • C’est très important de s’organiser, surtout dans le classement des ses tâches
  • Tout mettre dans notre système, peu importe si c’est pour le boulot ou non. Il faut libérer notre cerveau le plus possible de ces tâches.
  • La revue hebdomadaire est cruciale dans le succès de l’application de cette méthode

Références :

Mon Bilan 2010 et Mes objectifs 2011

New Year 2011J’ai passé une bonne année 2010 sur le plan professionnel.

Elle fut assez mouvementée avec un changement d’emploi et une implication plus grande que prévu avec la communauté Agile de Québec.

Histoire de faire un bon bilan, revoyons mes objectifs de l’an passé et mon auto-évaluation de ceux-ci :

  • Se pratiquer davantage avec le “Visual Thinking” (Mind Map, Visual Note-taking, etc.) : Excellent !
  • Continuer de lire sur comment fonctionne notre cerveau: OK
  • Explorer Visual Studio 2010 et ses nouveautés avec C# 4.0 : 4/10: J’ai fait quelques petits « peek » techno, mais sans plus.
  • Continuer de faire de la programmation, de l’architecture en .NET et le tout en mode Agile: OK
  • Parfaire ma connaissance des designs patterns, du TDD et des principes de l’orientée-objet : À approfondir davantage
  • Apprendre de nouveaux langages: Toujours en tête d’apprendre le F# et le Ruby
  • Faire un petit projet de programmation personnel : J’ai plusieurs idées de notées. Il faut juste s’y mettre alors.
  • Bloguer plus régulièrement: Pourrait en faire davantage

 

À la manière de Seth Godin voici mes réalisations en 2010:

  • Changement d’emploi: Je fais moins de programmation qu’avant maintenant mais j’ai davantage de responsabilités comme le coaching des programmeurs, la revue de code et établir les environnement de développement et de tests, entre autres.
  • Blogue:
    • Transfert de mon blogue sous WordPress
    • J’ai composé 13 billets en 2010. Environ un par mois.
    • 1400 visiteurs en 2010.
  • Communauté Agile de Québec:
    • Membres de CA.
    • Nous avons organisé avec brio la conférence Agile Tour 2010.
    • J’ai été responsable des démarches pour inviter Mark Levison en mai dernier
    • J’ai présenté l’atelier « Gestion Visuelle » lors de l’Agile Tour
  • 8 livres en rapport avec ma profession ont été lus

 

Point à améliorer:

  • Blogue: Davantage de blogues. J’ai eu un automne assez chargé et cela ne fut pas facile de me trouver du temps.
  • Programmation: J’ai différentes responsabilités dans mon nouvel emploi et je fais un peu moins de code. Il me faut trouver un moyen pour en faire davantage histoire de maintenir tout cela.
  • Lectures: C’est bien beau lire des livres et les commentés ici, mais j’ai ai aussi plusieurs déjà commencés et qui seraient à finaliser.

 

Mes objectifs:

J’en avais beaucoup l’an passé et certains étaient un peu vagues. Je vais donc en prendre moins cette année et ils seront plus précis:

  • Blogue: Je vais embarquer dans le challenge « Post a Week 2011 » de WordPress. Donc, objectifs de 52 billets en 2011.
  • Programmation: Je vais faire le défi du Code Kata et publier le code dans mon compte GitHub. Je vais donc pouvoir me pratiquer avec les langages que je connais bien (C# et VB) et aussi dans ceux que je veux apprendre, soit le F# et le Ruby.  Je veux aussi regarder le développement sous Windows Phone 7, mais en tant qu’objectif optionnel
  • Lectures: Lire au moins 6 nouveaux livres. J’ai aussi à terminer certains livres que j’ai commencés dans les années passées et que je trouver pertinent de lire au complet. Ma page « Mes Lectures » sera donc mise à jour régulièrement selon mes livres lus

 

    Références:

    Atelier Gestion Visuelle

    clip_image002

    Aujourd’hui, lors de l’Agile Tour Québec 2010, j’ai eu l’occasion d’animer un atelier sur la gestion visuelle. Le tout s’est bien déroulé malgré le temps plus restreint (1 heure) pour mener l’activité.

    La participation de tous fut excellente et une bonne créativité en est ressorti dans le tableau des tâches de tous et chacun. Bravo !

    J’avais aussi mentionné que je publierais sur mon blogue les ressources en questions mentionnées lors de la séance ainsi que les photos prises des tableaux.

    Les voici :

    Aussi, si vous voulez discuter ou poser des questions au sujet de la gestion visuelle, juste à mentionner le hashtag #GestionVisuelleQc sur Twitter. J’y participerai avec joie aux discussions qui pourront y avoir lieu.

    Merci encore à tous les participants de l’atelier et à ceux de l’Agile Tour Québec 2010 en général !

    Critique du livre Pragmatic Thinking & Learning

    J’ai lu le livre « Pragmatic Thinking and Learning: Refactor your Wetware » l’été passé (et oui, je suis un peu en retard dans mes critiques de livres, mais bon) et j’ai vraiment aimé ce petit livre. Son auteur, Andy Hunt, est aussi le co-auteur du fameux The Pragmatic Programmer . Le livre est bien présenté avec plusieurs chapitres, plusieurs images sont présentes pour illustrer certains concepts et on retrouve des capsules conseils un peu partout dans le livre.

    Ce livre ne parle ni de programmation ni d’agilité (et oui !). On y discute principalement comment notre cerveau fonctionne et comment l’optimiser dans ce monde qui ne cesse d’évoluer et où nous sommes en apprentissage continue. Ce livre vise donc en particulier les personnes œuvrant dans le domaine informatique, mais pourrait aussi bien être très utile en générale pour quiconque.

    Le livre commence en introduction en nous rappelant de toujours considéré le contexte car tout, d’une certaine manière, est inter relié. J’aime beaucoup aussi quand on décrit brièvement tous les chapitres du livre dans l’introduction. Cela nous permet d’avoir un bon aperçu du livre et voir ce qui va s’en venir. Autres sujets couverts dans les chapitres suivants : le modèle d’acquisition de connaissance Dreyfus, le fonctionnement de notre cerveau, comment apprendre délibérément, comment déboguer notre cerveau, acquérir de l’expérience et garder le focus.

    J’ai particulièrement apprécié le chapitre 3 qui décrit comment fonctionne notre cerveau avec quelques analogies informatique. On y parle aussi de nos deux cotés du cerveau qui y sont rebaptisé mode linéaire (gauche) et mode riche (droit). L’idée n’est pas de connaître son côté dominant et de l’exploiter au maximum. Au contraire, nous avons besoins de deux côtés et il faut parfois se servir de l’un et l’autre pour arriver à nos fins. Par exemple, on peut partir quelque chose en mode riche (coté droit) pour générer des idées ou être créatif et par la suite retomber en mode linéaire (côté gauche) pour analyser le tout et faire des regroupements. Par contre, embarquer en mode riche n’est pas toujours évident, mais le livre mentionne plusieurs trucs et façons de faire pour y parvenir.

    Un petit passage que j’ai bien aimé : Savez-vous que travaillez dans un cubicule détruit nos neurones ? La création de nouveaux neurones est davantage stimulée dans un environnement riche ou l’on peut observer, apprendre et interagir. Comme un animal dans une cage, un programmeur pris dans un cubicule ne fera pas la création de nouveaux neurones. Voilà pourquoi c’est important d’avoir un espace de travail ouvert et qui stimule nos sens. Voici quelques articles en référence à ce sujet :

    Bref, j’ai beaucoup aimé ce livre et je le recommande à tous. Seul petit point négatif, certain sujets sont abordés très légèrement et aurait mérité qu’on y aille en profondeur. Pour ce, il faut donc me falloir d’autres lectures…

    Mes points clefs : Darts

    • Nous avons besoin toujours besoin de nos deux modes de fonctionnement de notre cerveau : mode linéaire et mode riche.
    • Prendre en note chaque idée que nous avons. De cette manière on pourra en générer davantage
    • Lire et relire pour ne pas oublier. Utiliser des « mind maps » pour résumé le contenu.
    • Et ne jamais oublier le contexte, car tout est inter relié

    Pourquoi je n’aime pas les générateurs de code ?

    639165_old_factory

    Je n’ai jamais vraiment beaucoup aimé les générateurs de code.

    Vous savez, le genre d’outils qui peut vous générer des centaines et parfois même des milliers de lignes de code avec simplement quelques paramètres ?

    Dans cet article, je vais discuter des points positifs et négatifs quant à l’utilisation d’outils de générateurs de code. Des exemples de différents générateurs seront aussi décrits.

    On mentionne  souvent que ces outils nous font économiser des centaines d’heures et aide à avoir du code plus standard, je pense par contre qu’à moyen et long terme, il peut y avoir certains effets négatifs.

    Comme par exemple :

    • Nuit à l’apprentissage: C’est le point le plus important d’après moi. Le simple fait que de ne pas avoir touché à une partie du code, nous rend vulnérable par rapport celle-ci. Aussi, il est important de bien comprendre un système informatique dans son ensemble et non seulement les parties du code qui n’ont pas été générées. Faut aussi savoir que tel générateur ne sera pas disponible dans un autre projet… Exemple: un générateur de code se charge de produire les contrats de services et de données en WCF. Il se charge de bien créer les classes et de mettre les bons « tags » relatifs à WCF. Dans ce cas, on ne peut pas dire que nous avons gagné de l’expérience avec WCF. Si on arrive dans un autre mandat ou projet et que le générateur n’existe pas, il nous faudra approfondir WCF car finalement, on ne le connaît pas vraiment malgré son utilisation dans un précédent projet.
    • Difficultés lors de la recherche d’erreurs : Les générateurs de code produisent en général du code un peu obscur et difficile à lire. Si une erreur se produit dans cette partie du code, la recherche peut s’avérer longue et douloureuse.
    • Pour une simple correction, on a souvent pas le choix d’utiliser le générateur de code: C’est en général non-productif de devoir refaire l’exécution du générateur pour faire un petit changement, comme renommer une méthode par exemple ou changer de type une propriété. Pour ces gestes, c’est tellement plus facile et rapide d’y aller manuellement…

    Bien que j’aie déjà utilisé certains de ces outils, je peux avouer qu’ils sont parfois efficaces et, probablement, valent la peine d’être utilisé selon le contexte. Dans certains environnements avec des dizaines de programmeurs, on n’a pas trop le choix de standardiser certaines parties du code malgré les inconvénients. Bref, je crois que l’idéal est d’avoir une bonne balance entre productivité à court terme et l’apprentissage à long-terme.

    Voici quelques-unes de mes expériences avec les générateurs de code:

    Bonnes:

    • LINQ to SQL: Le code généré à partir de tables SQL Server n’est pas trop gros. C’est certain qu’il n’est pas très beau non plus, mais c’est assez facile de se créer une classe « extended » pour y ajouter des options particulière, comme une chaîne de connexion qui peut changer selon certaines conditions. Mais dans ce cas, le gain se fait surtout par l’utilisation directe de LINQ pour lire et modifier nos classes SQL. Le code que l’on créé ainsi manuellement est beaucoup plus lisible et simple avec LINQ.
    • Resharper: La génération de code dans Resharper se charge surtout de petits bouts de code qui seront intégrés à notre classe. Après cela, on les manipule comme on veut. Voyez ici les exemples .

    Négatives:

    • Smart Client Software Factory: Il y a une bonne volonté ici de faire des outils pour générer nos vues, contrôleurs et autres structures nécessaire au pattern MVP-C. Par contre cela en résulte en un nombre assez nombreux d’événements. Lorsqu’il faut faire du débogage, on ne se sait plus trop ou donner de la tête lorsque cela saute d’un événement à l’autre.
    • CodeSmith : J’ai déjà utilisé cet outil pour générer une couche d’accès aux données dans un précédant projet. Je trouvais terrifiant de voir des milliers de lignes de codes produite pour simple une table avec une dizaine de colonne seulement. Par chance que les erreurs ne s’y trouvaient pas souvent. Noter aussi que CodeSmith a d’autres outils que je n’ai pas essayé et qui sont probablement intéressant malgré tout.
    • L’outil « Add Service Reference » de Visual Studio pour WCF: Je n’aime pas cette option qui se fait un peu trop facilement avec un clic droit de la souris. Le gros problème c’est que le fichier de configuration est rempli plein d’options sélectionnés dont plusieurs ne sont pas utile. Aussi, c’est un peu embêtant si on ajoute un deuxième service en référence dans le même projet. J’aime beaucoup mieux la méthode manuelle tel que décrit dans l’article WCF the Manual Way…the Right Way

    Et vous, que pensez-vous des générateurs de code ?

    Critique de livre : The Five Dysfunctions of a Team

    FiveDysfunctionsCover Ce livre n’est ni technique et ne parle pas d’agilité. Pourquoi donc j’en ai fait la lecture ? Et bien tout a commencé cet été lors de mon passage à la conférence Agile 2009 qui a eu lieu à Chicago, lorsque j’ai assisté à la présentation suivante :

    Scaling Up by Scaling Down: A (re)Focus on Individual Skills

    Dans cette présentation sur le comment faire progresser une équipe pour la rendre hyper-performante, on mentionnait le livre en référence. Intrigué, je me suis procuré le livre en question sur les 5 dysfonctions d’une équipe. En passant, la présentation a été filmée et vous pouvez donc l’entendre au complet sur le site d’infoQ:

    http://www.infoq.com/presentations/scaling-up-by-scaling-down

    Je vous la recommande fortement si vous voulez en savoir davantage sur le leadership d’équipe et le lien avec l’agilité. Le conférencier, Ashley Johnson,  parle avec un anglais qui est en général très facile à comprendre.

    Pour revenir au livre, c’est un bon livre et j’ai l’est vraiment aimé. Il est d’ailleurs utile pour tout ceux qui sont intéressé par le travail d’équipe, peu importe leur rôle. C’est une lecture assez facile, cela m’a pris environ 1-2 semaine pour le terminer. De plus, son contenu est présenté ainsi, de manière peu conventionnelle:

    • Les 184 premières pages du livre racontent une "fable" sur le leadership.
    • C’est dans les 40 dernières pages que le modèle des 5 dysfonctions nous est décrit.

    J’ai trouvé très instructif ce format. On nous fait découvrir graduellement la théorie des 5 dysfonctions d’une équipe à travers une histoire fictive, mais très réaliste. On devient rapidement accroché à l’histoire et on a hâte de voir la suite et comment l’équipe va réussir à corriger ces 5 dysfonctions. Ce format nous permet de comprendre la théorie à travers une histoire au lieu d’y aller directement avec la théorie sans trop de concret. Ah si les écoles fonctionneraient de cette manière…

    Pour les 5 dysfonctions d’une équipe je les résume ainsi avec une traduction libre :

    • Manque de confiance envers les autres (Absence of trust)
    • Peur des conflits (Fear of conflicts)
    • Manque d’engagement (Lack of commitment)
    • Éviter la responsabilisation (Avoidance of accountability)
    • Inattention aux résultats (Inattention to results)

    On doit commencer idéalement par résoudre la première dysfonction, ici le manque de confiance, et résoudre les autres en ordre par la suite pour finir avec le dernier, soit l’inattention aux résultats.

    Vous trouverez le détail de ces dysfonctions dans les documents suivants disponibles:

    Autre bon résumé si vous avez moins de 5 min, écouter l’auteur du livre, Patrick Lencioni, nous décrire brièvement les 5 dysfonctions:

     

    Pour poursuivre mon habitude des points clefs, voici ce que je retiens de cette lecture :Darts 

    • Si on se retient de dire des choses de peur de confronter les autres, cela nuit grandement à rendre une équipe fonctionnel
    • Viser le consensus de toute l’équipe n’est pas toujours la bonne chose à faire. L’important c’est que tous les membres de l’équipe aient eu l’occasion de s’exprimer. Après, la décision passe beaucoup mieux au sein de l’équipe.
    • Je vois bien intégrer ce genre de modèle aux pratiques de rétrospective et d’amélioration continue d’une équipe Agile. À essayer donc lors d’un prochain projet.

    Mes objectifs pour 2010

    Happy New Year!Histoire de bien commencer l’année, J’ai décidé de faire la liste des différents sujets que je désire approfondir au courant de la nouvelle année durant mes temps libres et au travail si possible.

    Ces sujets, techniques et autres, me serviront à continuer de progresser dans ma vie personnelle et professionnelle.

    Je ferai aussi la rétrospective de cette liste en fin d’année pour voir ce que j’ai accompli.

    Donc, là voici :

    SNAG-0014 Se pratiquer davantage avec le “Visual Thinking” (Mind Map, Visual Note-taking, etc.)

    SNAG-0014

    Continuer de lire sur comment fonctionne notre cerveau, comment bien retenir ce que l’on apprend à tout les jours (essentiel lorsque l’on travaille en TI) et ce qui touche un peu la neuro-plasticité.

    SNAG-0014 Explorer Visual Studio 2010 et ses nouveautés avec C# 4.0

    SNAG-0014 Continuer de faire de la programmation, de l’architecture en .NET et le tout en mode Agile, bien évidemment !

    SNAG-0014 Parfaire ma connaissance des designs patterns, du TDD et des principes de l’orientée-objet

    SNAG-0014 Apprendre un nouveau langage histoire d’élargir mes connaissances: Ruby et le framework Ruby on Rails

    SNAG-0014 Faire un petit projet de programmation personnel histoire de se pratiquer plus régulièrement pour devenir un bon Software Craftsmen

    SNAG-0014 Bloguer plus régulièrement (environ 1 fois par semaine)