De geek à directeur technique

Le blog d'un geek devenu directeur technique

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 11 mars 2010

Manymoon

Manymoon est un web-logiciel de gestion de projet. Il a fait un peu parler de lui ces derniers jours, suite à l'ouverture de la plateforme Google Apps à des applications tiers ; Manymoon y est montré en exemple d'application très utile pour les entreprises qui utilisent Google Apps.
Il n'en reste pas moins que Manymoon peut s'utiliser directement, sans passer par la plate-forme de Google.

Fonctionnalités

Manymoon est à la base assez classique dans son approche : On y crée des projets, auxquels on peut ensuite ajouter des éléments.

Tâches : Chaque tâche possède au minimum un titre, et on peut y ajouter une pièce-jointe (voir plus loin), un ordre de priorité, une date limite (voir plus loin), des tags, et un commentaire. Les tâches sont ensuite listée de manière à pouvoir facilement ajouter des commentaires, réassigner la tâche ou la remettre à plus tard. L'édition d'une tâche se fait en cliquant sur son titre, ce qui fait apparaître une pop-up contenant tous les champs modifiables.
Manymoon - Tâches
(image © Manymoon)

Jalons : Il est possible de créer des jalons, constitués d'un titre et d'une date limite. Ils agissent comme des groupes de tâches, permettant de voir d'un coup d'œil les grandes étapes d'un projet. On déplace les tâches d'un jalon à l'autre (ou en-dehors de tout jalon) par drag'n drop.
Manymoon - Jalons
(image © Manymoon)

Micro-blogging : C'est à la mode, et c'est au centre de l'utilisation de l'outil. Il est possible d'ajouter facilement des messages, en y ajoutant une pièce-jointe, un lien ou un événement. Il est aussi possible de juste signifier que l'on travaille sur un projet, voire une tâche. Ces messages s'affichent dans le “bulletin” du projet, qui affiche en plus toutes les actions effectuées (ajout ou modification de tâche, création de jalon, etc.).
Manymoon - Micro-blogging
(image © Manymoon)

Lire la suite...

samedi 23 janvier 2010

Lancement du projet Skriv

J'en parlais récemment dans le post concernant l'avenir de ce blog : Je réfléchis à l'idée de développer un outil de gestion de projet ouvert à tous.

Quasiment depuis que je travaille, j'ai développé des outils pour suivre les projets ou traiter les bugs. Comme j'ai souvent bossé dans des entreprises de petite taille, pour ne pas dire des start-ups, ces outils comblaient des manques évidents et étaient adoptés rapidement.

  • Il y a maintenant un paquet d'années, j'avais fait un gestionnaire de buglist. Doté d'une interface web, il était écrit en C et stockait ses données dans un fichier XML. Technologiquement, ce n'était pas une très bonne idée, mais c'était l'occasion de tester des librairies XML et CGI que j'avais écrites en C. Au niveau des fonctionnalités, je ne me souviens plus trop. Je crois que c'était assez simple, avec pour chaque bug le niveau de criticité, une description, et le projet affecté.
  • J'avais par la suite repris le même genre d'outil, mais écrit en PHP/MySQL. Pus facile à faire évoluer, je n'ai pas souvenir qu'on l'ait utilisé à son plein potentiel.
  • Dans mon entreprise actuelle, j'ai dès le début mis en place des outils open-source, les plus important étant Flyspray pour la buglist et MediaWiki pour le wiki. Depuis, j'ai développé des extensions MediaWiki qui nous servent à gérer les projets. Ainsi, chaque projet a une page dédiée sur laquelle apparaissent : la liste des bugs du projet, une liste de tâches, des pages wiki liées au projet, et des fichiers en "pièce-jointe".

