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 collab

afternoonhandsomelySoftware and s/w Development

Nov 17, 2012 (4 years and 8 months ago)

345 views

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étaire
Modè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
libres
libres
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 FLAMAND
infos@janua.fr
+33(0) 950 260 370
Merci pour votre attention,
Avez vous des Questions ?