1

Nous revenions des pommes où nous étions allés avec des amis. Le temps était superbe. Un sac de McIntoch plus tard, nous reprenions la route pour aller souper chez l’un de ces amis. On ne se voit pas souvent mais c’est toujours un plaisir de jaser quelques heures des enfants, de la vie… et d’informatique. Car, ces amis ont une signification particulière à mes yeux. Ce sont presque tous mes anciens profs d’informatique. Avec les années, ils se sont regroupés et sont partis en affaire. C’est autour d’un verre de vin ou d’une bonne bière que la conversation a subitement pris un tour inattendu. Joomla.

Comme ils sont d’avantage associés aux technologies Microsoft, j’étais un peu surprise de les entendre débattre sur ce CMS OpenSource en PHP. Le directeur du Dev n’en avait que pour Microsoft, technologie qu’il a d’ailleurs utilisée pour mettre au monde son propre CMS. Il n’avait pas une très haute opinion de Joomla… contrairement au directeur des Ventes qui lui avait vraisemblablement une requête d’un client européen. C’est là que je suis intervenue. Joomla n’est pas une panacée mais il valait mieux que les descriptions peu flatteuses qu’il recevait.

J’ai mis en place Joomla à plusieurs reprises. Deux fois en tant que chargé de projets et une fois en tant que programmeur. J’ai donné la formation aux futurs utilisateurs. J’ai fait l’importation des données de l’ancien système au nouveau. J’ai ouvert du code PHP pour en évaluer la qualité. J’ai essayé de nombreux plugins gratuits. J’ai trainé sur des forums pour « écouter » l’opinion de la communauté. J’ai lu deux rapports indépendants pour pouvoir le comparer à d’autres CMS. Je ne suis pas une spécialiste, mais je commence à avoir une sacré bonne idée de la bête.

C’est ainsi que je me permets d’émettre certaines conclusions. Joomla a du potentiel. C’est indéniable! Les utilisateurs aiment son interface d’administration facile à utiliser. Il y a des tonnes de templates et de plugins gratuits qui couvrent les besoins de base. Les mises à jour de Joomla sont fréquentes et son développement très actif. Et il est écrit en PHP, un langage bien connu des développeurs web. Donc, la main-d’œuvre est assez facile à trouver et peu chère.

L’envers de la médaille est pourtant bien réel. Le PHP est un langage simple que l’on peut associer à l’ASP. Nombre de programmeurs PHP font du code spaghetti de piètre qualité. Ils ont également tendance à outrepasser les capacités de base de Joomla afin de l’adapter à leurs besoins mais ce faisant, ils en modifient le cœur ce qui pose des problèmes parfois insolubles lors des mises à jour. Lorsqu’on cherche un plugin pour afficher la température par exemple, il faut en essayer plusieurs pour voir s’ils marchent correctement où s’ils sont suffisamment configurables pour nos besoins.

Joomla est fait pour afficher du contenu rédactionnel, pas des recettes de poulet Tikka Masala fournies par les internautes.

Joomla ne peut pas réellement être mis en ligne sans les services d’un programmeur comme le prétend parfois la communauté… à moins d’avoir très peu d’ambition pour son site. Il y aura toujours un peu de modification à faire dans le code des templates sans compter l’importation des données qui peut être un véritable cauchemar.

Joomla peut accommoder des sites à haut volume mais ce genre de site ne s’accommode habituellement pas des limites fonctionnelle de ce CMS. À titre d’exemple, les formulaires d’abonnement. J’ai moi-même installé plusieurs plugins pour en mettre en place mais même si l’utilisation est relativement aisée, il faut tout de même s’en tenir à des formulaires simples.

Joomla est facile à apprendre… n’en déplaise à ses détracteurs. Entre ce CMS et celui de NStein par exemple, l’adhésion a été immédiate pour Joomla et très mitigée pour NStein. Les usagers non-technos et Joomla sont faits pour s’entendre.

Bref, pour des sites simples présentant du contenu rédactionnel, quant à moi, c’est une super bonne solution peu coûteuse à implanter. Pour le reste, c’est du cas par cas.

Je suis en train de gérer une crise entre mes enfants à cause de la Wii lorsque le téléphone sonne. Je me résigne à répondre car, ça pourrait être un recruteur potentiel. J’intime l’ordre à mes enfants de se taire et de mettre en veilleuse leur querelle quelques minutes et je prend l’appel.

Ma nouvelle Prius 2010 est arrivée!!! Je n’en crois pas mes oreilles et je dois faire répéter la bonne nouvelle au vendeur. Mes enfants sentant que quelque chose de grandiose vient de se produire cessent de se chamailler et me regardent avec insistance pendant que je discute des modalités avec le vendeur. Ça fait près de 3 ans que nous attendons ce moment. Notre vieille Ford nous a bien servi mais à l’âge vénérable de 13 ans et ce, même si elle est toujours en très bonne condition, un peu de nouveauté sera le bienvenu d’autant plus qu’il s’agit de notre seule voiture.

Mais, pourquoi est-ce que j’aborde un sujet aussi peut TI déjà? Ah! Oui! En fait, pour deux raisons. La première est que la Prius est une merveille de technologie (plus de 1000 nouveaux brevets déposés seulement pour ce modèle) et aussi parce que c’est une Toyota.

Avez-vous déjà entendu parler du « Toyota way »? Quelle est cette fameuse philosophie suivie par Toyota qui l’a amené au fil des ans à construire parmi les meilleurs véhicules de la planète? Il y a des tas de voitures hybrides aujourd’hui mais seule la Prius a su retenir notre attention car, sa technologie est la meilleure, la plus performante et la plus fiable. Les autres constructeurs automobiles sont même forcés de rattraper leur retard en la matière en achetant le savoir de la génération précédente à Toyota. C’est tout dire.

Y sont-ils arrivés du jour au lendemain? Non! Ont-ils remplacé un PDG inefficace? Non! Ont-il réinventé la roue? Non! En fait, ils ont pris le temps de construire des véhicules de qualité avec une fierté qui ferait pâlir d’envie le nationaliste le plus convaincu. Dès qu’un problème est trouvé dans la chaîne de montage, on s’y attaque et on le règle avant de poursuivre. Et quand on le règle, on le fait définitivement et non pas en bidouillant une solution temporaire.

C’est coûteux bien sûr car, cela implique un ralentissement des opérations et des délais pour les premiers véhicules mais par la suite, on a des clients heureux et en confiance… qui reviennent. Ce genre de réputation vaut de l’or!

En technologie web, il n’y a aucune entreprise qui me viennent à l’esprit possédant ce genre de réputation. Grosse ou petite, et je sais que je ne les connais pas toutes, aucune ne saurait soutenir la comparaison. Certaines le prétendent devant leurs clients mais une fois que le contrat quitte le bureau du vendeur, la réalité revient durement les hanter.

Ne faudrait-il pas se questionner? N’y aurait-il pas une leçon à tirer de tout ça? Où est passé notre fierté?

Je déambule dans un Bureau en gros, mes enfants sur les talons. Nous magasinons les effets scolaires pour la rentrée. Pour mon fils de 5 ans, c’est un grand jour mais pour ma fille de 8 ans, c’est la routine.

Je déplie la feuille verte de la liste de ma fille qui sera en 3ième année. Le coût approximatif s’élèverait à 66,60$. Les crayons de feutres à colorier (minimum 12) côtoient les bâtonnets de colle. Il y a même des couvertures de présentation avec 3 attaches parisiennes… C’est quoi des attaches parisiennes?!!! Heureusement, je finis par trouver.

On passe ensuite à la liste rose pour mon fils dont le montant approximatif serait autour de 28,35$. Petit calcul mental, 66,60$ + 28,35$ = 94,95$. Je devrais donc m’en tirer en bas de 100$ puisque j’ai déjà une partie du matériel de ma fille à la maison. Donc, même si on fait une petite folie de temps à autre (une pochette avec photo de chatons au lieu d’une pochette unie), je ne franchirai probablement pas le chiffre magique de trois digits.

