Archive pour March 2007

Travailleurs de web & Sommeil

Publié le 30 March 2007, par Babozor

C’est un point qui revient souvent avec les personnes que je côtoie (qui sont majoritairement des travailleurs du web ou des g33k finis), comment concilier une passion dévorante avec une vie plus ou moins normale?
Entre boulot, projets perso, veille, flux RSS, messengers, jeux vidéos, etc… il ne reste plus beaucoup de temps pour faire une action qui semble anodine au commun des mortels: dormir.
La plupart des gens que je connait ne dorment pas beaucoup et passent une partie de leurs nuits devant leur ordinateur.

Pour ma part, je dors peu (entre 5 à 6 heures de sommeil maximum par nuit pendant la semaine). Je sors du travail et arrive chez moi entre 19h et 19h30, je m’occupe de mes deux femmes jusqu’à ce que mademoiselle soit couchée (diner, bain, quelques calins, et au dodo… ça varie mais en général c’est entre 21h et 21h30) et ensuite veille, projets perso, un peu de boulot, jusqu’à 2-3h du mat… et réveil à 7h15 précise (pas besoin de montre, mademoiselle s’en charge)
Seule exception, le week end… ou je me couche un poil moins tard (vers 1h du mat en général).
Cela fait des années que j’ai pris ce rythme et j’ai beaucoup beaucoup de mal à me coucher avant au moins 1h du matin (ou alors je m’endors comme un merde sur mon clavier, ne rigolez pas ça m’est déjà arrivé… une fois je suis même tombé de ma chaise, réveil pas cool garanti).

Et vous quels sont vos cycles de sommeil? Est-ce quelque chose de répandu, ou juste moi et mes connaissances qui avons tendance à couper dans les heures de sommeil? J’attends vos commentaires…

Les outils de gestion de projet

Publié le 28 March 2007, par Babozor

La gestion de projet (aussi bien fonctionnelle que technique) est un art… savoir gérer le client, les demandes, les équipes, le planning de l’équipe, le planning de release pour le client, etc…
Heureusement nous sommes aidés dans ces tâches par quelques outils bien pratiques.

Les applications:
MS Project: C’est l’outil développé par Microsoft (et inclus dans la version pro d’Office si je ne me trompes pas…) pour vous aider à gérer vos projet. C’est le logiciel de référence de l’industrie. Le logiciel est un peu lourd, mais super complet: gestion des projets, tâches, groupes de tâches, diagramme de Gantt, ressources, etc…
Disponible pour Windows et MacOS
Planner: Outil de gestion de projet et de plannification OpenSource disponible sous Linux (Gnome), qui intègre les principales fonctionnalités de son grand frère MS Project: gestion des groupes de tâches, tâches, ressources, diagramme de Gantt, etc… beaucoup plus facile à utiliser que MS Project, il pêche parfois par une gestion très axé développeur au détriment parfois de l’ergonomie (surtout sur la gestion des détails des tâches, de la sélection des dates, des tâches précédentes, etc…). Il reste néanmoins très léger et pratique à utiliser et suffit largement à une utilisation en production.
Disponible pour Linux exclusivement
Gantt Project: Projet OpenSource, lui aussi massivement inspiré de son cousin MS Project, il embarque les principales fonctionnalités. Il est disponible sur toutes les plateformes, est OpenSource et gratuit. Seul petit bémol, impossible de décomposer une journée, la mesure de base étant la journée… parfois on a besoin d’affecter des tâches pour deux ou trois heures, et ce n’est pas possible avec Gantt Project. Il n’empêche c’est le seul vértiable frein, sinon le logiciel est simple, pratique bien fait.
Disponible pour Windows, Linux et Mac OS

Les applications Web:
BaseCamp: C’est le célèbre outil de gestion de projet de 37signals (qui propose aussi CampFire un chat temps réel pour votre team, BackPack calendrier collaboratif et le nouveau venu HighRise gestionnaire de contact). Ultra simplifié, avec un optique complètement inversé par rapport à MS Project, le but ici est de faire simple, pratique… avec des fonctionnalités bien pratiques: todo list, fichiers mis en commun, messages entre membres de l’équipe, milestones, et un service de time tracking. Cette application est plutôt destinée aux équipes qui gèrent le projet et à ceux qui l’éxécutent, le but étant d’essayer de fluidifier la communication entre les membres de l’équipe. Pas de diagramme de Gantt ou de reporting, mais ce n’est pas le but du soft. L’utilisation massive de RubyOnRails en fait une application vraiment pratique à utiliser. L’application est hébergé sur les serveurs de 37 signals, pour un prix allant de 12 à 149$ par mois (une version gratuite est aussi disponible), les fonctionnalités et la place allouée étant variable en fonction de l’option choisie.
GoPlan Concurrent direct de BaseCamp, ils reprennent le même principe de gestion de projet simplifiée et fluidifié. Comme son grand frère, gestion multi-projets, todo list, synchronisation de calendrier, etc… ils rajoutent à cela un chat en temps réel avec un prix allant de 10 à 100$ par mois.
ActiveCollab C’est un clone de BaseCamp disponible en OpenSource gratuitement à installer sur votre hébergement. Il propose exactement les même fonctionnalités que BaseCamp, mais sans les fonctionnalités ROR/Ajax. C’est un bonne alternative pour ceux qui ne veulent pas payer ou ont peur de laisser des données sensibles sur un serveur qui ne leur appartient pas.