Cette extension est clairement inspirée par Backpack. J'aime vraiment ce logiciel. Par rapport à d'autres outils plus orientés "projet", comme Basecamp par exemple (pour reprendre un autre logiciel développé par 37signals), j'apprécie le fait que toutes les informations soient regroupées sur une seule page.
Habituellement, les logiciels de gestion de projets offrent plusieurs vues différentes, chacune pour un type d'information. Il y a un onglet pour les tâches, un onglet pour le calendrier, un onglet pour les bugs (si l'outil les gère), un onglet pour les pages de wiki (si c'est disponible), un onglet pour les fichiers, et ainsi de suite.
Pour ma part, je préfère avoir la vue la plus "intégrée" possible. Cela implique de penser l'interface en conséquence, ce qui peut s'avérer plus délicat qu'il n'y paraît.

Je cherche donc maintenant à définir un outil que je pourrais utiliser aussi bien pour mes besoins en entreprise, que pour gérer mes projets personnels. Je vais donc m'intéresser à chaque aspect d'un tel logiciel dans une série de billets sur le blog. Je ferais appel aux avis des lecteurs du blog, en espérant réussir à dégager des principes clairs de fonctionnement. J'espère aussi trouver le temps de développer ce logiciel, pour que tout cela ne reste pas théorique (d'un autre côté, si un autre outil est développé à partir de spécifications dérivées de mes idées, je n'y verrais aucun problème, bien au contraire).

Ah, au fait, pourquoi appeler ce projet «Skriv» ? C'est un nom que j'affectionne, que j'ai donné par le passé à plusieurs logiciels que j'ai développé. Le plus important était une interface web qui intégrait un webmail, un gestionnaire de bookmarks, un bloc-notes, un carnet d'adresses, une gestion de compte bancaire. Je l'utilisais tous les jours pour centraliser ma vie numérique. De nos jours, c'est assez commun ; mais à l'époque où je l'ai développé (en 2002), c'était assez novateur.
Pour le nom lui-même, il signifie "écrire" dans plusieurs langues comme le breton et le suédois. Ça va bien dans l'idée d'un outil qui sert principalement à communiquer.

mardi 12 janvier 2010

Des nouvelles du blog pour 2010

Ce blog a été ouvert il y a bientôt un an, c'est le moment de faire un petit bilan.

J'avais créé ce blog parce que je pensais avoir des choses intéressantes à partager. Au début je voulais écrire un livre, mais un blog me semblait finalement une meilleure solution ; plus simple à commencer, plus rapide à faire avancer. Les premiers temps, j'écrivais plusieurs articles par semaine, puis le rythme s'est stabilisé. Le blog a été plutôt bien référencé sur certaines expressions (tapez «cycle en v» ou «cycle itératif» sur Google pour voir), le nombre de visiteurs a augmenté continuellement.

Je tiens à remercier particulièrement toutes les personnes qui ont pris le temps de laisser des commentaires. Non seulement ça fait plaisir, mais cela débouche souvent sur des discussions intéressantes.

Vous avez pu remarquer que mon rythme d'écriture s'est fortement ralenti ces deniers temps. Il y a plusieurs raisons à cela. Les deux principales sont évidemment la naissance de ma fille il y a 3 mois (ça vous change la vie d'une manière qui dépasse tout ce qu'on peut imaginer), et mon implication dans mon entreprise (nous sommes passés de 13 à 22 personnes en l'espace d'un an, avons changé de locaux, je gère sans cesse plus de projets).

Mais il y a aussi d'autres raisons, qui ont un lien direct avec le blog : j'ai en préparation quelques projets qui me prennent du temps.

  • Je suis en train de reprendre le contenu publié sur le blog, pour en faire un livre. Oui, c'est un retour à l'idée initiale. En fait, la matière première du livre est présente sur le blog et il peut être intéressant de recompiler tout ça en une forme plus structurée, moins “bordélique” qu'un blog. C'est aussi une source d'inspiration, dans la mesure où j'identifie les contenus manquants pour le livre et que j'en profite pour écrire sur le blog les articles correspondant. Et je pense pouvoir faire un bouquin vraiment utile (les pavés de 500 pages dédiés à telle ou telle méthode de gestion de projet ou d'organisation personnelle sont majoritairement remplis de vide).
  • Je prépare une présentation «De geek à directeur technique», que je vais exposer dans des écoles d'ingénieur. Le but est de présenter les idées du blog (gestion de carrière, organisation personnelle, gestion de projet, création d'entreprise) d'une manière qui ne soit pas un cours magistral ni la vente d'un concept. La première présentation se tiendra le mois prochain, et j'espère renouveler l'expérience régulièrement.
  • Depuis le temps que je teste des outils de gestion de projet, et que j'en développe pour mes propres besoins professionnels (et pour les besoins des entreprises où j'ai travaillé), je commence à réfléchir à l'idée d'en développer un. En reprenant les fonctionnalités les plus intéressantes, en y injectant quelques principes originaux, je pense pouvoir faire quelque chose d'intéressant et utile. On en rediscutera très bientôt sur le blog, mais sachez que la gratuité d'utilisation et l'ouverture (d'une partie importante) du code sont au cœur de ma réflexion.

Ce blog va donc continuer à exister. Peut-être changera-t-il de forme au cours du temps. Je ne suis pas toujours à l'aise avec le principe même du blog.

  • Je pense avoir des choses à dire. Mais on m'a déjà dit que certains de mes articles avaient un ton un peu trop “professoral”. Cela se comprend si on remet en contexte le livre que je compte écrire. Mais je trouve difficile de garder un ton léger ou personnel lorsqu'il s'agit d'expliquer des concepts théoriques ou factuels.
  • Je suis parfois frustré par le manque d'échange. Très souvent, je souhaiterais discuter certaines idées et concepts ; savoir ce que les autres pensent d'un sujet donné, échanger des propos. Et un blog n'est pas du tout adapté à cela. Faut-il que je mette en place un forum ? (corollaire : connaissez-vous un bon forum sur la gestion de projet ?)
  • Pour partager les liens intéressants, j'utilise Google Reader et Twitter. D'ailleurs, ça m'énerve un peu de dupliquer les choses entre ces deux outils... Bref, n'hésitez pas à vous abonner à mes flux. Faites-moi signe si vous partagez des liens sur Google Reader.

