Journal Une question de terminologie : modèle et méthodologie

Posté par (page perso) .
Tags : aucun
0
23
avr.
2004
Cela fait quelques temps déjà que je m'intéresse aux méthodologies de développement Agile, comme l'Extreme Programming par exemple. J'y trouve pas mal de similitudes avec le modèle de développement Open Source, voire une certaine complémentarité.

Ma question est toute bête : l'Open Source est-il une méthodologie et, si non, quelle différence faites-vous entre une méthodologie et un modèle de développement ?
  • # Re: Une question de terminologie : modèle et méthodologie

    Posté par . Évalué à 1.

    "open source" signifie que tu auras accés aux sources (ce que tu peux en faire dépend des licences utilisées). C'est tout.
    Après que ce soit codé avec les pieds, salement ou l'opposé n'a rien à voir avec l'open source.
  • # Re: Une question de terminologie : modèle et méthodologie

    Posté par (page perso) . Évalué à 0.

    > si non, quelle différence faites-vous entre une méthodologie et un modèle de développement ?

    C'est le genre de question que se posent les commerciaux qui n'ont jamais codé une seule ligne de leur vie, et qui veulent faire croire qu'ils s'y connaissent et qu'ils comprennent ce que tu fais.
    • [^] # Re: Une question de terminologie : modèle et méthodologie

      Posté par (page perso) . Évalué à 1.

      Je ne pense pas. Ce n'est pas parce que tu programmes -pour info, je ne suis pas un commercial et, à la base, je suis ingénieur de développement- que tu sais forcément nommer et définir correctement les choses.

      Mon problème, c'est que si tu prends une méthodologie comme Agile, c'est relativement bien défini avec des recommandations assez complètes. Si tu prends l'Open Source, tu as quelques grandes recommandations très générales. Cela suffit-il à en faire une méthodologie ? J'ai posté la question à 4 ingénieurs / informaticiens ce matin et aucun n'a su vraiment me répondre.

      A ce propos, merci pour les réponses constructives apportées dans ce journal.
  • # Re: Une question de terminologie : modèle et méthodologie

    Posté par (page perso) . Évalué à 3.

    Pour moi, une méthodologie de développement impose (ou suggère) des règles temporelles (itérations, planification, etc), suggère l'utilisation d'outils et de techniques particulières (tests unitaires, modélisation UML, etc.), la collaboration et le rôle des différents acteurs du projets (architecte, programmeur, analyste, etc.), des bonnes pratiques, etc.

    Le modèle de développement "Open Source" n'est pour moi que le fait de développer un logiciel sur ce simple concept de partage des sources et leur mise à disposition des utilisateurs/développeurs. (Après il y a des variantes éthiques qui tournent autour de l'utilisation de ces sources, le LL, etc.)

    Tu peux très bien développer un logiciel Open Source selon des méthodologies différentes, tout dépend du cadre du projet : communautaire, en entreprise, le nombre de participant, l'existance d'un réel planning, etc.

    Pour moi la méthode de développement et le modèle de développement Open Source sont 2 choses complètement distinctes : si tu choisi le modèle Open Source, tu as le choix de la méthode de développement, et tu as les même choix avec le développement "Closed Source".

    Après, en dehors du développement "Open Source" en entreprise, le développement "Open Source" communautaire n'impose que très rarement une méhode de développement bien précise, car beaucoup de principes sont difficiles à mettre en place lorsque le projet n'est pas constitué d'une équipe qui se trouve dans la même salle : tu ne peux planifier des réunion de brainstorming journalière ou hebdomadaire, tu peux difficilement imposer la programmation en binôme, bref, tu ne pourra utiliser que certaines pratiques de programmation. Il serait intéressant de faire ressortir une méthodologie de développement "communautaire" (parcque c'est un facteur humain et pratique, alors que le chois de l'Open Source est surtout un choix éthique qui n'impose pas grand chose dans la méthode de développement) qui répondrait peut être à ta question...
  • # Re: Une question de terminologie : modèle et méthodologie

    Posté par (page perso) . Évalué à 3.

    L'open source, en soit, n'est pas du tout un modèle de développemement.

    Regardes TeX. Il réponds bien à la définition de l'open source. Pourtant, le modèle de développement est totalement fermé. Il n'y a pas eu de nouvelle version depuis plus de 10 ans, Knuth a tout fait tout seul et il a de bonnes raisons de faire comme ça.

    Ce dont tu parles, c'est le modèle de développement coopératif, qui est effectivement très lié au fait qu'un soft soit open source ou non.

    Maintentant, à l'intérieur du modèle cooperatif, il y a encore pas mal de systèmes. Des cas comme le kernel Linux ou il y a une personne responsable de chaque branche, et ou les autres développeurs soumettent leurs modifications sans garantie qu'elles soient acceptées. D'autres ou il y a plusieurs personnes qui ont le droit de modifier les sources d'une branche. Des projets qui incluent tout et n'importe quoi pour expérimenter des nouvelles fonctionalités, d'autres maniaques de la sécurité et de la fiabilité ou une fonction n'est intégrée qu'après des mois ou des années de tests, ...

    Lire http://www.linux-france.org/article/these/cathedrale-bazar/cathedra(...)

    Pour une base de reflexion.
  • # Re: Une question de terminologie : modèle et méthodologie

    Posté par . Évalué à 2.

    Je pense que ce papier va t'intéresser :

    http://www.martinfowler.com/articles/newMethodology.html(...)

    ou la traduction française :

    http://www.martinfowler.com/articles/frNewMethodology.html(...)

    A noter donc que tu n'est pas le premier à voir cette similitude : Martin Fowler classe l'OS dans les méthodologies, malgré le peu de formalisation du processus.
    Personnellement je pense que parmi les diverses "méthodes" utilisées pour faire de l'OS, il y a sans aucun doute une véritable méthodologie qui émerge d'elle même, les différents projets s'inspirant les uns des autres et contribuant à la populariser et l'améliorer (c'est plus visible dans les gros projets, généralement. Mais pas tous, cf XFree).
    Cette méthodologie est définitivement "agile".
    Maintenant, il me semble assez réducteur/trompeur de parler de "méthodologie Open Source", puisque tous les projets ne la suivent pas (et aucun ne devrait y être forcé) et qu'il est probable que des projets non ouverts s'en inspirent ou s'en inspireront. Mais d'un autre côté, si cette méthodologie devait venir à être reconnue, ce sera certainement sous ce nom là....

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.