La philosophie de ce groupe, propositions
Publié : 01 Déc 2002, 02:27
Je pense qu'il serait bon d'établir clairement une sorte de philosophie que les membres de notre groupe seraient d'accord de suivre, afin d'écarter toute possibilité de malentendus. Du moins, il serait bon que chacun exprime sa vision des choses.
La mienne est un mélange des propositions suivantes. J'en ferais une fois la synthèse.
J'ai quelques propositions à faire pour des sources d'inspirations.
Pour la diffusion de nos "produits":
La philosophie du "logiciel libre" (GNU) (transposé au règles pour jdr bien sûr)
OGL (fortes ressemblances avec la licence GNU, mais certains points diffèrent; cette fois, pas besoin de transposer au monde du jdr, c'est spécifiquement fait pour, et c'est pas limité à Donj' ou au système d20 (qui est basé sur l'OGL))
Pour notre méthode de développement:
(A adapter au jdr bien sûr)
Les 13 règles des méthodes de développement du logiciel libre
1. Chaque développement d’un projet sérieux commence par « gratter » une démangeaison du développeur.
Il est inutile de commencer le développement d’un projet si on n’en voit pas réellement l’utilité, c’est-à-dire s’il ne résout pas un problème auquel est confronté le programmeur. D’ailleurs la plupart des projets qui ont échoués sont de projets qui ne répondaient pas à un véritable besoin.
2. Les bons programmeurs savent ce qu’il faut écrire. Les programmeurs géniaux savent ce qu’il faut réécrire et ce qu’il faut réutiliser.
Il existe dans les bibliothèques de logiciel libre des millions de lignes de codes résolvant une très grande palette de problèmes. Il n’est pas toujours nécessaire de réinventer la roue. Parfois il est beaucoup plus judicieux de réutiliser ce qui a déjà été écrit. Il arrive cependant que le programmeur remarque une amélioration possible du code déjà écrit et dans ce cas il faut aussi savoir reconnaître que sa propre solution est réellement meilleure.
3. Dans votre planification, prévoyez de jeter au moins une version complète de projet. Cela vous arrivera de toute façon.
Aussi soigneusement que soit faite la spécification d’un programme et de son cahier de charges, il arrivera toujours un moment où il ne sera plus possible de rajouter une fonction qui avait été oubliée et qui ne peut pas entrer dans la structure. La seule manière vraiment efficace de se rendre compte de se genre d’oublie est de réaliser une première version qui devra être considérée comme prototype et ensuite recommencer le développement quand cela est devenu nécessaire.
4. Si vous avez la bonne attitude, les problèmes intéressants vont finir par vous trouver.
5. Quand vous perdez votre intérêt pour un programme, votre dernière obligation est de la transmettre à un successeur compétent.
Dans quantité de projets de logiciel libre, le responsable du projet change au cours de la vie du projet. Cela est dû au fait que la plupart des logiciels libres sont développés bénévolement et que les personnes ayant initié le projet ont changé de profession, d’employeur ou tout simplement de priorité. La plupart du temps, le nouveau responsable du projet est quelqu’un faisant un usage intensif du produit en question.
6. Traiter vos collaborateurs comme des co-développeurs est le moyen le plus simple d’augmenter rapidement la qualité de votre code et de le débuguer efficacement.
Tout utilisateur du produit est susceptible de formuler des suggestions intéressantes et intelligentes et cela même si l’utilisateur en question n’est pas un programmeur.
7. Release early. Release often.
Et soyez à l’écoute de vos clients.
8. Etant donné un ensemble suffisamment grand de bêta-testeur et de co-développeur, tous les problèmes seront localisés rapidement et les corrections seront évidentes pour un des développeurs.
9. Une structure de données intelligente et un code stupide fonctionne toujours mieux que l’inverse.
10. Si vous considérez vos bêtas-testeurs comme votre ressource la plus précieuse, en retour ils feront ce qui est nécessaire pour devenir votre ressource la plus précieuse.
11. La deuxième chose la plus importante à avoir après de bonnes idées et de reconnaître les bonnes idées de vos utilisateurs.
12. Souvent la solution la plus originale et la plus innovante à un problème est de réaliser que la compréhension initiale du problème n’était pas bonne.
13. La perfection dans la conception n’est pas atteinte quand il n’y a plus rien à ajouter mais quand il n’y a plus rien à retirer.
Tiré de ce document.
Vous êtes bien sûr invités à exprimer votre avis par rapport à cette idée!
La mienne est un mélange des propositions suivantes. J'en ferais une fois la synthèse.
J'ai quelques propositions à faire pour des sources d'inspirations.
Pour la diffusion de nos "produits":
La philosophie du "logiciel libre" (GNU) (transposé au règles pour jdr bien sûr)
OGL (fortes ressemblances avec la licence GNU, mais certains points diffèrent; cette fois, pas besoin de transposer au monde du jdr, c'est spécifiquement fait pour, et c'est pas limité à Donj' ou au système d20 (qui est basé sur l'OGL))
Pour notre méthode de développement:
(A adapter au jdr bien sûr)
Les 13 règles des méthodes de développement du logiciel libre
1. Chaque développement d’un projet sérieux commence par « gratter » une démangeaison du développeur.
Il est inutile de commencer le développement d’un projet si on n’en voit pas réellement l’utilité, c’est-à-dire s’il ne résout pas un problème auquel est confronté le programmeur. D’ailleurs la plupart des projets qui ont échoués sont de projets qui ne répondaient pas à un véritable besoin.
2. Les bons programmeurs savent ce qu’il faut écrire. Les programmeurs géniaux savent ce qu’il faut réécrire et ce qu’il faut réutiliser.
Il existe dans les bibliothèques de logiciel libre des millions de lignes de codes résolvant une très grande palette de problèmes. Il n’est pas toujours nécessaire de réinventer la roue. Parfois il est beaucoup plus judicieux de réutiliser ce qui a déjà été écrit. Il arrive cependant que le programmeur remarque une amélioration possible du code déjà écrit et dans ce cas il faut aussi savoir reconnaître que sa propre solution est réellement meilleure.
3. Dans votre planification, prévoyez de jeter au moins une version complète de projet. Cela vous arrivera de toute façon.
Aussi soigneusement que soit faite la spécification d’un programme et de son cahier de charges, il arrivera toujours un moment où il ne sera plus possible de rajouter une fonction qui avait été oubliée et qui ne peut pas entrer dans la structure. La seule manière vraiment efficace de se rendre compte de se genre d’oublie est de réaliser une première version qui devra être considérée comme prototype et ensuite recommencer le développement quand cela est devenu nécessaire.
4. Si vous avez la bonne attitude, les problèmes intéressants vont finir par vous trouver.
5. Quand vous perdez votre intérêt pour un programme, votre dernière obligation est de la transmettre à un successeur compétent.
Dans quantité de projets de logiciel libre, le responsable du projet change au cours de la vie du projet. Cela est dû au fait que la plupart des logiciels libres sont développés bénévolement et que les personnes ayant initié le projet ont changé de profession, d’employeur ou tout simplement de priorité. La plupart du temps, le nouveau responsable du projet est quelqu’un faisant un usage intensif du produit en question.
6. Traiter vos collaborateurs comme des co-développeurs est le moyen le plus simple d’augmenter rapidement la qualité de votre code et de le débuguer efficacement.
Tout utilisateur du produit est susceptible de formuler des suggestions intéressantes et intelligentes et cela même si l’utilisateur en question n’est pas un programmeur.
7. Release early. Release often.
Et soyez à l’écoute de vos clients.
8. Etant donné un ensemble suffisamment grand de bêta-testeur et de co-développeur, tous les problèmes seront localisés rapidement et les corrections seront évidentes pour un des développeurs.
9. Une structure de données intelligente et un code stupide fonctionne toujours mieux que l’inverse.
10. Si vous considérez vos bêtas-testeurs comme votre ressource la plus précieuse, en retour ils feront ce qui est nécessaire pour devenir votre ressource la plus précieuse.
11. La deuxième chose la plus importante à avoir après de bonnes idées et de reconnaître les bonnes idées de vos utilisateurs.
12. Souvent la solution la plus originale et la plus innovante à un problème est de réaliser que la compréhension initiale du problème n’était pas bonne.
13. La perfection dans la conception n’est pas atteinte quand il n’y a plus rien à ajouter mais quand il n’y a plus rien à retirer.
Tiré de ce document.
Vous êtes bien sûr invités à exprimer votre avis par rapport à cette idée!