Erreur : une fois à la caisse, le total est de 167$ et des poussières. Voyons! Qu’est-ce qui a bien pu se passer! Je demande à la caissière si les prix suggérés par les écoles sont réalistes. Réponse : pas du tout! Où vont-ils chercher ces montants!!! Bon, sa réaction a le mérite d’être claire.

Donc, si j’extrapole un peu, les projets TI comme le matériel scolaire ne respectent pas les budgets prévus et ce, contingence incluse. Ça me rassure un peu. Moi qui ai tendance à être un peu critique face aux TI en général, je sais maintenant que le problème commence sur les bancs d’école.

Pourquoi est-ce que les budgets ne balancent jamais?

Quand on fait un projet, on doit tenir compte de 4 choses : budget, qualité, scope et timeline. Chacun de ces items a une influence sur les autres. Ainsi, si on modifie le scope, le budget sera augmenté, le timeline allongé et la qualité du projet pourrait en souffrir si on balance mal les deux premiers.

Ce qui nous amène à l’évaluation même d’un projet. Serait-ce le début de tous nos problèmes?

« Ouin! Ça, cé pas compliqué! J’l’ai faite avec untel dans l’aut’ projet pis, on pourrait réutiliser le code. » Erreur : à moins de développer dès le départ des modules ou des produits génériques, le taux de réutilisation réel est bien souvent inférieur à ce que l’on escomptait au départ. Vaut mieux calculer comme si on recommençait de 0 et en tenir compte dans le calcul de la contingence. Qui plus est, l’adaptation du code pour un autre projet peut poser des risques plus grands qui ne sont d’ailleurs jamais pris en compte lors de la phase d’évaluation.

« Si on dit que le développement de ce morceau prends 80 heures, faudrait prévoir 20 heures de QA. Donc, 100 heures en tout. » Erreur : Le développement d’une application n’impliquent pas que des développeurs et des QA. Où est passé le temps alloué au déploiement de l’application, aux itérations pour corriger les problèmes trouvés par les QA (les vôtres et ceux du client), à la stratégie de marketing pour lancer ce nouveau produit (si nécessaire), à la formation des usagers, à l’analyse préliminaire et détaillée (en mode waterfall), aux rencontres de statut, aux déplacements, etc.

« Le client é pas tellement content de c’qui a été livré jusqu’ici. Fa-que, quand on m’a d’mandé d’ajouter un p’tit morceau de plus, j’ai pas pu dire non. J’ai r’gardé ça, pis ça devrait pas changer grand chose sur le projet. » Erreur : Dès qu’on touche au scope, soit parce qu’on avait mal compris le besoin du client au départ ou parce qu’on lui doit une petite faveur, c’est sûr qu’on se dirige vers des surprises. D’abord, puisqu’on est en cours du projet, on prends moins le temps d’évaluer l’impact du changement et ensuite, parce qu’on a toujours tendance à minimiser pour justifier notre décision trop rapide. Si ça va déjà mal, pourquoi en rajouter?

Je pourrais continuer comme ça longtemps et ainsi, charcuter le timeline en faisant faire du surtemps (personne ne calcul que le taux d’erreur des programmeurs augmente ou qu’on commence à tourner les coins ronds avec les conséquences qu’on imagine), négliger l’étape du QA client (souvent plus intensif donc plus long) ou passer directement de l’environnement de Dev à la Production pour sauver du temps (et trouver en mode panique les problèmes applicatifs liés à l’environnement).

Au fil du temps, j’ai développé une grille qui selon certaines valeurs qui sont propres à l’entreprise et qui doivent être fournies, calcule l’estimé à haut niveau d’un projet. Si elle vous intéresse, faite-moi signe!:-)

On me demandait récemment au cours d’une entrevue, comment je reprendrais la main dans un poste de Scrum Master en remplaçant quelqu’un d’autre possiblement expérimenté. Je dis possiblement parce que je ne connais pas cette personne et donc, j’ignore le niveau de connaissance qu’il (ou elle) peut avoir en la matière.

