Abonnez-vous au fil RSS du Lablogatoire

LABLOGATOIRE


Archive pour février 2009

Ça y est, l’équipe de dev de DuProprio vient d’accoucher de la nouvelle version du site de location. Devant le chaos qui avait accompagné le développement des différents projets toute l’année dernière (du type tout est encore plus prioritaire que ce qui est prioritaire), j’ai été séduit par la sirène de la méthode agile. Armé du livre Scrum and XP from the Trenches sugéré par Nicolas de chez Wanted, on a mis sur le feu le premier projet à être réalisé à la sauce agile chez DuProprio.

La méthode agile est très simple conceptuellement. On peut l’aborder de différents angles, selon la nature de nos projets. Les grandes lignes de comment on s’y est pris:

  • Deux équipes — Chez DP, on doit vivre avec le fait qu’il y a aura toujours des cheveux qui arrivent sur la soupe (bugs, campagnes de pub à intégrer, opportunité à saisir, etc.) Réaliser en parallèle des projets et régler des problèmes courts termes, ça devient très étourdissant et très peu productif. On a donc séparé l’équipe en deux,  une pour les affaires courants, l’autre qui peut se concentrer sur le sprint.
  • Basecamp — Cette application web est utilisée pour centraliser les échanges et gérer les échéanciers, colliger les choses à faire. Dans le cadre du scrum, on s’en est servi seulement pour discuter et logger les heures (pour comptabilité). Les développeurs ont aussi séparé les grandes tâches en to-do plus digestibles.
  • MindmapMindomo a été utilisé au départ pour la planification, discuter avec la direction des priorités et de ce qui allait être inclus dans le sprint. C’est une façon très visuelle et intuitive d’avoir une vue d’ensemble et de changer l’ordre durant la planification. Au départ, les objectifs d’affaires ont été discutés. Les programmeurs ont pu repartir de ça pour traduire en actions techniques.
  • Gros tableau — Avec des aimants dans une salle. Sur chaque aimant une tâche assez macro (1/2 à 5 jours)
  • Planning poker - Pour estimer la durée de chaque action au départ.

Globalement, l’expérience a été positive. Ce que j’aime de l’approche:

  • Focus sur l’essentiel — On a tous la même maladie de bouillonite cervicale. C’est bon la créativité, mais à un moment il faut canaliser. Une fois le but clairement établi (dans ce cas-ci c’était de simplifier au maximum), toutes les discussions divergentes peuvent se régler. C’est vrai autant dans les discussions avec la direction qu’au sein de l’équipe de dev. Comme le temps de projet est fini, on coupe court aux solutions fonctionnelles et on se débarrasse de ce qui, au fond, ne compte pas vraiment.
  • Prise en charge par l’équipe — Ceux qui ont travaillé avec moi savent que je ne suis pas du type à mettre de la pression, pour le meilleur et pour le pire. La beauté de la méthode agile, c’est que toute l’équipe prend possession du projet. Les estimés sont effectués de façon démocratique au départ, puis on se voit une fois par jour. Tout le monde est autonome mais a des comptes à rendre le lendemain matin à toute l’équipe.
  • L’effet démo — Tout sprint se termine par une démo à qui veut bien la voir dans l’entreprise. C’est un aspect qui semble anodin mais qui est d’une subtile puissance. Ça m’a toujours irrité de voir comment on se force pour des comptes à rendre à l’externe mais qu’on est moins rigoureux envers nous-mêmes. Avec une démo, on se trouve à extérioriser le reste de l’entreprise et ça motive à faire quelque chose de fonctionnel à temps. C’est aussi valorisant pour l’équipe de dev, et très positif de passer l’information horizontalement dans l’entreprise.
  • Partage des connaissances — L’idée de la méthode agile, c’est que tout le monde devrait être capable de tout faire. Pour que le projet avance, certains doivent quitter leur zone de confort et en apprendre des autres. À long terme, je crois que c’est très positifs pour une organisation.

