Diffusion de la connaissance et
outils collaboratifs associés :
Comment diffuser et pérenniser
la compétence au sein d'une
équipe de développeurs, quels
outils collaboratifs utiliser ?
Question: appliquer le modèle de développement
Open Source au domaine plus large de la diffusion
de la connaissance....Une idée farfelue ?
Sommaire
●

Le développement logiciel en quelques diagrammes

●

L'organisation d'une communauté Open Source

●

Création et captation de valeur dans les modèles
propriétaires et Open Source

●

Diffusion de la connaissance : modes opératoires

●

Présentation de Janua et problématiques

●

Les outils collaboratifs des équipes de développeurs

●

Ce qu'implémente Janua : retour d'expérience
L'équipe de développement projet
Modèle de développement logiciel
L'organisation d'une communauté Open
Source
Modèle de développement propriétaire
•Création de la valeur du logiciel déterminée par la qualité et
l'efficacité du seul développement dans l'entreprise.
•R&D assurée en interne de l'entreprise
•Activités/investissements aux fins de commercialisation et
vente très importantes
•Captation de valeur par paiement d'une redevance
•Clients "dédiés" à la captation de valeur plutôt qu'à la
création (de valeur) car peu impliqués par les éditeurs dans le
processus de développement.
Modèle de développement des logiciels
libres
•Implique un mode de production coopératif organisé
(E.Raymond “La cathédrale et bazar”)
•Création de la valeur du logiciel déterminée par la coopération
des utilisateurs et développeurs.
•R&D assurée en interne et en externe (developpeurs
bénévoles).
•Pas de commercialisation : on parle plutôt de diffusion
•Le logiciel est payé une fois (cf ADULLACT) puis est "libéré".
•La captation de valeur se fait par les activités de service
•Clients associés à la création des logiciels, coopérants au
développement, d'où une grande adéquation à la demande.
Création et captation de valeur dans
l'industrie logicielle :
●

Singularité des biens numériques :
–
–

●

Coûts variables de reproduction proche de
zéro,
Coûts fixes de développement très élevés.

Sur l'ensemble du cycle de vie d'un
logiciel, il existe
–
–

Des points de création de valeur
Des points de captation de valeur
Dans le modèle traditionnel
(propriétaire)
●

Création de valeur :
–

