Speaker

Dorra Bartaguiz

Dorra Bartaguiz

CTO at Arolla

CTO - Arolla

Actions

Dorra is CTO of Arolla and co-author of "Software Craft" (Dunod editions), editor-in-Chief of N°245 (special edition 100% femal of Programmez! a french magazin). She spent 17 years trying to apply best praticies in her and others code. She love sharing her knowledge via articles or conferences and meetups. She also taught at an engineering school in Paris for years.

Dorra est CTO d'Arolla, co-auteure du livre Software Craft (édition Dunod).
Elle est passionnée par le développement et les bonnes pratiques. Elle partage son savoir-faire en publiant des articles et en animant des conférences et meetups.
Elle accompagne des équipes pour monter en compétence sur les sujets crafts. Elle a aussi enseigné dans une école d’ingénieurs à Paris.

Rendons le DDD aux devs !

Introduit il y a un peu plus de 20 ans, le Domain-Driven Design (DDD) reste un sujet sur lequel il est difficile de se sentir à l'aise en tant que dev, et qui semble trop souvent réservé à une élite d'architectes au sein des cercles de pouvoir d'une direction informatique. Cependant, c'est dans la relation directe avec le code que le DDD prend tout son sens!
Dans cette université, nous vous proposons quelques pratiques de code ciblées pour faire ressortir la saveur métier de votre code. En partant d'un code existant, nous vous guiderons pas à pas à travers des refactorings simples pour mettre en lumière la logique métier propre au DDD. Vous serez étonné.e de constater à quel point on peut appliquer le DDD de façon concrète et pratique !

Les Métriques d'Architecture Logicielle et l'Agilité : Quel est le Rapport ?

Le choix de l'architecture logicielle joue un rôle crucial dans la performance, la maintenabilité et l'évolution des systèmes. Dans un contexte agile, où les changements fréquents et l'adaptation rapide sont essentiels, il est important de comprendre comment les métriques d'architecture logicielle peuvent soutenir et renforcer l'agilité. Je vous invite à explorer le lien entre les métriques d'architecture et l'agilité, en démontrant comment une architecture bien mesurée et gérée peut favoriser un développement agile efficace. Nous examinerons divers types de métriques de qualité logicielle, les métriques DORA et l'index de maturité de modularité (MMI - Modularity Maturity Index) pour voir comment ils peuvent être utilisés au quotidien pour améliorer la qualité logicielle, faciliter la prise de décision et assurer que l'architecture supporte la rapidité et la flexibilité nécessaires dans les cycles de développement itératifs.

Improving feature flip implementation to achieve flow

You might be using feature flipping in your projects and consider this technique indispensable. However, developers often face frustration when managing the myriad combinations of feature flips, especially as projects evolve. This complexity can make feature flipping hard to maintain and even hated by developers. The code is full with invasive if/else statements, with no time to clean up obsolete feature flips.
In this talk, I will present alternatives to traditional feature flipping. Depending on the context, we will explore solutions involving work organization, prioritization, and design techniques such as legacy management strategies (e.g., the strangler application pattern or branch by abstraction), circuit breakers, and even Domain-Driven Design.

GreenIT: Measure to Make Your Architecture Greener While Staying Resilient

If GreenIT is or is about to become a priority for your organization, measuring energy consumption is the first step. But how do you navigate the available approaches and tools? What should you measure in terms of hardware, software, data center usage, and network—especially in the cloud? And most importantly, what steps should you take afterward to reduce your footprint?

In this session, we will introduce tools like Scaphandre, Fruggr, and Ecoindex, highlighting their strengths and limitations. We will then showcase concrete examples of eco-design by combining Infrastructure as Code (IaC), dynamic scaling, and stateless services.
We will also share how to integrate these practices into an agile framework while fostering a collective and sustainable dynamic within teams.

You will leave with a clearer understanding of GreenIT for development teams and learn how to evolve your architecture to reduce its environmental footprint without compromising its robustness!

GreenIT : Mesurer, pour rendre votre architecture plus écologique tout en restant résiliente

Si le GreenIT est ou va devenir un sujet pour votre organisation, la mesure de consommation énergétique est la première étape. Mais comment se repérer parmi les approches et outils disponibles ? Quoi mesurer au niveau matériel, logiciel, usage data center et réseau, et ce même dans le cloud ? Et surtout, que faire ensuite pour améliorer notre empreinte ?

Dans cette session nous présenterons des outils comme Scaphandre, Fruggr et Ecoindex, avec leurs avantages et limites. Puis nous montrerons des exemples concrets d’éco-conception en combinant Infrastructure as Code (IaC), scaling dynamique, sur des services stateless.
Nous vous présenterons une manière d'intégrer ces pratiques dans une démarche agile, tout en favorisant une dynamique collective et durable au sein des équipes.

Vous aurez ainsi une meilleure vision du sujet GreenIT pour les équipes de développement, et saurez comment faire évoluer votre architecture pour réduire son empreinte environnementale sans rogner sur sa robustesse !

Devs, let's reclaim DDD!

Although it is close to celebrating its 20th birthday, and despite many popularization attempts, Domain-Driven Design (DDD) remains a subject on which it is difficult to feel comfortable as a developer, and that seems too often reserved for an elite of architects inside the circles of power of an IT department. However, it is in the direct relationship to the code that DDD takes on its full meaning!
In this workshop, we offer some specific code practices to help you express more business flavor in your code. Step by step, starting from an existing and concrete code base, you will discover how a series of simple refactorings can bring out the business reasoning at the heart of DDD, and you will be surprised to say that you have finally really understood and practiced DDD!