On a donc deux approches complètement différentes mais complémentaires:
– application de gestion des ressources, de staffing, etc…
– application de gestion de projet (todolist, fichiers, messages, milestones, etc…)

Pour ma part j’utilise depuis maintenant plusieurs années MS Project et son clone Linuxien Planner qui permettent vraiment d’avoir une bonne visibilité sur les ressources utilisées, mais demande beaucoup de travail (d’ajout, de modification, de déplacement des tâches, etc…)
Pour la gestion des tâches et la communication avec les équipes et le client, ActiveCollab est une bonne alternative si vous n’êtes pas prêt à dépenser 100$ par mois pour un BaseCamp.

Et vous, vous utilisez quoi?

To do lists, bien gérer ses priorités

Publié le 26 March 2007, par Babozor

Le bien le plus précieux des travailleurs du web (peu importe l’intitulé du job, que ce soit les chefs de projet, graphistes, intégrateurs, développeurs, etc…) est le temps. Un des combats de tous les jours est de bien gérer ses priorités et de faire une liste remise à jour régulièrement des tâches à effectuer (dans la journée, la semaine ou l’heure suivant les cas).
Il existe divers méthodes:

1. Utiliser une fonctionnalité d’un outil existant
Une des première méthodes, consiste à utiliser certaines fonctionnalités méconnues par exemple de votre client Mail. Par exemple sous Outlook (je pense que des fonctionnalités équivalentes existent chez ses conccurents) vous pouvez éditer une liste de tâches, de notes divers et vous créer des meeting points pour chaque tâche. Vous pouvez aussi envoyer des tâches à d’autres personnes, etc…
C’est pratique pour une utilisation sporadique des todo-list, mais une utilisation intensive les mets souvent à défaut, puisque soyons honnêtes, même si ces fonctionnalités dépannent, le logiciel n’est pas fait pour ça à la base.

2. Utiliser un outil spécifique
Il en existe énormément aussi bien clients classiques qu’applications web, je ne citerais que les deux plus connus: Remember the milk et TadaList (et je vous laisse compléter celui que vous utilisez en commentaire).
Ils sont spécialement fait pour gérer des listes, regroupées par thème ou projet… certains offrent des fonctionnalités de comptage de temps, etc… plutôt pratiques mais demande un peu de temps d’apprentissage tout de même.

3. La méthode traditionnelle
La bonne vieille méthode du papier/crayon, qui même à l’ère du web 2.0 marche toujours. Pas besoin d’ordinateur ou de connexion web, juste une feuille et un crayon et hop, faites votre liste, barrez les items déjà effectués. Bon son côté instantané et pratique est aussi son principal désaventages, pas de compteur de temps, si votre feuille est perdue elle est perdue (vient du célèbre proverbe “une de perdue: elle est perdue!”) et puis une feuille volante avec pleins de gribouillis ça fait pas super pro, mais ça marche c’est indéniable.

4. Une autre méthode
C’est la méthode que j’ai adoptée depuis peu: vous définissez différents espaces dans votre espace de travail (personnellement j’ai pris les deux côtés de mon écran) et vous collez des post-it avec les intitulés des tâches à faire… vous pouvez les ordonner dans l’ordre des priorités (qui a une fâcheuse tendance à bouger suivant l’heure de la journée) et quand la tâche est finie, vous la collez de l’autre côté de l’écran.
Cette méthode existe aussi en version Todo, urgent, done… avec trois partie d’un mur par exemple ou vous collez et déplacez vos post-it.

Nous n’avons pas la recette miracle, car ici chacun a sa méthode ou son outil de prédilection, le principal reste de s’y retrouver et de gagner un maximum de temps dans la gestion des priorités…
Et vous c’est quoi votre méthode, vos outils?

Bien gérer un délocalisation

Publié le 26 March 2007, par Babozor

C’est une question qui est dans l’air du temps… les projets s’accumulent et les travailleurs du web à débaucher ou embaucher se font rare. Comment pallier à ce manque de main d’oeuvre?
La délocalisation peut être une solution, en particulier dans les pays émergeant à prix sacrifiés comme l’Inde, le Vietnam, la Bulgarie ou encore la Roumanie. Ces pays offrent nombres de prestations (développement, graphisme, flash, etc…), mais attention aux pièges!

