Archive

Articles taggués ‘DDD’

Seconde édition de la conférence NCrafts, soutenue par Viseo

NCraftsNCrafts est une conférence indépendante traitant du développement en technologies Microsoft … et aussi de sujets plus transversaux gravitant autour du Software Craftsmanship (la passion & la fierté de développer !).

Pour cette seconde édition qui aura lieu les 21 et 22 mai 2015 à Paris, Viseo soutient la conférence en étant Gold Sponsor et partenaire formation.

Si vous aimez le mouvement ALT.NET et les valeurs qu’il porte, vous allez adorer NCrafts qui en est une continuité encore plus ambitieuse, avec deux jours de conférences menées par des speakers de renom  : Hadi HARIRI, Mark SEEMAN, Laurent BOSSAVIT, Tomasz JASKULA, pour n’en citer que quelques uns.

… et aussi un jour de workshop pour rendre les choses encore plus concrètes ! Si vous recherchez un point de vue plus indépendant que les conférences éditeurs, vous allez également aimer !

Si les architectures avancées , les tendances naissantes dans les pratiques de développement vous font saliver, vous êtes les bienvenus à cette conférence … où vous pourrez aussi rencontrer les experts Microsoft de Viseo à notre stand dans l’espace sponsoring !

Retrouvez toutes les infos sur la conférence sur http://ncrafts.io/

En tant qu’organisme de formation agréé et partenaire de la conférence, nous pouvons vous accompagner pour vous faire participer via le budget formation de votre entreprise ! Prenez contact par email : formation@ncrafts.io

BDD – Spécifications éxécutables à Grenoble

Le premier atelier autour de l’approche BDD (Behavior Driven Development) organisé par le CARA (Club Agile Rhône Alpes) s’est déroulé Jeudi 9 février dernier à Grenoble dans les locaux d’Orange Labs.

Une bonne vingtaine de participants ont eu la chance de pouvoir profiter d’un tel événement dont l’organisation était parfaitement maîtrisée. L’assemblée se composait essentiellement de personnes familières des méthodes agiles et à peu près équitablement réparties entre product owners et développeurs.

Tout d’abord quelques mots sur le concept…
Dans la droite ligne du « manifeste agile« , BDD est une méthode de développement par les tests qui privilégie la collaboration active entre tous les acteurs d’un projet et la recherche de feedback rapide.
Cette approche est à la frontière entre le TDD ( unit Tests Driven Development) et l’ATDD (Acceptance Test Driven Development) centré sur les « user stories » basées le modèle :

En tant que [rôle] je veux [fonctionnalité] dans le but de [bénéfice]
As a … I want … so that …

Les tests BDD sont quant à eux, formulés en tant que scénario (exemple concret) selon le modèle suivant :

Etant donné [un contexte], quand [un événement se produit], alors [vérification du résultat attendu].
Given … when … then …

Les tests BDD peuvent être, en quelque sorte, comparés à des tests unitaires formulés dans un langage (associé à du code exécutable) compréhensible par tout membre du projet non technique.
Un vocabulaire commun et métier se profile alors entre MOA et MOE dénommé « langage omniprésent » que cherche également à mettre en valeur l’approche DDD (Domain Driven Design). Ces tests sont bien évidement inclus dans la chaîne d’exécution de la plate-forme d’intégration continue.

Concernant le déroulement de la journée, la matinée a donné l’occasion de faire naître un échange fourni et plutôt positif sur la base de retour d’expérience dans la mise en œuvre de BDD au sein des différentes entreprises présentes.
Divers workshops ont pris le relais l’après midi autour des propositions de sujet apportées par les participants. Chacun à pu avoir l’occasion de réfléchir sur des questions telles que : Un product owner doit il être technique ? Quels sont les tests dont la nature est plutôt proche de BDD ou de TDD ? mais également de participer à des présentations de framework comme Cucumber, RobotFramework et SpecFlow ou encore à des jeux de mise en situation de rédaction de tests.
La gestion (indexation, recherche, génération de document) de l’ensemble des tests constituant ainsi les spécifications fonctionnelles du produit semble souffrir pour le moment du manque d’outils adaptés.

A noter également la présence de Laurent Bossavit venu prendre part aux débats et nous informer de l’éventuelle mise en place de master classes BDD au travers de l’institut agile.

Le BDD semble pour le moment cantonné à un groupe d’early adopters et les organisateurs de cette journée se sont pris à rêver de la naissance d’une communauté BDD suite à cette événement. Maintenant que la dynamique est lancée, d’autres sessions devraient venir confirmer cet engouement dans les prochains mois, avec qui sait, peut être un prochain coding dojo BDD attirant non seulement des développeurs mais autant de product owners ?

Affaire à suivre…

1ère soirée du Domain Driven Design Users’ Group

LogoDDDFR_thumb

