Joel on Software

Joel on Software   Joël à propos de logiciel

 

D'autres articles de "Joel on Software" en Français

D'autres articles de "Joel on Software" en Anglais

Contacter l'auteur (En Anglais uniquement)

 

Je Bosse Sur CityDesk (1)


Par Joël Spolsky
Traduit par Christophe Ducamp
12 octobre, 2001

Je suis resté plutôt discret ces derniers temps sur ce blogue -- essentiellement parce que nous avons travaillé très dur chez Fog Creek pour livrer la version bêta de CityDesk, notre produit phare. Mais j'aimerais passer un petit moment à parler de la conception et du développement de CityDesk, parce que c'est un très bon cas d'école pour les pratiques de développement logiciel que je défends ici depuis plus d'un an. A travers les prochains articles, je me concentrerai sur "la Genèse de CityDesk", avec un regard sur les coulisses et les histoires au jour le jour dans le cadre d'un projet concret de développement logiciel.

Nous lançons la bêta le 15 octobre -- soit dans 3 jours ! Nous sommes officiellement Dans Les Temps. Dès juin, nous avions réalisé un planning pour la livraison de CityDesk. Nous avons chiffré nos prévisions pour toutes les tâches restantes et la correction de bogues, les avons cumulées et nous avons obtenu la date du 15 octobre.

Michael's cool crash handler actually enters diagnostics right into FogBUGZ.Toutes les deux semaines, nous contrôlions notre liste de tâches, révisions nos prévisions et ainsi de suite. Nous avons trouvé beaucoup de bogues durant cette période et avons ajouté beaucoup de petites fonctionnalités, mais nous avons aussi supprimé beaucoup de fonctionnalités auxquelles nous n'avions pas de temps à consacrer. Et voilà, admirez le travail : maintenant nous avons presque tout terminé. Tout ce que nous faisons ces jours-ci consiste à préparer l'installeur pour la bêta (ndt ? mettre au point le fonctionnement de la bêta ?). Michael a ajouté une boîte de dialogue à CityDesk pour la remontée d'informations.

 Il a aussi écrit quelques lignes épatantes de code qui interceptent toutes les erreurs non prévues sur chaque copie de CityDesk tournant à travers le monde, évitent que l'application ne plante et transmettent un rapport d'erreurs à FogBUGZ, notre logiciel de suivi d'erreurs ici à New York. J'ai corrigé des bogues, rédigé le fichier d'aide et écrit quelques pages pour le site web de notre société qui expliqueront ce qu'est CityDesk et quel intérêt vous aurez à l'acheter.

Un cliché très répandu par Hollywood je suppose, est que plus vous vous approchez de la date de livraison du logiciel, plus l'activité devient frénétique comme tout le monde se débat pour finir toutes les choses qui ont besoin d'être bouclées pour le jour J. Dans le scénario typique de série B, il y a une agitation folle des claviers dans une pièce remplie de programmeurs habillés n'importe comment avec des objets trouvés dans les oreilles et des vestes en jeans. En général, quelqu'un se lève et crie à travers toute la pièce  "J'ai besoin de la sous-routine de Jiff" ! Passez-moi la sous-routine !" Une pimpante jeune fille en vêtement urbain griffé Vivienne Tam lui lance une disquette. "Merci ! ".

Yeah, most programmers are as cute as Ryan Phillipe. That's why I'm in this field. Au fur et à mesure que le compteur des secondes se rapproche du 0:00, toute l'équipe attend en retenant son souffle autour de l'ordinateur de Philippe Ryan et suit des yeux la progression de l'indicateur "copy" jusqu'à ce que les derniers octets soient transférés sur une disquette avant que le capital-risqueur ne coupe les crédits.

Je suppose que quelques sociétés de logiciels ont des frayeurs de dernière minute comme celle-là. Si c'est le cas, leur logiciel est certainement empreint d'une très mauvaise qualité. Aucun code ne fonctionne de la façon dont vous l'attendiez la première fois, et si vous écrivez le code jusqu'à la dernière minute, ça va foirer. L'excellent documentaire  Code Rush qui raconte la sortie de la première version opensource de Netscape l'illustre parfaitement.

Dans les bonnes équipes, les journées précédant la livraison sont simplement de plus en plus calmes jusqu'à ce que les programmeurs n'aient littéralement plus qu'une chose à faire après l'autre. (Hier J'ai pris une journée pour visiter New York avec ma nièce et mes neveux)


Times Square

Le nombre de nouveaux bogues trouvé(e)s a diminué à un niveau tel que nous sommes suffisamment confiants pour sortir la bêta. Il est crucial d'avoir zéro bogue connu(e) (ndt via coacoa... e? et oui bogue est un s.f....) (ce que Nestcape appelait "Zarro Boogs") avant de sortir une bêta. Si vous ne faites pas cela, vous perdrez beaucoup de temps à lire 200 méls à propos d'un(e) bogue que vous connaissez déjà. Et vous aurez tout bonnement gaspillé le temps et la bonne volonté de ces 200 bêta-testeurs, si bien qu'ils risquent de ne plus s'embêter à vous signaler les problèmes qu'ils découvrent et que vous ne connaissez pas. Ou alors ce bogue peut les décourager d'essayer d'autres parties de l'application ayant besoin d'être triturées. Cela semble évident, mais presque chaque fois que j'ai été sur un vrai produit, tout le monde se met à penser que sortir la bêta dans les temps est plus important que de sortir une bêta avec Zéro Bogues connu(e)s. (Après tout, c'est "normal" d'avoir des bogues dans une bêta, disent-ils. Et je suis d'accord : c'est "normal" d'avoir des bogues dans une bêta, à condition qu'il ne s'agisse pas de bogues recensés).

Je continuerai à poster l'Histoire de CityDesk durant les prochains jours, gardez un oeil sur les mises à jour fréquentes.



Cet article est paru en version originale anglaise sous le titre Working on CityDesk, Part One  

Joël Spolsky est le fondateur de Fog Creek Software, une petite société éditrice de logiciel située à New York. Il est diplômé de l'Université de Yale et a travaillé comme programmeur et manager chez Microsoft, Viacom et Juno.


Le contenu de ces pages représentent l'opinion d'une personne.
Contenu protégé par le copyright ©1999-2005 par Joël Spolsky. Tous droits réservés.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky