Présentation
Il existe divers conseils pour apprendre Ă faire Ă©voluer son projet informatique. L’un des Ă©lĂ©ments les plus connus est Open Advice , un recueil d’expĂ©rience de 42 contributeurs du Libre au travers de 42 articles.
Ă€ l’occasion de la traduction de ce livre par Framabook , je me suis permis d’en faire une synthèse personnelle : un article, une phrase de synthèse.
Articles de Framasoft
Voici la liste des articles que j’ai synthĂ©tisĂ©s :
- « Libres conseils », une, première !
- Du code avant toute chose
- Tous les autres pourraient avoir tort, mais c'est peu probable
- Les projets open source s'Ă©panouissent Ă l'air libre
- Prévoir l'avenir d'un projet open source
- Du bon usage des mentors
- Pour que le Libre aille vers l'Université
- Inviter Ă l'audace
- Être administrateur systèmes : ne pas s'enfermer dans une spécialité ?
- Sauvegardes et garde-fous
- Comment s'attaquer aux problèmes
- D'un projet à l'autre, franchissez les frontières
- Cent fois sur le métier remettez vos correctifs…
- Tests contre Bogues : une guerre sans fin
- Remue-ménage dans le triage
- Faire un test Ă la fois vous met sur la bonne voie
- RTFM ? — mais où est-il, votre manuel ?
- Restons courtois !
- Documenter c'est s'enrichir
- Apprendre à déléguer
- Grandir avec son projet
- Apprenez de vos utilisateurs
- La quête du logiciel de qualité :
- La quête du logiciel de qualité (a) : Début
- La quête du logiciel de qualité (b) : Suite
- La quête du logiciel de qualité (c) : Suite et fin
Synthèse
Et voilà leur synthèse :
-
- « Libres conseils », une, première ! : C’est un recueil de 42 auteurs qui devrait permettre Ă n’importe qui de mettre toutes les chances de son cĂ´tĂ© pour qu’un projet libre aboutisse vraiment, gagne en notoriĂ©tĂ©, entre dans une logique commerciale, et procure amour, gloire et beautĂ©.
-
- Du code avant toute chose : Une idĂ©e c’est bien. Avoir du code pour appuyer son idĂ©e, c’est mieux !
-
- Tous les autres pourraient avoir tort, mais c’est peu probable : Si le logiciel n’est que pour vous-mĂŞme, vous pouvez garder le code source et les infrastructures qui l’entourent comme terrain de jeu personnel. Mais si vous voulez que votre logiciel soit utilisĂ©, qu’il compte pour les autres personnes, qu’il change (peut-ĂŞtre) le monde, alors vous allez devoir construire une saine et solide communautĂ© d’utilisateurs, de contributeurs principaux, d’administrateurs et de dĂ©veloppeurs de modules. Les utilisateurs ont besoin d’avoir l’impression de possĂ©der le logiciel, de la mĂŞme façon que vous.
-
- Les projets open source s’Ă©panouissent Ă l’air libre : Il convient de crĂ©er une communautĂ© autour du projet pour que celui-ci s’Ă©panouisse. Pour cela il faut disposer d’une bonne mĂ©thode de communication (blog, journaux, etc.) et d’outils permettant l’Ă©change comme un wiki, un bugtracker, un site web officiel, etc.
-
- PrĂ©voir l’avenir d’un projet open source : Du fait de nombreux arrivĂ©es/dĂ©parts de contributeurs dans un projet, il vaut mieux prĂ©voir un standard de codage, des bonnes pratiques, documenter le code, dĂ©velopper les principales lignes directrices de son projet, vĂ©rifier le code orphelin pour qu’il ne le reste pas, laisser des astuces en tout genre et des commentaires sur ce qu’on a fait.
-
- Du bon usage des mentors : Avis aux nouveaux arrivants d’un projet : n’attendez pas trop longtemps avant de demander de l’aide ; si demande d’aide il y a, donnez vos rĂ©flexions et la procĂ©dure suivie ; dès qu’un problème est rĂ©solu, prenez en note et mettez Ă jour la documentation officielle du projet afin que les nouveaux arrivants puissent s’y retrouver.
-
- Pour que le Libre aille vers l’UniversitĂ© : Les Ă©tudiants sont des sujets vifs, curieux, plein d’Ă©nergie. Il est intĂ©ressant de crĂ©er un partenariat avec une universitĂ© afin de crĂ©er un Ă©change avec ces derniers. Ces Ă©tudiants apporteront du sang neuf dans votre communautĂ©, des idĂ©es et un peu de temps libre dĂ©diĂ© Ă votre projet. Par ailleurs le projet gagne en renommĂ©e.
-
- Inviter Ă l’audace : Invitez frĂ©quemment l’une ou l’autre personne du projet Ă participer Ă quelque chose. Ceci de manière positive, conviviale et ouverte. Vous impliquerez davantage les personnes dans cette grande aventure qu’est un projet libre.
-
- ĂŠtre administrateur systèmes : ne pas s’enfermer dans une spĂ©cialitĂ© ? : Multiplier ses compĂ©tences au sein d’un projet permet Ă celui-ci de toujours avoir une personne disponible en cas de problème, notamment en terme d’administration système. Avoir plusieurs administrateurs systèmes est plus que conseillĂ©, mĂŞme s’ils n’ont pas de compĂ©tences approfondies dans la matière. Il faut laisser chacun dĂ©couvrir de nouveaux horizons.
-
- Sauvegardes et garde-fous : On ne le dira jamais assez : faites des sauvegardes ! Une fois validĂ©es (vĂ©rifier qu’elles fonctionnent), ne plus avoir peur de mettre Ă jour le système frĂ©quemment pour pallier aux trous de sĂ©curitĂ©. Pensez aussi Ă avoir des sauvegardes dans plusieurs lieux et chez plusieurs personnes.
-
- Comment s’attaquer aux problèmes : Pour rĂ©soudre un problème il faut :
- formuler la bonne question pour poser le problème en bonne et due forme,
- décomposer le problème afin de localiser les lieux où survient le problème,
- vĂ©rifier que les conditions prĂ©alables Ă l’arrivĂ©e d’un cas prĂ©cis soient rĂ©unies,
- utiliser les bons outils pour les bons usages
-
- D’un projet Ă l’autre, franchissez les frontières : Ne vous cantonez pas Ă votre propre projet. D’autres projets existent avec des idĂ©es diffĂ©rentes mais parfois avec des besoins communs aux votres ! Franchissez le pas et aller vers eux. Les Ă©changes inter-projets sont bĂ©nĂ©fiques !
-
- Cent fois sur le métier remettez vos correctifs… : Pour écrire des correctifs :
- suivez les normes de style de codage du projet Ă corriger
- utilisez un outil de contrôle de version décentralisé (DVCS)
- faites des diffs unifiées
- faites de petits correctifs qui font UNE et UNE seule chose Ă la fois
- faites un suivi de votre correctif pour en avoir le retour, les modifications Ă©ventuelles et finalement l’impact qu’il a sur le projet
-
- Tests contre Bogues : une guerre sans fin : Fournissez Ă vos testeurs de quoi se mettre sous la dent ! Les tests ne se rĂ©sument pas Ă de simples essais manuels façon maison, ce sont des choses plus complexes qui peuvent ĂŞtre faites de manière plus Ă©laborĂ©es. Par exemple donner aux testeurs les endroits qui n’ont pas encore Ă©tĂ© testĂ©s, ou la liste des tests en cours, les rĂ©sultats des tests prĂ©cĂ©dents, etc. Plus le testeur a du retour sur ce qui a Ă©tĂ© fait, plus il mettra en Ĺ“uvre ses compĂ©tences pour mettre Ă l’Ă©preuve votre logiciel sur des points sensibles ou encore non-testĂ©s.
-
- Remue-mĂ©nage dans le triage : Un suivi rĂ©gulier des tickets de bugs est un bon moyen de rĂ©duire leur nombre et de stabiliser votre projet par la mĂŞme. C’est aussi un lieu atypique pour participer et diminuer considĂ©rablement la tâche des dĂ©veloppeurs qui ont - probablement - dĂ©jĂ assez Ă faire.
-
- Faire un test Ă la fois vous met sur la bonne voie : Faites des tests unitaires et des tests d’intĂ©gration. Pour chacun d’eux, suivez la procĂ©dure dĂ©crite ici :
- Écrivez un test qui fait échouer votre code, mais qui, selon vous, sera passé quand la fonctionnalité sera implémentée ou que le bogue sera corrigé. Mode expert : pendant l’écriture du test, pensez à l’exécuter de temps en temps, même s’il n’est pas encore fini, et tentez de deviner le message d’erreur effectif que le test renverra. À force d’écrire des tests et de les faire tourner, cela devient plus facile ;
- Bidouillez le code ;
- Exécutez le test. S’il marche, passez au point 4, sinon retournez au point 2 ;
- C’est fini ! Dansez le sirtaki.
-
- RTFM ? — mais oĂą est-il, votre manuel ? : Les dĂ©butants et futurs contributeurs ont besoin de documentation pour accĂ©der facilement Ă votre projet et potentiellement y participer. Prenez soin d’eux, prenez donc soin de la documentation !
-
- Restons courtois ! : Ne considérez pas les questions posées comme des questions idiotes. Soyez moins arrogant, soyez polis avec vos utilisateurs/contributeurs/interlocuteurs !
-
- Documenter c’est s’enrichir : La documentation permet Ă tout Ă chacun de s’enrichir d’un point de vue personnel comme social ou tout simplement sur un projet. Faire de la documentation peut se faire via l’idĂ©e de sprint (de brusques dĂ©penses d’énergie avec un public ciblĂ© et un but prĂ©cis). Il est intĂ©ressant d’avoir une liste des documentations existantes et des contributeurs (ou non) du projet pour se situer dans un projet.
-
- Apprendre Ă dĂ©lĂ©guer : Le sentiment de faire partie intĂ©grante d’un projet est une source puissante de motivation. VoilĂ pourquoi dĂ©lĂ©guer de petites tâches Ă des dĂ©butants pour qu’ils puissent se faire la main est une riche idĂ©e. Soyez disponibles ensuite pour rĂ©pondre Ă leur question. Puis revoyez leur travail avec eux en les corrigeant et en en discutant avec eux.
-
- Grandir avec son projet : Élaborer un modèle de travail personnel est essentiel car cela permet de se construire un environnement où il est agréable de travailler. Cependant, avoir conscience de la structure qui est affectée par le travail inculque la discipline nécessaire pour pouvoir tenir bon face aux caprices.
-
- Apprenez de vos utilisateurs : Observer les utilisateurs de l’application, de manière silencieuse d’abord, puis en posant quelques questions, permet d’amĂ©liorer grandement la qualitĂ© du modèle utilisateur de l’application et d’augmenter l’expĂ©rience utilisateur faite par l’utilisation de votre application. Tentez Ă©galement de rencontrer un maximum d’utilisateurs diffĂ©rents pour comprendre les diffĂ©rents modes d’utilisation de votre application. Ainsi :
- Vous serez tenté de modeler l’apparence et le comportement de votre interface sur la façon dont le logiciel fonctionne en coulisses. Vos utilisateurs peuvent vous aider à éviter ce piège.
- Les utilisateurs sont des oiseaux capricieux. Ils vont casser, maltraiter et optimiser votre application Ă un point que vous ne pouvez mĂŞme pas imaginer.
- Apprenez de vos utilisateurs. Améliorez votre application en fonction de ce que vous avez appris. Vous avez tout à y gagner.
-
- La quête du logiciel de qualité :
- Design Patterns dresse une liste de problèmes frĂ©quents et propose de bonnes solutions qui n’imposent pas de contraintes inutiles dans notre implĂ©mentation
- Il faut parvenir Ă la QualitĂ© Sans Nom, c’est Ă dire ce point oĂą l’application est conviviale, a Ă©voluĂ© dans le temps selon sa logique propre, ne recèle pas de contradiction interne, n’essaie pas d’attirer l’attention et rĂ©unit toutes les qualitĂ©s archĂ©typales – comme s’il avait suivi tout naturellement la voie optimale pour aboutir Ă sa conception.