1. bien sélectionner l’entreprise
C’est extrêmement important. Ne vous laissez pas séduire par la sirène d’un prix vraiment bas, ou de compétences couvrant tous les domaines, renseignez-vous, testez la réputation de l’entreprise, contactez des entreprise qui ont déjà délocalisé leur production dans cette entreprise, etc… Testez l’entreprise avec un petit projet pour voir leur réactivité, leur méthode de gestion de projet, la qualité de leur production, etc… C’est très important avant de vous engager dans un projet d’être sûr de votre partenaire.
Un mauvais choix d’entreprise peut se solder par des choses extrêmement déplaisantes, comme la nécessité de reprendre le projet à vos frais (et donc d’engager des freelance pour finir le projet par exemple), de dénoncer le contrat ou encore de délocaliser la délocalisation (un comble mais ça arrive…)

2. bien normer le projet
C’est une étape extrêmement importante. Définissez ensemble le scop du projet, voyez ce qui est délocalisable et ce qui ne l’est pas et confiez à l’entreprise une mission claire (quitte à l’étendre si tout se passe bien).

3. de la documentation
Définissez une langue commune (si besoin, le mieux reste l’anglais pour les délocalisation dans des pays exotiques) et soignez votre documentation, ce seront les bases de travail avec vos nouveaux partenaires: brief, story-board, story-board détaillé, cahier des charges, spécifications techniques (bien soigner ce document en particulier). Sans être trop verbeux, soignez ces documents, plus ils seront précis moins vous risquerez de mauvaise surprise (du type: cette fonctionnalité n’était pas dans le cahier des charges, on ne fait pas… glurps)
Faites extrêmement attention à la définition des différents termes, même dans une langue commune, comme l’anglais, un terme pour vous ne veut pas spécialement dire la même chose, donc soyez précis et au besoin mettez des définitions des différents termes importants.

4. un suivi de projet “à la culotte”
Même avec tout cela, un suivi de projet des plus serré est impératif. La pire des configuration est de ne pas avoir le temps de suivre le projet délocalisé et de se retrouver à quelques jours de la livraison finale avec un produit qui ne correspond pas aux demandes du client ou qui est difficilement installable ou peu maintenable.
La meilleur des configuration (mais qui est la plus couteuse) reste d’envoyer une personne de confiance sur place (de préférence qui connait la langue et qui comprend la culture locale) pour suivre le développement du projet.
Si vous ne disposez de personne (ou n’avez pas les moyens) pour aller sur place, prévoyez des livraisons quotidiennes sur un serveur de test pour voir l’évolution du projet, un rendez-vous téléphonique quotidien… et un rendez-vous physique régulier (hebdomadaire ou mensuel suivant la taille du projet).
Le but est de ne pas perdre pied et de garder la main sur le projet. Certes vous déléguez la réalisation du projet à une entreprise tiers, mais vous devez rester le maitre d’oeuvre du projet.

5. ne pas perdre la main
C’est un point essentiel, même si vous ne développez pas le produit, quelqu’un de votre équipe technique doit suivre de très prêt le développement pour être à même de pouvoir installer, modifier, améliorer le produit final qui sera livré au client.
En général un projet a toujours besoin de modifications, d’améliorations et ces tâches ne seront pas spécialement exportées, donc prévoyez du temps d’une personne de votre équipe pour suivre le développement en cours.

6. transparence
N’éludez pas la question face à votre client, il n’y a aucune honte à ne pas avoir les ressources suffisantes pour effectuer le projet. Dites à votre client quelle entreprise vous avez sélectionné, venez même à un rendez-vous avec un responsable de cette entreprise.
Le pire est de se faire démasquer par votre client final, d’avoir du faire appel à une entreprise extérieur, sans l’avoir dit (par exemple en regardant le suivi du projet sur un serveur situé en Roumanie, ça risque de lui donner la puce à l’oreille, donc faites attention).

La délocalisation n’est pas la solution à tous vos maux (en matière de staffing et de gestion des couts) mais peut être une bonne solution, si elle est bien mise en place. Cela veut en général dire pour les projets de grandes dimension un chef de projet fonctionnel et un chef de projet technique à plein temps sur le suivi de projet, ce qui n’est pas négligeable.
Il n’empêche vous pouvez économiser sur les coûts de développement.

Pour finir avec une note tout à fait personnelle, pour l’instant je n’ai pas cu de projet de délocalisation qui se soit parfaitement passé (principalement du au fait de ne pas faire justement ce suivi “à la culotte”), ce qui ne veut pas dire que la solution n’est pas viable, juste qu’il faut vraiment y mettre les moyens pour être sûr de faire de vrais économies.

