Il faisait chaud et humide lundi dernier ici à Montréal, une de ces journées où l'air est comme de la mélasse, où les épiceries n'ont plus de crème glacée. Malgré ça, une poignée de Pythoneux ont décidé de braver la chaleur et de se présenter chez les Brasseurs Numériques pour le cinquième sprint sur le système de packaging Python.

La participation était un peu plus faible qu'aux sprints précédants mais vu les voyages estivaux de plusieurs participants réguliers, cela s'explique aisément. Nous étions par ailleurs heureux d'accueillir quelques nouveaux.

Au tableau blanc, nous avons fait une revue de l'état actuel du packaging Python et nous avons cerné les aspects sur lesquels chacun pouvait contribuer.

Alex et Nicolas ont travaillé à l'amélioration de la couverture de tests de distutils2, une très bonne façon de se familiariser avec le code tout en s'y plongeant immédiatement; je (Yannick) leur ai donné un coup de main en ajoutant des rapports de couverture de tests en tant qu'option en ligne de commande de l'exécuteur de test; George et Pior ont travaillé sur les ajusteurs (fixers) pour la migration 2to3 et sur la suite de tests associée; et Davin a amélioré le Hitchhiker's Guide to Packaging tandis que Michel l'a aidé en paquettant un de ses propres paquets en suivant le guide, s'assurant que la documentation était claire et explicite.

Merci aux sprinters:

  • Davin Baragiotta
  • Pior Bastida
  • Nicolas Cadou
  • Alex Gal
  • Michel Gallant
  • Yannick Gingras
  • George Peristerakis

Je voudrais aussi remercier personnellement chacun d'avoir pris le temps de nettoyer leurs verres et assiettes avant de partir. C'était rafraîchissant de ne pas avoir à faire le gros du ménage à 1 heure du matin.

Nous commençons à devenir productif durant nos sprints. Une chose que nous avons négligé au début lorsque nous avons commencé à organiser des sprints à Montréal-Python, c'est l'importance d'avoir un coach, c'est-à-dire quelqu'un qui connaît raisonnablement bien le projet et qui répondra aux questions des autres sprinters. En théorie, une bande de hackers devrait pouvoir travailler ensemble, s'y plonger, décortiquer et cerner un projet au fur et à mesure. En pratique, ça ne fonctionne pas bien pour un sprint puisque vous vous retrouvez avec une bande qui n'est pas habituée à travailler ensemble et le genre de communication étroite nécessaire pour l'investigation en pair n'a pas le temps de prendre durant le relativement court sprint. Quand les sprinters doivent attendre des investigateurs les réponses à leurs questions, leur excitation se dissipe et ils ne sont plus dans le coup.

Une autre chose qui aide c'est d'avoir une liste de tâches possibles qui couvrent plusieurs niveaux de difficulté pour permettre à chacun de s'affairer. Un exemple d'une belle tâche d'introduction, tel que mentionné plus tôt, c'est d'écrire des tests unitaires. Pour ce faire, il faut que la mise en place d'un environnement fonctionnel de test et que la production d'un rapport de couverture soient facilitées aux sprinteurs; ce sont là des choses à garder à l'esprit pour qui souhaite lancer un sprint sur un projet.

Dans la mesure où ça prend un certain temps pour s'intaller et se concentrer, une façon d'améliorer la productivité d'un sprint est de tenir un sprint plus long. Hacker le week-end, en particulier lors des belles journées d'été, n'est pas très populaire mais les hackers engagés vont se présenter. Un bon équilibre entre les sprints en semaine et en week-end est un élément clé. Une autre façon d'améliorer est de régler le plus possible les tâches connexes avant le sprint: créer tous les comptes Bitbucket et attribuer les privilèges nécessaires, assigner les tâches ou même mettre en place un environnement fonctionnel de tests.

Remercions la Python Software Foundation d'avoir supporté le sprint en couvrant les frais de nourriture et de rafraîchissement. Le carburant (bouffe et liquide) n'est pas requis pour un sprint dans la mesure où les hackers engagés se présenteront, qu'ils aient à amener leur propre bibine ou pas, mais c'est agréable de pouvoir récompenser les sprinters avec un met savoureux. Ils le méritent. Le programme de commandite de sprint est une chose super, pas tant qu'il y ait un goulot financier à l'organisation de sprints mais parce que d'avoir un coordonnateur commun pour les sprints Python aidera à partager l'enthousiasme et la connaissance relative à ce qui marche ou pas avec les sprints. Nous espérons que d'autres groupes d'utilisateurs vont se joindre à nous et feront des sprints un élément central de leurs activités.

[gallery]