On me décrit l’entreprise comme étant très intéressée par cette méthodologie et pratiquant déjà le mode Agile depuis environ un an sans pour autant faire du Scrum. En outre, un gros projet doit faire office de cobaye pour mettre le tout en place. Finalement, on mentionne à demi-mot qu’il y aurait une certaine résistance à l’interne due au scepticisme ce qui doit être le lot de bien des nouveaux adeptes de n’importe quelle méthodologie, ma foi.

Je suis en face de mon interviewer. L’espace d’un instant, je me demande quelle est la meilleure réponse à donner à cette question sans passer par le B-A BA de Scrum. Donc, je me lance et ça donne à peu près ceci.

D’abord, si l’ancien Scrum Master est toujours en place, je le rencontre en premier lieu. Bien que le fait pour lui de quitter cette fonction avant la fin de son mandat est peut-être mauvais signe et que son jugement puisse être biaisé, il me permettra d’évaluer les raisons de ce changement de garde. Ou bien ça ne fonctionne pas de son côté (compétence, intérêt ou atome crochu) ou c’est du côté du client (résistance, vœux pieux, etc).

Ma deuxième étape serait de rencontrer les principaux joueurs dans le projet pilote de part et d’autre de la clôture (client et fournisseur). Durant cette rencontre, j’aimerais évaluer leur connaissance de Scrum vs Agile tout court. Rien de pire que de lancer un projet quand on est pas tous sur la même longueur d’onde. Et c’est là que ça devient intéressant, je crois. Ainsi, il est possible que certaines personnes croyant connaitre la méthodologie réalisent que ça n’est pas le cas et que l’implantation de la méthodologie devienne plus inquiétante. Il me faudra donc voir ce qu’ils sont prêts à accepter comme changement de culture dans l’immédiat et voir comment on va aller chercher le reste avec le temps. Ce serait ma première étape.

Supposons maintenant que le projet est déjà en cours. Comment vais-je m’y prendre pour reprendre la situation en main sans trop compromettre l’avancement du projet? Et bien, je commencerais par revoir le « product backlog » afin de m’assurer que les morceaux ne sont pas trop gros et que la priorisation est OK. Je vérifierai la taille et la composition des équipes de travail ainsi que la durée des itérations. Voilà pour la deuxième étape.

Dans cette histoire, mon client est le « product owner » et le fournisseur, l’équipe de réalisation. Prenons pour acquis que tout le monde est de bonne foi et fait de son mieux pour travailler de concert avec la méthodologie Scrum. Je peux donc m’attaquer à la fréquence et à la durée des réunions de suivi. Je m’improvise secrétaire et fixe une réunion quotienne de 30 minutes avec l’équipe de réalisation et le « product owner » ou son représentant. Trente minutes, une éternité me direz-vous. Elle ne devrait durer que 15 minutes normalement. C’est mon but mais il faut bien commencer quelque part. Je serai le chef d’orchestre de ces réunions pour ne pas perdre de vu l’objectif et rentabiliser le temps. Honnêtement, je ne sais pas trop si les premières réunions seront aussi courtes. Troisième étape.

Tout va pour le mieux dans le meilleur des mondes mais un beau matin, la haute direction demande à ce qu’on lui rende des comptes. Rien de plus normal. On veut des chiffres. Aurais-je oublié quelque chose? Meuuuh nonnnnn! Je croise les doigts pour que mon client ait déjà adopté un logicile comme V1, Scrumworks ou Rally pour faire le suivi… sinon, et bien, je tente de vendre l’idée mais souvent, lorsqu’on est en cours de route, personne n’a la tête à ça. Dans ce cas, il faudrait donc que je cumule péniblement les stats moi-même en téléchargeant une version d’essais gratuite. Après une démo que je souhaite frappante, je convaincrais peut-être le client d’acheter le truc en question.

Est-ce tout? Que non mais franchement, à ce moment-ci, il serait utopique d’aller plus loin!:-)

Dans un monde idéal, tout le monde finirait ce qu’il commence… et moi aussi!