Et vous vous avez des expériences de délocalisation réussie?

Les certifications: gadget ou réel atout?

Publié le 26 March 2007, par Babozor

C’est une question que tout les développeurs et administrateurs se sont surement posés: Dois je vraiment passer cette certification? Cela va-t-il vraiment me servir?

1. les différentes certifications
Il existe aujourd’hui beaucoup de certifications disponibles, aussi bien pour les développeurs, pour les administrateurs réseau, mais aussi pour les graphistes…
A quoi sert une certification?
La certification permet de valider un certain niveau de connaissance dans une technologie, que ce soit un langage de programmation, un logiciel, ou un matériel.
Quelques exemples de certifications:
certification PHP Zend: possibilité d’avoir une certification en PHP. La certification Zend est la seule reconnue pour cette technologie. Elle nécessite le passage d’un examen (certains organismes peuvent vous y préparer, mais avec un livre de préparation, l’examen semble passable sans trop de problème)
certifications Microsoft: il existe beaucoup de certifications disponibles, et celles ci (aussi bien les formations associées que l’examen) ne sont prodiguées que par des centres de formation et de tests agréés.
certifications Cisco: vous pouvez acquérir ces certifications aussi bien à titre individuel ou pour votre société, et c’est une certification qui sans conteste est devenu reconnue pour la conception de système réseaux. Cisco propose aussi un système de centre de formation afin de prépare les certifications
certifications Adobe: elles couvrent les différents produits de la gamme Adobe (InDesign, GoLive, Acrobat, Photoshop, Illustrator, Premiere, After effects) et vous permettent d’avoir une certification sur le produit, ou de devenir formateur ou d’ouvrir votre centre de formation…

2. un coût certain
Toutes ces certifications ont un coût non négligeable, entre les formations obligatoires ou non (sous la forme de cours la plupart du temps), les livres, les frais d’inscriptions, etc…
Le coût le moins élevé reste la certification type Zend (avec juste l’examen et éventuellement un livre) pour environ 150$, pour aller jusqu’à très cher pour des certifications incluant formation, examen, support de cours, etc… (je n’ai pas vraiment réussi à avoir un prix exact pour ces autres certifications, les prix étant apparemment variables d’un organisme de formation à l’autre)
Qui doit payer?
C’est une question importante, mais qui me parait évidente. Autant une certification de type Zend à 150$ peut être payée par tout un chacun, autant payer plusieurs centaines d’euros me semble difficilement gérable. Le mieux est donc de se faire payer la certification par votre entreprise (ce qui est un atout pour elle, nous y venons dans le point suivant).

3. les retombées d’une certification
Elle sont multiples:
A titre personnel
– valider un acquis et une connaissance incontestable. Si vous possédez une certification (peu importe le type de certification), elle devrait en théorie vous prémunir des test préliminaires lors de votre futur recherche d’emploi, puisque justement elle justifie d’une maitrise d’une technologie ou d’un logiciel. L’entreprise peut vous engager sur ces compétences les yeux fermées.
– apparaitre dans la liste des certifiés. C’est un avantage non négligeable, mais la plupart des entreprises et organismes, tiennent à jour la liste des professionnels et entreprises certifiées. Ainsi si quelqu’un recherche un Guru en AfterEffects ou un Jedi Cisco, il tombera certainement sur vous si il consulte les YellowPages de la certification.
Pour l’entreprise
– un gage de sérieux pour une entreprise. Pour une entreprise qui vend des solutions basées sur des technologies Microsoft, par exemple, présenter certains de ses ingénieurs avec une certification en poche, permet de montrer l’aptitude de son équipe pour la technologie concernée. Ne pas en avoir ne veux pas dire que l’entreprise n’est pas sérieuse, mais avoir des ingénieurs certifiés permet de rassurer un éventuel client.
– une formation précise. Avoir un ingénieur ou une personne certifiée, veut dire en général qu’elle a passé du temps à être formée, à préparer sa certification, donc vous assure que cette personne à reçu une formation digne de confiance.

La certification est certes intéressante, aussi bien pour celui qui la passe (un plus incontestable pour ses connaissances et pour son cv) que pour l’entreprise (un plus à mettre en avant lors de négociations), mais cela a un coût non négligeable (examen, formation, temps passé à réviser, etc…).
Malheureusement pour l’instant ces certifications sont souvent réservées aux technologies propriétaires, à deux exceptions près: Zend pour PHP et la certification MySQL… un peu léger pour l’OpenSource.
Je me suis préparé pendant quelques semaines à la certification Zend, et n’est pour l’instant pas eut le temps de la passer, mais je ne désespère pas de pouvoir la passer cet éte.

Et vous, vos expériences de certification c’est quoi?