Samedi dernier, j'ai glissé un mot sur un test en 12 points simples et peu rigoureux proposé par Joel Spolsky pour évaluer la qualité d'une équipe de développement. Voici la traduction des questions tirée de l'article The Joel Test (paru sur son site web et dans son livre Joel on Software) ainsi que mes commentaires.
Étant un ancien chef de projet pour Excel, il affirme que Microsoft obtiendrait un pointage de 12/12 sur cette liste alors que la majorité des entreprises se situeraient entre 2 et 3. Je me suis amusé à faire le test pour l'entreprise où je travaille et en toute franchise, notre score serait quelque part autour de 5. Évidemment, cette liste a été pensée originalement pour le domaine du logiciel et n'est pas 100% applicable au développement web.
- Utilisez-vous un système de gestion de code source ?
Nous utilisons un logiciel de contrôle de versions de code depuis plusieurs années, que ce soit VSS ou SVN. C'est indispensable, peu importe le type de programmation. - Pouvez-vous faire un build en une seule étape ?
Dans le langage PHP, le concept de build ne n'applique pas comme ce serait le cas avec du code compilé. Par contre, nous avons créé des outils qui nous permettent de générer automatiquement certains processus (structure, gabarits, etc). - Faites-vous des builds quotidiens ?
Nous développons des sites et des applications web. Voulez-vous vraiment télécharger la démo de notre site ? - Avez-vous une base de données de bugs ?
Nous avons mis en place un système de suivi sur les bogues. Les bogues ne sont pas attribués aux programmeurs, ils appartiennent à l'entreprise. Alors la proactivité est encouragée quand vient le temps de les corriger. - Corrigez-vous vos bugs avant d'écrire du nouveau code ?
Nous corrigeons les bogues dès qu'ils apparaissent (autant que possible!). En fait, nos programmeurs ne créent pas de bogues, nous laissons ça aux autres entreprises :-)
- Avez-vous un planning à jour ?
Une planning plus ou moins concret est effectué à chaque semaine. Comme les PME du web sont souvent appelées à porter plusieurs chapeaux, les entreprises comme la nôtre peuvent parfois ressembler davantage à une boîte de communications. On doit être disponible pour les clients en tout temps, ce qui rend difficile la planification hebdomadaire. - Avez-vous une spec ?
Des spécifications de base existent pour chaque projet mais la documentation est souvent la laissée pour compte. Les sites web ont une durée de vie limitée alors on y passe peu de temps, tandis que pour les applications web, on y met plus de rigueur. - Les programmeurs bénéficient-ils d'un environnement de travail calme ?
Environnement de travail calme ? Je n'ai jamais vu ça dans le web! Les entreprises ont tendance à s'installer dans des studios ou des locaux ouverts, sans cubicule. Ça crée une dynamique intéressante pour l'équipe mais on doit se cacher sous des écouteurs pour retrouver le calme et "entrer dans la zone"... - Utilisez-vous les meilleurs outils que vous puissiez vous payer ?
Mon employeur a vite compris qu'un employé bien outillé est un employé plus performant. - Avez-vous des testeurs ?
À mon avis, à partir du moment qu'une entreprise atteint une vingtaine d'employés, on peut commencer à penser à engager un testeur à temps plein. Sinon, chaque programmeur est responsable de la qualité de son propre code. Un programmeur sénior devrait avoir comme responsabilité de vérifier le code des stagiaires ou des juniors. - Les candidats écrivent-ils du code pendant leur entretien d'embauche ?
Je n'aimerais pas être dans les souliers du candidat qui passe un entretien d'embauche chez nous. Nous sommes assez sélectifs. - Faites-vous des tests d'utilisabilité de couloir ?
Nous n'avons pas de couloir. Sans blague, nous n'effectuons pas de genre de tests car nous avons des spécialistes en ergonomie expérimentés et nous recevons régulièrement des félicitations des clients à ce sujet.