La philosophie du Domain Driven Design User Group et l’état des lieux * Users Group en Février 2010

Mercredi 17 Février soir avait lieu dans les locaux de Zenika, la première Domain Driven Design User’s Group Paris. Cette réunion a pour but, comme beaucoup d’autres User Group, de réunir des utilisateurs et permettre l’échange d’expériences. Pour cette première, Eric Evans, créateur et « star américaine » du DDD, nous a fait une présentation de cette philosophie d’architecture IT. C’est aussi un peu la folie des User’s Groups en ce moment, et on croise d’ailleurs souvent les mêmes têtes à chacune de ces réunions… Pour ce compte-rendu, je vais être un peu hors sujet en parlant d’abord un petit peu des * User’s Group. Ensuite, je me re-concentrerai sur la conférence abordant le concept de Domain Driven Design.

Petit état des lieux des * User’s Groups

Comme je le disais, actuellement, on voit fleurir un certains nombres de * User’s Groups, ces groupes d’utilisateurs d’une technologie particulière.  C’est une chance fantastique de partager son expérience avec d’autres ingénieurs qui font de l’informatique non pas par nécessité, mais parce qu’ils souhaitent atteindre une certaine excellence pour leurs projets et/ou pour eux. Pour la petite histoire, savez vous comment a été formé le premier Java User Group? Le premier JUG a été fondé au milieu des années 90 par une personne n’y connaissant rien au Java, mais souhaitant recruter des personnes avec ces compétences. Actuellement, un bon nombre de ces * User Groups sont organisés par des SSII. En effet, celles-ci organisaient vers le milieu des années 2000 de nombreux événements non informatique qui pouvaient rassembler un très grand nombre de profils différents. Je pense notamment au sponsoring de voiliers de courses ou aux soirées Poker et (je pense à ces deux domaines là, car cela fait partie des choses que j’aime en dehors de mon métier). Néanmoins, le resserrement des recrutements apparus début 2008 a privilégié le recrutement de profils plus confirmés, plus experts. Organiser des soirées sur un thème pointu permet aux entreprises d’attirer de « bons » candidats potentiels, et cela permet aux ingénieurs de se former à moindre frais, d’échanger avec des personnes sympathiques, mais aussi, pourquoi pas, de rencontrer son futur employeur 😉

Le Concept Du Domain Driven Development

Le Domain Driven Development (ou DDD) n’est pas un modèle ou un processus de développement comme le germanique V-Model XT ou le Rational Unified Process. Le DDD est plus proche d’une philosophie de développement. D’ailleurs, la présentation d’Eric Evans, de l’avis de certaines personnes, en faisait une présentation assez abstraite. Néanmoins, on a pu entendre des idées intéressantes:  la façon d’aborder la préparation d’un projet en amont. Eric Evans ne nous a pas parlé Java ou n’importe quel terme technique: il nous a expliqué pendant deux heures, les 4 axes de son concept: le Context, le Domain, le Model et enfin l’Ubiquitous Language

1- Context

Le Context est différent selon les branches de l’entreprise. L’informatique n’est qu’un outil, pas une fin en soit. On va donc définir les termes significatifs et

2- Domain

Le Domain correspond au métier, ce qui vous entoure. En gros, c’est le fonctionnel et cela peut-être la principale difficulté pour la partie IT qui n’a pas forcément le background que demande le fonctionnel. Pour palier à cela,

3- Model

Une fois la compréhension du Context et du Domain acquis, l’architecte peut s’intéresser au Model. Le Model sera la représentation d’un processus « businness » de notre futur système d’information. Un modèle n’est jamais parfait, il donne bien souvent le rendu que d’un seul point de vue, pas du point de vue de tous les métiers agrégés sur le projet.

4- Ubiquitous Language

Tous les membres de l’équipe doivent se comprendre et parler un langage commun: c’est l’Ubiquitous Language. C’est d’ailleurs au développeur de s’adapter aux gens du métier et non l’inverse 🙂

Pour aller plus loin dans le concept

En plus du livre d’Eric Evans, Je vous recommande la lecture du résumé de la formation qu’a suivi Nicolas Martignolle (dit le Touilleur Express), il y a quelques jours avec Eric:

  1. 1ere journée de formation DDD
  2. 2eme jour de formation DDD
  3. 3eme et 4eme jour de Formation DDD suite et fin

Si vous avez manqué cette formation, j’ai cru comprendre qu’Eric Evans passait chaque année en France. De plus Octo Technology va organiser une formation équivalente au mois de Mars, avec Greg Young, vous pouvez d’ailleurs découvrir une interview et un dialogue entre Eric et Greg sur InfoQ.

[Cette formation me permet d’être] certainement un meilleur architecte, avec de nouveaux concepts, un nouveau vocabulaire et une démarche novatrice […] Le Domain Driven Design apporte une vision stratégique sur les projets informatiques très intéressante. Il y a quelques parties peut-être trop « conceptuel » mais l’ensemble est intéressant à connaître.

Nicolas Martignole, suite à sa formation DDD avec Eric Evans

Liens:

  • Bonjour,

    merci pour cet article.
    Juste une petite précision par rapport aux Java User Groups.
    La majorité des JUG francophones (je ne suis pas sur que tous) sont des associations loi 1901 et sont sponsorisés (locaux, argent, temps de organisateurs) et non organisés par des SSII.

  • Tu as raison de l’avoir rappelé Christophe!
    Il faut noter aussi que par exemple, le ParisJUG qui n’a des sponsors que depuis peu, est globalement déficitaire. Ce sont des particuliers qui y mettent de leur poche (mais je l’espère rentrera dans ses frais sous peu).