Combining the functional and object paradigms towards a better code

In object-oriented programming, we write code by paying attention to encapsulation and polymorphism. To make the code easier to maintain, we follow SOLID principles, we isolate the infrastructure code from that of the domain, and we apply tactical patterns from Domain Driven Design (DDD). Yet, if we take a closer look, we can enhance our code's maintainability by incorporating basic functional programming concepts like pure functions, immutability, and idempotence. Let's see how functional programming concepts can be applied with object-oriented languages.

Can we benefit from generative AI when we are crafters?

On one hand, Gen AI generates the entire code from a need expressed as a prompt. On the other hand, Craft encourages us to seek quality by using practices like TDD, BDD... I invite you to see how to unite the two worlds, using Gen AI tool, without forgetting the best practices promoted by the software craft.
We will see via an experience report how to use copilot to improve our daily lives as a team. How do we find special cases during example mapping? How do we practice TDD using Copilot?

Amélirer vos patterns tactiques de DDD grâce aux Object Calisthenics

Après vous être plongé dans le livre bleu et son homologue rouge, avoir assisté à des conférences axées sur le DDD et appliqué des patterns tactiques, une question cruciale demeure : comment s'assurer que mon design est efficace ? Les patterns tactiques dans le Domain-Driven Design (DDD) servent de principes directeurs pour créer des modèles de domaine clairs et gérables. Cependant, pour réussir avec ces patterns, des conseils supplémentaires sont nécessaires.
Un ensemble de contraintes initialement conçu à des fins de formation s'aligne très bien avec la mise en œuvre efficace des patterns tactiques de DDD, offrant une approche plus « mécanique ». Explorons ensemble comment les Object Calisthenics peuvent améliorer la conception de vos patterns tactiques, offrant une aide concrète à celles et ceux qui se lancent pour la première fois dans DDD !

Améliorer l'implémentation du feature flip pour réussir à avoir du flow

Vous utilisez peut-être le feature flipping dans vos projets et vous considérez cette technique indispensable. Mais les devs s'arrachent les cheveux à la moindre évolution avec toutes les combinaisons de feature flips à gérer. Tout ça combiné fait que le feature flipping devient dur à maintenir voire détesté par les devs. On finit par avoir des if/else envahissants dans le code, sans prendre le temps de faire le ménage pour éliminer les feature flips devenus inutiles.
Je vous propose d'autres alternatives au feature flipping traditionnel. Selon le contexte, on verra des alternatives touchant l'organisation du travail, la priorisation des besoins et des solutions de design comme des techniques de gestion de legacy (strangler application pattern ou branch by abstraction) ou le circuit breaker voire même Domain Driven Design.

Abstract Classes Are Dead (because of practices like TDD)

It's been years now since I last wrote an abstract class in my code, and when I tried to understand the reason I was surprised it was because of Test-Driven Development (TDD)! The process of TDD is shaping my code in a way that favors composition.

In this session, refactoring a simple piece of code, you'll discover how your thought process is influenced by the practices (TDD, Living Documentation, refactoring to Design Patterns) which in turn drives your design.

Sortons de la pyramide pour construire une stratégie de test

Vous vous sentez à l'étroit dans la pyramide de tests, sans vision globale et sans stratégie de test. Venez explorer d'autres types de tests pour oser sortir de la pyramide. Je vous emmène à l'exploration des agile testing quadrants pour visiter le monde merveilleux des tests et construire une stratégie de test efficace et efficiente que ce soit dans un nouvel environnement ou dans un environnement legacy.

La living documentation au service de l'agilité

Avouons-le, la documentation est souvent une source de frustration pour les équipes agiles. Est-elle à jour ? Est-elle exacte ? N'est-elle pas obsolète ? …
Je vous invite via cette présentation d'oublier la documentation classique et découvrir ou redécouvrir la documentation vivante (living doc) et comment elle contribue à l'agilité en favorisant la communication, la collaboration, l'adaptabilité et la transparence au sein d'une équipe. Ainsi elle aide à créer un environnement propice où les équipes peuvent réagir rapidement aux changements et de livrer de la valeur de manière continue.

Elevating Tactical DDD Patterns through Object Calisthenics

After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!

Devs, let's reclaim DDD!

(This is a hands-on lab with limited capacity)

Although it is close to celebrating its 20th birthday, and despite many popularization attempts, Domain-Driven Design (DDD) remains a subject on which it is difficult to feel comfortable as a developer, and that seems too often reserved for an elite of architects inside the circles of power of an IT department. However, it is in the direct relationship to the code that DDD takes on its full meaning!
In this workshop, we offer some specific code practices to help you express more business flavor in your code. Step by step, starting from an existing and concrete code base, you will discover how a series of simple refactorings can bring out the business reasoning at the heart of DDD, and you will be surprised to say that you have finally really understood and practiced DDD!

Domain-Driven Design Europe 2024 Sessionize Event

May 2024 Amsterdam, The Netherlands

ParisTestConf 2023 Sessionize Event

October 2023 Paris, France

Agile En Seine 2023 Sessionize Event

September 2023 Paris, France

Domain-Driven Design Europe 2023 Sessionize Event

June 2023 Amsterdam, The Netherlands

Dorra Bartaguiz

CTO at Arolla

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top