Repost : Ma première fois

déjà publié sur Travailleurs du web

De nombreuses personnes m’ont déjà entendu dire que je continuerais à faire de l’informatique jusqu’à ce que je vois un projet sortir en temps et en heure. C’est une blague récurrente, qui reflète, malheureusement le manque de soin apporté à l’évaluation des risques, des ressources et des spécifications dans les projets de développement web.

Pour faire écho à l’article de Damien Mathieu, j’ai déjà rencontré de très bons chefs de projet. Mon expérience de consultante-formatrice m’a amenée dans des entreprises privées aussi bien que dans des établissements publics, au contact d’équipe variées. J’ai toujours constaté une certaine fatalité envers le retard dans les projets web.

Et pour la première fois, lors d’une mission, nous livrons des features au rythme prévu. Parfois, cette date a été ré-ajustée au fil du développement, parfois la feature B devance en produit livrable la feature A et se retrouve livrée plus tôt. Tout va bien, me direz vous, alors plutôt que de pointer encore et encore les erreurs des projets, les erreurs des développeurs, je vous propose d’examiner les conditions de cette réussite.

Maîtrise des développements

Pour une fois, ma mission de développement se déroule chez un éditeur de logiciels, et pas dans une SSII ou web agency. Les contraintes sont différentes : ajouter des nouveautés permet de continuer à faire évoluer le site web. Et maintenir l’existant permet de gagner la confiance des utilisateurs. Le besoin de qualité est important pour un code pérenne et maintenable, cette qualité est plus importante que le besoin de livrer rapidement. Les dates limites existent néanmoins et permettent de border les tâches, et de découper les features en tâches.

Direction du projet

Les projet ont deux têtes pensantes : un lead développeur, une chef de projet (commune aux projets). Et en plus,  un directeur technique est disponible, pour les points plus critiques ou les choix techniques d’évolution du projet (modification du système de traduction, par exemple). Les technologies les plus performantes sont envisagées pour remplacer les technologies classiques. Cela donne du dynamisme au projet, et attire des développeurs de qualité dans l’entreprise.
Malgré un recrutement soutenu, les développeurs sont bien intégrés aux équipes par des formations aux outils, et comme habituellement, des tâches autonomes et indépendantes des autres du projet à réaliser. Le temps de midi est également mis à profit pour la convivialité.

Des horaires souples

Pour mes besoins personnels, je préfère arriver tôt et repartir tôt. D’autres collègues préfèrent arriver plus tard (après 10h) et j’imagine qu’ils partent plus tard. La pause déjeuner n’est pas non plus chronométrée. Nous sommes managés à la tâche plutôt qu’au créneau horaire, et responsabilisés sur notre tâche. Les dates de planning nous ont permis de déterminer un rythme à tenir pour la sortie de notre feature.

Rencontres fréquentes

Malgré l’open space, dont on sait qu’il est moins bon pour la productivité que les bureaux individuels, les développeurs s’isolent pour se concentrer. Les rencontres sont donc provoquées par un stand-up quotidien, qui a lieu après la pause déjeuner. Parfois, les développeurs d’un même projet — qu’on croirait connectés — se retrouvent à échanger, parfois c’est une simple énumération de ce sur quoi chacun travaille.
Même si nous travaillons sur des logiciels différents, nous avons des fonctionnalités communes, pour résoudre les mêmes problèmes, nous communiquons entre les projets. Les solutions éprouvées sont alors dépistées, ainsi que les impasses.

Challenge technique

En plus d’utiliser des technologies de pointe, toutes les deux semaines, une journée consacrée à la technique est organisée, les développeurs comme l’infra se retrouvent à mettre en place des nouveautés techniques dans l’application, à faire des tests sur les futurs produits techniques, à réparer de petits agacements dans le code ou la configuration qui ralentissent tout le monde.
Cette journée de technique pure, sans but de plaire aux commanditaires (ou actionnaires) des logiciels est toujours un jour agréable. Nous passons en production des nouveautés qui ont été testées précédemment, ou des ajustements qui augmentent le confort de développement.

Convivialité

La pause repas ayant déjà été évoquée, j’ajouterais les outils d’Instant Messaging, la mise à disposition de consoles de jeux (et canapés), le café à volonté, ainsi que la présence d’un outil de « Perles » qui recueille les propos les plus amusants, sortis de leur contexte, évidemment. Ces différents outils renforcent les liens inter-personnels et la confiance entre les développeurs.

Pour terminer, les développeurs sont considérés comme essentiels à la production de valeur dans l’entreprise. Le fait qu’ils soient nombreux les rend majoritaires par rapports aux autres services (marketing, RH ou comptabilité). La direction des projets fournit le matériel nécessaire au confort de chaque développeur (écrans, lampes, etc.) et les responsabilise sur leur code et le code de leur projet.
Sans utiliser de l’eXtrême Programming ou du Scrum, quelques pratiques issues des méthodes agiles améliorent le confort des développeurs et la qualité des produits.

Ajouter mes idées

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s