Cet article est un résumé de la première soirée du Domain Driven Design Users’ Group Paris (lancé le 17 février dernier), avec une présentation de Greg Young sur le « Command and Query Responsability Segregation ».
Greg Young commence à nous présenter une architecture très classique dans les développements actuels.

GregYoung1
L’ensemble de cette architecture se base sur une omniprésence de Data Transfert Objects sur l’ensemble des couches. Le comportement de l’application se retrouve dans le client. La montée en charge de l’application est très vite reportée sur la base de données. De plus on arrive très vite à parler avec des verbes techniques (Request DTO, Send DTO). Il n’y pas de modèle du domaine.

GregYoung2GregYoung3

La première étape est de faire la transition entre les deux schémas ci-dessus. Le client ne doit plus travailler uniquement avec des DTOs.
Il doit communiquer au client avec le serveur à travers des commandes. Le service applicatif gère l’objet du domaine.
Cet objet encapsule son état et offre des comportements. On peut ainsi remettre en place les cas d’utilisation ou « user stories ».
L’étape suivante consiste à séparer l’écriture de la lecture car ces deux chemins représentent deux cas d’utilisation différents, avec leurs propres contraintes et besoins.

GregYoung4

Dans le cas de la lecture, il est intéressant de remplacer l’accès à la base de données par un accès rapide et simple à la base de données (direct to DTO). Il reste maintenant le problème de la base de données. Avoir une seule base de données pour les deux cas d’utilisation est une solution simple dans le cas d’un système existant.
Cependant dans la majorité des applications (sauf peut-être certains systèmes financiers), il y a énormément plus de lecture que d’écriture. Il peut être alors très intéressant d’avoir deux bases de données avec un système de duplication maintenant la consistence des données entre les deux bases.

GregYoung5

La base de données en écriture peut être normalisée et la base en lecture dénormalisée.
C’est une très bonne solution quand on pense au problème des rapports qui sont faits sur les bases.

1ère soirée du Domain Driven Design Users’ Group Paris

LogoDDDFR_thumbAprès le lancement du Domain Driven Users’ Group Parisien avec Eric Evans le 17  février dernier,  Grégory Weinbach et Jérémie Grodziski organisent une 1ère rencontre le 3 mars à 19h,  à la Cantine.

La réunion se déroulera en deux parties : une présentation de Greg Young suivie d’un « Design Dojo » (atelier pratique).

Inscriptions obligatoires (places limitées).

Cette réunion est sponsorisée par Objet Direct et Zenika.

L’inscription au groupe est gratuite !

Lancement du Domain Driven Design Users’ Group Paris

LogoDDDFR Je (Grégory Weinbach) m’associe avec un autre féru de modélisation de Domaine, Jérémie Grodziski, pour initier un groupe d’utilisateurs du Domain Driven Design sur Paris.

Le Domain Driven Design (DDD) est une approche de la conception de logiciel dont les principes fondateurs sont :

  • Le point d’attention principal doit être le domaine et sa logique,
  • La conception de domaine complexe doit être basée sur un modèle.

Le Domain Driven Design n’est pas une technologie ni une méthodologie. C’est une manière de penser et un ensemble de priorités, dont l’objectif est d’accélérer la réalisation des projets qui gèrent des domaines complexes.

L’idée est de faire vivre une communauté, d’échanger sur le sujet, et en particulier de partager des retours d’expérience concrets.

Une rencontre sera organisée tous les deux mois, associée à un atelier ou à une présentation plus formelle.

Le lancement officiel du groupe se fera à l’occasion de la venue en France d’Eric Evans, créateur et pape du DDD lors d’une conférence gratuite (inscription obligatoire) qu’il animera le 17 février sur les “Modèles en action”.

L’inscription au groupe est gratuite. Un site plus complet sera bientôt disponible sur le sujet.

Longue vie au DDDUG (prononcez Didideug) Paris !

Eric Evans au Paris JUG

Merci à Mathieu qui m’a donné l’info.

Un événement à ne pas manquer à Paris : la venue en France de Eric Evans.
Recevez en direct la parole du créateur du Domain Driven Design : le paris JUG organise une soirée exceptionnelle lundi soir prochain.
A ne manquer sous aucun prétexte : en plus c’est gratuit !

Franchement, je pense que son propos est exactement dans la ligne stratégique d’Objet Direct : à mi chemin entre la MOA et le développement, il propose des solutions pour adresser  le problème le plus important dans le développement d’applications informatique : comment gérer la complexité métier.

Pour les novices, il existe un résumé de son livre sur InfoQ.

Pour les gens intéressés j’ai animé en avril, un séminaire interne AMOA sur le sujet à Paris. Je peux le réorganiser à la demande.

Pour ceux qui veulent aller plus loin :
http://www.domaindrivendesign.org
http://www.domainlanguage.com