Donc voilà où j'en suis. Il y a beaucoup de projets en cours, tous n'aboutiront peut-être pas, mais ce n'est pas grave. L'important est d'avancer.

samedi 12 décembre 2009

Les premiers enseignements de Rework

J'ai déjà parlé plusieurs fois de l'entreprise 37signals, de ses logiciels de gestion de documentation et de projet, et de sa méthode Getting Real. Actuellement, ses membres travaillent au successeur de leur livre, dont le nom sera Rework. Ils ont présenté quelques bribes d'information sur le livre, et je me suis arrêté sur le quatrième de couverture :

Je trouve que le texte qui s'y trouve est très intéressant, un brin controverse, et mérite qu'on s'y attarde. Voici une traduction très libre de son contenu, et ce que j'en pense.

“Dès que possible” est un poison

Il est vrai qu'en entreprise, on rencontre bien souvent ce genre de situation : On essaye de se mettre d'accord sur la spécification d'une nouvelle fonctionnalité, et quand vient le moment d'en définir la date de livraison, on se voit répondre “Dès que possible”. Cela peut sembler la réponse la plus honnête, la plus simple à comprendre de tous et la plus facile à gérer ; mais en fait il s'agit souvent d'un pis-aller qui démontre que le projet n'est pas réellement pris en main.

Quand on demande un développement ASAP (as soon as possible), on abdique sur tous les facteurs qui définissent un projet :

  • La définition exacte du projet n'a pas été faite correctement. On sait bien qu'on n'a pas pris le temps de réfléchir à tous les cas limites, à penser à toutes les situations. On sait − mais on ne le dit pas ouvertement − que les développeurs devront affronter tous ces culs-de-sac fonctionnels au fur et à mesure qu'ils se casseront les dents dessus, ce qui empêche d'apporter une quelconque valeur aux estimations qu'ils peuvent faire de leurs développements.
  • À partir du moment où la seule contrainte exprimée est celle du temps passé sur le projet, on accepte implicitement que des raccourcis soient fait pour atteindre l'objectif au plus vite. Un aspect en pâtira forcément, qu'il s'agisse de la qualité générale de la réalisation, de la maintenabilité du code, des tests, du débuggage, ...
  • À l'inverse, l'absence de deadline réaliste autorise les développeurs à se lancer dans des développements inutiles (je ne parle même pas de ceux qui se tournent les pouces). On arrive ainsi à des situations où on découvre au bout de 2 semaines que le développement “ASAP” aurait pu durer 4 jours si on avait pris le temps de dimensionner et budgéter le projet correctement ; mais si on en fait la remarque au(x) développeur(s), on obtient une réponse du genre «Ah, moi j'estime que tout ce que j'ai fait était nécessaire pour que le projet fonctionne correctement. Il fallait me prévenir si c'était plus urgent que ça !».

Lire la suite...

lundi 31 août 2009

La R&D : pour ne pas confondre développement et veille techno

Il y a quelques temps, je vous ai parlé de la veille technologique. Je vous ai expliqué en quoi c'est un élément important de nos vies professionnelles.

Je voudrais cette fois-ci vous mettre en garde contre une dérive finalement assez commune chez les jeunes développeurs, qui est d'utiliser les projets professionnels comme un terrain de jeu pour réaliser leurs expérimentations. Ensuite nous réfléchirons aux moyens de canaliser la fougue qui conduit à ces dérapages.

Les expérimentations au boulot

Il y a quelques années, alors que j'étais chef de projet, un de mes développeurs - un prestataire externe, en fait - avait demandé une demi-journée de congé pour assister à une conférence organisée par Google France. J'étais content de voir qu'il prenait à coeur sa veille technologique.
À son retour, je lui ai évidemment demandé de me faire une présentation rapide de ce qu'il avait vu. Il s'agissait des premières versions des toolkits de Google, et ça avait l'air vraiment intéressant.

Nous étions alors en train de démarrer un nouveau projet, et ce développeur était en charge de certaines spécifications techniques. Quand j'ai vu dans ses specs qu'il envisageait d'utiliser les technologies Google qu'il venait d'entrapercevoir, j'ai eu une petite discussion avec lui.

Le message tient en 2 points :

  • Bien qu'absolument nécessaire, la veille technologie est une démarche personnelle. C'est à chacun de se trouver ses propres petits projets qui lui permettront de tester de nouvelles technos ou de nouveaux outils.
  • Un projet mené au sein de l'entreprise répond à des contraintes contractuelles et financières. Vouloir y glisser des technologies qui ne sont encore qu'à l'état de bêta, ou qu'on ne maîtrise absolument pas, est une erreur assez grave.

Canaliser et organiser

Il n'empêche qu'il n'est pas logique d'inciter à la veille tout en la réprimant dans le cadre de l'entreprise. L'entreprise a certains devoirs de formation vis-à-vis de ses employés, il faut s'en occuper de manière raisonnée et planifiée.

Lire la suite...

- page 1 de 3