Comme n’importe quelle première expérience, il y a des choses qu’on aurait aimé faire autrement, mais on ne le sait pas tant qu’on ne l’a pas fait. Ce qui a été plus difficile:

  • N’importe qui ayant construit ou rénové une maison sait que la finition est toujours plus longue que le rough. Au début, on peut avoir le mirage qu’on avance vite alors que ce n’est pas le cas. Il y a pleins de détails qu’on n’a pas su prévoir et qui ont causé des retards.
  • Dans le même ordre d’idée, comme tout est inter relié, j’ai trouvé difficile de définir ce qu’on peut considérer comme “terminé”.
  • On aurait aussi dû séparer le travail en action un peu plus courtes. Plus les durées sont longues, plus l’incertitude grandit. 3 jours devrait être maximal.

Utilisez-vous ces méthodes dans votre organisation? L’utilisez-vous à autre chose que pour de la programmation? Je suis curieux de connaitre vos expériences ou conseils.

baby-turtle

L’ami Redg m’envoie un lien sur les consultations pré-budgétaires où madame rigueur nous demande notre avis sur le prochain budget du Québec. Je trouve que c’est une très bonne initiative de leur part pour rendre le Système un peu plus participatif (Il y a même un lien pour partager sur Facebook à la fin). Je viens d’aller lui donner mon avis, du point de vue de l’entrepreneur technologique impliqué dans des entreprises à différents stades. Dans mes commentaires, j’abonde dans le même sens qu’un article que j’ai lu aujourd’hui sur le manque de fond d’amorçage qui mine la base de notre économie du futur.

Ce que je me rend compte, c’est qu’il y a un fossé pour des gens qui veulent démarrer une entreprise technologique au Québec. Ce fossé nommé amorçage se dresse entre le monde de la recherche et celui de l’entreprise qui est démarré et qui a ses premières ventes.

  1. Financement de la recherche - Il se fait de la recherche de grande qualité au Canada dans les universités et les centres spécialisés. Des montants de nos taxes importants sont investis. C’est là que les technologies disruptives naissent. Je ne parle pas des inventions qui ne font que itérer sur les précédentes, mais bien celles qui nous feront faire des grands bonds. De ces inventions peuvent naître des industries entières. Le travail de recherche des universités est de faire une base variée et de qualité à la pyramide de l’innovation. Tout en haut de cette pyramide, il y a les technologies qui finissent par un succès commercial. Pour une de ceux-là, il y a des années-chercheurs entières, des centaines d’inventions. C’est comme dans le sport: ça prend des millions de joueurs amateurs pour fournir la crème aux rangs professionnels. À mon avis, ce travail est bien fait au Canada, cette notion est comprise depuis un moment. (Bien que les Conservateurs ne comprennent rien à la valeur de la recherche fondamentale, à la base de tout ça.)
  2. Amorçage - Fossé.
  3. Financement d’une entreprise qui a des ventes - L’entreprise a des ventes, donc elle a quelque chose à vendre. Ses besoins en R&D sont moindres, toutes proportions gardées. Elle a accès à du financement plus conventionnel car les créanciers ont quelque chose sur quoi se rattacher.

Une entreprise au stade d’amorçage technologique, c’est une petite tortue de mer qui vient de craquer sa coquille et qui court de toutes ses forces avec un moyen de locomotion mal adapté vers l’océan. Le temps presse car elle est une proie facile. Une fois rendue dans l’eau, tout ne sera pas joué, mais un stade critique et dangereux sera derrière elle. L’analogie de cette course sur la plage est la période de l’entreprise où elle devra investir quelques 100k$ en R&D et en pré-commercialisation.

Tout le monde louange les entreprises technologiques qui créent des emplois de qualité. D’un autre côté,  personne n’ose y investir durant le stade d’amorçage. Comment donc devrait se financer une entreprise technologique?

  • Avoir déjà de l’argent?
  • Aller chercher du capital de risque avec aucun produit dans le portfolio, aucune vente dans le carnet?
  • Faire de la consultation pour aller chercher de l’argent à la miette, des projets qui n’avancent pas la technologie qui serait éventuellement réellement payante pour l’économie?
  • Ou via un fond gouvernemental dédié à l’amorçage bien adapté à la réalité?

Je souligne le bien adapté à la réalité car les selon cette lettre, en 2006-2007, les trois fonds les plus actifs au stade de l’amorçage avaient financé seulement huit projets dans tous les secteurs technologiques au Québec. Donc quand madame Jérôme-forget me demande ce que je ferais à sa place, il y aurait certainement une partie de cet article dans la réponse.