Essentiellement en interne (chez l'éditeur)
Dans le modèle propriétaire
●

Captation de valeur :
Dans le modèle Libre
●

Création de valeur fait appel à des
ressources externes (coopération)
Dans le modèle Libre
●

Captation de valeur :
Un petit peu de théorie :


Appliquer le modèle de développement
Open Source au domaine plus générique
de la diffusion de la connaissance...Une
idée pas si farfelue...

Quelques petits dessins valant mieux que de grands discours.....
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Source : J M Garcia, W E Steinmueller – SPRU – University of Sussex
Présentation De Janua
●

Société de services (SS2L) fondée en 2004 à
Sophia Antipolis

●

Notre métier : l'expertise

●

Notre crédo : l'Open Source

●

●

Notre force : les hommes, leur vécu et leur
motivation
Notre problématique : Comment diffuser et
pérenniser la compétence au sein d'une
équipe de développeurs, quels outils
collaboratifs utiliser ?
Les compétences de Janua
•Consulting, implémentation et déploiement de
solutions de gestion de l'identité
•Etudes d'opportunités et accompagnement à la
migration Open source, déploiement de solutions
d'infrastructures, virtualisation.
•Développement au forfait et expertise sur des
composants Open Source, Embarqués et Temps
Réel.
•Editeur de logiciels (CmakeBuilder, Jaguards,
JAC, KressourcesWCAP et EZ-Slony)
Les problématiques de Janua
●

Comment gérer une équipe de
développeurs décentralisés,

●

Plusieurs projets en même temps

●

Des projets de petite taille

●

La réutilisation maximale de la
connaissance accumulée et des
composants développés..

=> des méthodologies et des outils
Méthodologies utilisées dans le monde Open
Source
Les principes popularisés par l’Open Source (mode de production
coopératif organisé cf E.Raymond “La cathédrale et bazar”) :
●

●

●

"Release Early, Release Often"
"Keep It Simple Stupid"

Les concepts de l’eXtreme Programing (base théorique SCRUM)
applicables en entreprise : peer review, build automatique, tests
unitaires, auto-documentation, etc..
●

Une spécificité du monde Open Source (le métier des SS2L), les
méthodologies d'assemblage (la « glue ») : QSOS (atos), OSMM (cap),
QUALOSS (CETIC/EU), etc...
●

Une méta-méthodologie, simple, rapide et efficace pour les POCs et
les « petits » projets : MAJ (Méthodologie d'Assemblage Janua).
●
L’environnement des développeurs /
concepteurs
Les ateliers de conception UML : Netbeans, Eclipse,
Umbrello,....
●

Les ateliers de développement : Eclipse,
Netbeans, ....
●

Source code manager, règles d’utilisation et politique
de versionning : CVS, Subversion, Mercurial
●

Automatisation des builds et stratégie : nightly-build,
snapshot, (Maven, etc....)
●
L’environnement des développeurs /
concepteurs
Les tests automatiques : Maven/Cruise Control,
Canoo WebTest, etc.
●

Les outils de suivi des bugs : JIRA, Mantis,
Bugzilla.
●

Les mailings lists Users, Developpers,
Announcement, Commit.
●
Des outils collaboratifs à la
gestion de la connaissance..
●

●

Gestionnaires de projet : Project, EGW,
Kplato, OpenProj
Repository documentaires : Webdav,
Alfresco, EGW, Wiki,portails, CMS....

=> aucun outil miracle, de la méthodologie,
de la volonté et de l'organisation...
Où en est Janua ?
●

Méthodologies : MAJ, XP

●

Modélisation : Eclipse, Netbeans, Umbrello

●

Ateliers : Eclipse et Netbeans

●

Versioning : SVN (=> Mercurial ?)

●

Test : Junit, TestNG

●

Bug Tracker : Mantis

●

Gestion de la connaissance : Webdav/Ftp,
Google Block Note
Conclusions :
●

●

●

L'homme et son intelligence doivent rester au
coeur du système (pas de taylorisme, chaque
développeur doit gérer un projet de A à Z...)
Pour chaque projet se poser les bonnes
questions : quelle méthodologie, quels outils,
quels composants réutiliser..
La pédagogie est fondamentale : les
méthodologies et outils ne marchent que si
toute l'équipe marche dans la même direction
Merci pour votre attention,
Avez vous des Questions ?

Pascal FLAMAND
infos@janua.fr
+33(0) 950 260 370

Sos ikm-6 juin2008

  • 1.
    Diffusion de laconnaissance et outils collaboratifs associés : Comment diffuser et pérenniser la compétence au sein d'une équipe de développeurs, quels outils collaboratifs utiliser ? Question: appliquer le modèle de développement Open Source au domaine plus large de la diffusion de la connaissance....Une idée farfelue ?
  • 2.
    Sommaire ● Le développement logicielen quelques diagrammes ● L'organisation d'une communauté Open Source ● Création et captation de valeur dans les modèles propriétaires et Open Source ● Diffusion de la connaissance : modes opératoires ● Présentation de Janua et problématiques ● Les outils collaboratifs des équipes de développeurs ● Ce qu'implémente Janua : retour d'expérience
  • 3.
  • 4.
  • 5.
  • 6.
    Modèle de développementpropriétaire •Création de la valeur du logiciel déterminée par la qualité et l'efficacité du seul développement dans l'entreprise. •R&D assurée en interne de l'entreprise •Activités/investissements aux fins de commercialisation et vente très importantes •Captation de valeur par paiement d'une redevance •Clients "dédiés" à la captation de valeur plutôt qu'à la création (de valeur) car peu impliqués par les éditeurs dans le processus de développement.
  • 7.
    Modèle de développementdes logiciels libres •Implique un mode de production coopératif organisé (E.Raymond “La cathédrale et bazar”) •Création de la valeur du logiciel déterminée par la coopération des utilisateurs et développeurs. •R&D assurée en interne et en externe (developpeurs bénévoles). •Pas de commercialisation : on parle plutôt de diffusion •Le logiciel est payé une fois (cf ADULLACT) puis est "libéré". •La captation de valeur se fait par les activités de service •Clients associés à la création des logiciels, coopérants au développement, d'où une grande adéquation à la demande.
  • 8.
    Création et captationde valeur dans l'industrie logicielle : ● Singularité des biens numériques : – – ● Coûts variables de reproduction proche de zéro, Coûts fixes de développement très élevés. Sur l'ensemble du cycle de vie d'un logiciel, il existe – – Des points de création de valeur Des points de captation de valeur
  • 9.
    Dans le modèletraditionnel (propriétaire) ● Création de valeur : – Essentiellement en interne (chez l'éditeur)
  • 10.
    Dans le modèlepropriétaire ● Captation de valeur :
  • 11.
    Dans le modèleLibre ● Création de valeur fait appel à des ressources externes (coopération)
  • 12.
    Dans le modèleLibre ● Captation de valeur :
  • 13.
    Un petit peude théorie :  Appliquer le modèle de développement Open Source au domaine plus générique de la diffusion de la connaissance...Une idée pas si farfelue... Quelques petits dessins valant mieux que de grands discours.....
  • 14.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 15.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 16.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 17.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 18.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 19.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 20.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 21.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 22.
    Source : JM Garcia, W E Steinmueller – SPRU – University of Sussex
  • 23.
    Présentation De Janua ● Sociétéde services (SS2L) fondée en 2004 à Sophia Antipolis ● Notre métier : l'expertise ● Notre crédo : l'Open Source ● ● Notre force : les hommes, leur vécu et leur motivation Notre problématique : Comment diffuser et pérenniser la compétence au sein d'une équipe de développeurs, quels outils collaboratifs utiliser ?
  • 24.
    Les compétences deJanua •Consulting, implémentation et déploiement de solutions de gestion de l'identité •Etudes d'opportunités et accompagnement à la migration Open source, déploiement de solutions d'infrastructures, virtualisation. •Développement au forfait et expertise sur des composants Open Source, Embarqués et Temps Réel. •Editeur de logiciels (CmakeBuilder, Jaguards, JAC, KressourcesWCAP et EZ-Slony)
  • 25.
    Les problématiques deJanua ● Comment gérer une équipe de développeurs décentralisés, ● Plusieurs projets en même temps ● Des projets de petite taille ● La réutilisation maximale de la connaissance accumulée et des composants développés.. => des méthodologies et des outils
  • 26.
    Méthodologies utilisées dansle monde Open Source Les principes popularisés par l’Open Source (mode de production coopératif organisé cf E.Raymond “La cathédrale et bazar”) : ● ● ● "Release Early, Release Often" "Keep It Simple Stupid" Les concepts de l’eXtreme Programing (base théorique SCRUM) applicables en entreprise : peer review, build automatique, tests unitaires, auto-documentation, etc.. ● Une spécificité du monde Open Source (le métier des SS2L), les méthodologies d'assemblage (la « glue ») : QSOS (atos), OSMM (cap), QUALOSS (CETIC/EU), etc... ● Une méta-méthodologie, simple, rapide et efficace pour les POCs et les « petits » projets : MAJ (Méthodologie d'Assemblage Janua). ●
  • 27.
    L’environnement des développeurs/ concepteurs Les ateliers de conception UML : Netbeans, Eclipse, Umbrello,.... ● Les ateliers de développement : Eclipse, Netbeans, .... ● Source code manager, règles d’utilisation et politique de versionning : CVS, Subversion, Mercurial ● Automatisation des builds et stratégie : nightly-build, snapshot, (Maven, etc....) ●
  • 28.
    L’environnement des développeurs/ concepteurs Les tests automatiques : Maven/Cruise Control, Canoo WebTest, etc. ● Les outils de suivi des bugs : JIRA, Mantis, Bugzilla. ● Les mailings lists Users, Developpers, Announcement, Commit. ●
  • 29.
    Des outils collaboratifsà la gestion de la connaissance.. ● ● Gestionnaires de projet : Project, EGW, Kplato, OpenProj Repository documentaires : Webdav, Alfresco, EGW, Wiki,portails, CMS.... => aucun outil miracle, de la méthodologie, de la volonté et de l'organisation...
  • 30.
    Où en estJanua ? ● Méthodologies : MAJ, XP ● Modélisation : Eclipse, Netbeans, Umbrello ● Ateliers : Eclipse et Netbeans ● Versioning : SVN (=> Mercurial ?) ● Test : Junit, TestNG ● Bug Tracker : Mantis ● Gestion de la connaissance : Webdav/Ftp, Google Block Note
  • 31.
    Conclusions : ● ● ● L'homme etson intelligence doivent rester au coeur du système (pas de taylorisme, chaque développeur doit gérer un projet de A à Z...) Pour chaque projet se poser les bonnes questions : quelle méthodologie, quels outils, quels composants réutiliser.. La pédagogie est fondamentale : les méthodologies et outils ne marchent que si toute l'équipe marche dans la même direction
  • 32.
    Merci pour votreattention, Avez vous des Questions ? Pascal FLAMAND infos@janua.fr +33(0) 950 260 370