Sos ikm-6 juin2008

Preview:

DESCRIPTION

 

Citation preview

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

•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 propriétaireModèle de développement propriétaire

•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.

Modèle de développement des logiciels Modèle de développement des logiciels libreslibres

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

Pascal FLAMANDinfos@janua.fr

+33(0) 950 260 370

Merci pour votre attention, Avez vous des Questions ?

Recommended