Êtes-vous aussi saturés que moi? Parfois je me sens inondé par tout ce qui m’entoure. Voici pourquoi à mon avis on vit à l’époque du “trop”, et qu’est ce que ça implique si comme moi vous travaillez à rajouter des produits dans un monde où il y en a déjà trop.

  • Trop d’information
    À partir du moment où je me lève et jusqu’au moment où je me couche, je peux m’abreuver sans cesse d’information: télé devant mon bol de céréal, radio dans l’auto, Internet le midi en mangeant et on fait le chemin inverse jusqu’au dodo. Un des plus gros défis, autant personnellement que pour les organisations, est de gérer la quantité d’information qui peut être utile et qui croit exponentiellement. On vit dans dans un chaudron de soupe d’information qui déborde et qui bouillonne. L’information est une commidité: ça ne coûte plus rien de prendre 2000 photos ou de remplir des pages de documents. Nos ordinateurs permettre de l’accumuler. Contrairement à nos cerveaux, ils ne font pas nécessairement le tri entre ce qui est utile ou pas. Ça a l’avantage et l’inconvénient de tout pouvoir conserver. Il faut fair de la veille d’information, l’archiver, se créer des automatismes pour être capable de la retrouver plus tard.
  • Trop de pub
    S’il y a trop d’information, que penser de tous ces messages qui contiennent de l’information à laquelle on n’est même pas intéressé et qui nous saute en pleine face? La boucle de feedback nous sile les oreilles comme dans un test de son: il y a plus en plus de pub, donc elle fonctionne moins bien, donc on fait plus de pub pour compenser, qui la rend encore moins efficace… Toute cette volonté de nous stimuler finit par tapper sur les nerfs. Comme plusieurs j’en suis certain, je zap automatique à l’arrivée d’une pub, peu importe le média.
    C’est pour cette raison qu’il faut utiliser tous les nouveaux outils pour rétablir la communication avec nos partenaires d’affaires et clients potentiels. Au fond, il s’agit de relations, comme bien d’autres.
  • Trop d’opinion
    Je viens de lire un autre bon article de Paul Graham, qui estime que si les débats politiques et religieux partent en couille, c’est que tout le monde peut se faire une opinion de ces questions sans en être un expert. Il dit qu’on prend ça à coeur parce que ces idées font parties de notre identité et qu’on n’a incidemment pas le choix d’être partisan. Et bien c’est peut-être que les gens aiment la pensée en kit (”je suis de gauche”, “je suis de droite”) et qu’on valorise l’expression personnelle, mais je trouve que beaucoup se permettent une opinion sur n’importe quoi, sans nécessairement savoir de quoi ils parlent. Comme le monde est de plus en plus complexe et rapide, on devrait se garder une petite gêne et accepter de ne pas se prononcer sur tout.
  • Trop de gadgets
    J’entretiens une relation d’amour/haine avec la technologie. Autant je me passionne pour les applications astucieuses, autant je suis allergique à une technologie qui fonctionne mal. Ce n’est pas parce qu’on peut faire quelque chose techniquement qu’on se doit de le faire.

    Les automobiles sont un des pires exemples à ce niveau. Je ne veux pas autant d’électronique dans ma voiture car elle ne me procure presqu’aucune satisfaction et qu’elle provoque une grande frustration lorsqu’elle met ma batterie à terre par une nuit à -30C. Non, je ne veux pas de coffre à gant qui refroidit mes boissons. Plus de bébelles = plus de risque de bris, donc plus de risque d’irritation. Des exemples similaires se retrouvent par centaines dans le monde du logiciel. Plus il y a de gadgets et de fonctionnlités mal intégrées, moins on a confiance envers la machine.

Comment faire donc, pour participer au monde sans en rajouter sur le tas? En tant qu’entreprise, on fait comme Google, Apple avec le iPhone ou 37signals: on encapsule la complexité dans une interface simple d’utilisation, qui répond à un besoin réel. Les gens y touchent, comprennent comment utiliser et ressentent une satisfaction intantannée. On augmente leur bonheur et réduit leur niveau de stress. Ils nous aiment et tout le monde est content.

Et au niveau personnel? De mon côté je me rabat sur des plaisirs les plus simples et dénudés de complexité: sport, famille, amis, aller dans le bois. Pourquoi la nature est si complexe mais qu’elle ne nous stresse pas comme la complexité fabriquée par les hommes?

[image: cobalt123 sur Flickr]