Mon mandat se terminant au début de l’été, j’avais décidé de profiter de la belle saison pour teindre la terrasse derrière ma maison. Le soleil d’avril aidant et surtout, la perspective d’un long congé, j’étais confiante de terminer cette tâche titanesque en un temps record.

Un beau matin, donc, j’envoie mon conjoint gagner sa croûte, ma fille à l’école et mon garçon à la garderie et me prépare un bon café. La terrasse en question, salie par toute une saison de va et vient m’appelle. Pendant que je déguste ma « drogue » quotidienne, j’évalue l’ampleur de la tâche. Wow! Tout un chantier. Qu’à cela ne tienne, j’ai du temps devant moi.

Première erreur! Quand on pense qu’on a le temps, on met le pied dans l’engrenage du « remettre à plus tard », « y a rien qui presse », « faisons ça méticuleusement », etc.

La deuxième erreur arrive pas très loin derrière : commençons par les tâches plus faciles comme teindre la galerie avant ou peinturer la porte de garage. Et hop, me voilà au boulot. Pendant deux semaines bien comptées, je gratterai, décaperai, poncerai, teindrai mes petits objectifs avec amour et soucis du détail. Pour la terrasse, nenni! Aucun effort de ce côté-là. C’est pas grave, me dis-je, j’ai le temps!!!

Tôt ou tard, il faudra bien s’y mettre et ce jour-là, et bien, il pleut! Hop! Une journée de congé bien méritée! Yesss! La terrasse attend donc une journée de plus. Le lendemain, plus d’excuse, il faut y aller. Je commence par ramasser et nettoyer en surface. Ouch! On dirait bien que c’est plus sale que je le pensais. Je fais donc un saut à la quincaillerie pour acheter toute sorte de truc qui devraient m’aider à la tâche.

Je vous épargne la suite car, malgré les courbatures, les nombreux allers-retours à la quincaillerie et les heures à nettoyer, poncer et teindre, nous sommes en juillet et ma terrasse n’est complétée qu’au trois quarts. « Heureusement », je n’ai pas trouvé de nouveaux mandats. C’est à se demander si j’ai le temps de travailler en vérité.

La troisième erreur, c’est de commencer en lion et de finir en mouton. L’enthousiasme du début finit par s’étioler et l’ennui s’installe. Bof! Ça se verra pas trop, pense-t-on. Et la qualité du travail initialement maniaque finit par devenir négligeable.

La quatrième erreur, c’est de s’assoir sur nos lauriers et… de s’en contenter! Ha-Haaaaa! La belle vie! C’est tellement facile de se contenter de moins d’effort. Le résultat semble le même de toute façon… du moins en apparence.

La cinquième erreur arrive plus subtilement. On commence à dissimuler notre paresse. On met le bbq par-dessus la tache qu’on a pas lavée correctement. On prétend avoir travaillé toute la journée alors qu’en fait, on y a seulement pensé sans passer à l’acte. On se plaint d’avoir mal partout et d’être obligé de prendre un peu de repos. Bref, on se cherche des excuses et on dissimule la vérité.

Et le résultat dans tout ça? Pour revenir en arrière, à la belle époque où on travaillait correctement, il faut se botter le derrière et, horreur, parfois refaire ce qu’on a négligé de faire correctement. Au bout du compte, ça nous a pris plus de temps, d’argent et en plus, on est frustré parce que le problème s’étire.

En ce qui a trait à ma terrasse, j’ai limité mes erreurs aux deux premières. Il faut dire que l’été pluvieux m’a rendu service. Ma terrasse n’est pas terminée mais ce qui est fait, est bien fait. Je peux déplacer le bbq devant la visite et personne n’y trouvera de tache cachée.

Les cinq erreurs ne s’appliquent pas qu’à ma terrasse. Je vous invite à visionner le vidéo qui suit (sur youtube). En plus, c’est drôle pour mourir! Un gros merci à mon conjoint pour me l’avoir fait découvrir!

https://www.youtube.com/watch?v=l1wKO3rID9g#action=share