Virtual Domain-driven design

PODCAST · technology

Virtual Domain-driven design

If you don't live near an active Domain Driven Design meetup, or just want to get more in-depth knowledge of DDD, please join this vast growing community! Anyone is invited here.We strive to create a community of like-minded people eager to dive more into Domain Driven Design. We are going to organise panel discussions, community talks and more.So feel free to join us!

  1. 61

    Critically Engaging with Models a conversation with Rebecca

    In this session, we are joined by Rebecca Wirfs-Brock, who will first present a short talk on their essay Critically Engaging With Models followed by a group discussion. It would be great if you could read their essay beforehand. If you want to support their writing and read more, you can buy their book, Design and Reality: Essays on Software DesignModels, whether for a software system, a development process, diseases, political systems, or otherwise, are a way to look at (a part of) the world. They make a choice about what is important, what categories we classify things in, what we see, what’s invisible, what’s valued, or even what’s valid. They are reductionist, that is, they only show a selection of the subject they’re describing. And they are biased: They implicitly reflect the assumptions, constraints, and values of the model’s author. Most of the time, when you adopt a model created by someone else, you assimilate it into your world view without much thought. You acquire a new way of seeing something. But when you do that, you may not understand the model’s limitations. However, you can choose to look at someone’s model more intentionally. We will share and discuss some tools for critically evaluating any models that come your way. You can assess whether this model fits your needs. If you’re looking at a model for the first time, you can use that fresh perspective to see what the model includes and what it leaves out. Models are a powerful lens for perceiving a subject, and you should be deliberate when wielding them.

  2. 60

    Patterns of BDD Automation - a Fireside chat with Seb Rose and Gáspár Nagy

    Automation is a frequently discussed topic in the development and test communities - and has been for many years. Similarly, patterns have been part of community discourse ever since the Design Patterns book was published in 1994. It appears to us that both suffer from periodic bursts of hype and long stretches of neglect.While working on the Automation Patterns portion of our new book Effective Behavior-Driven Development, we have had the chance to explore the nuances of context specific automation and pattern forms. Our knowledge of BDD-specific automation styles comes from many years of practical application in industry. However, our experience with patterns has, up until this point, been mainly one of consumption. That changed when we took a subset of our BDD automation patterns to this year’s EuroPLoP pattern workshops — and got a refreshed view of pattern authoring.We’re happy to share the insights gained and challenges remaining in a conversation with VirtualDDD.About the speakersSeb has been a consultant, coach, designer, author and developer for over 40 years. He has been involved in the full development lifecycle with experience that ranges from architecture to support, from C to Visual Basic.During his career, he has worked for companies large (e.g. IBM, Amazon) and small, and has extensive experience of failed projects. He's now an independent software consultant and author, promoting effective ways of working to the software development and testing community.Regular speaker at conferences and occasional contributor to software journals. Co-author of "Effective Behaviour Driven Development" (Manning), lead author of “The Cucumber for Java Book” (Pragmatic Programmers), and contributing author to “97 Things Every Programmer Should Know” (O’Reilly).He blogs at claysnow.co.uk and socialises as [email protected]áspár Nagy, the creator of SpecFlow & Reqnroll, bringing over 20 years of experience as a coach, trainer and test automation expert nowadays through his company, called Spec Solutions. He is the co-author of the books "Discovery: Explore behaviour using examples",  "Formulation: Document examples with Given/When/Then" and "Effective Behavior-Driven Development" and also leads SpecSync, aiding teams in test traceability with Azure DevOps and Jira. He is active in the open-source community through leading the Reqnroll project. Gáspár shares his insights at conferences, emphasizing his commitment to helping teams implement Behavior-Driven Development (BDD).

  3. 59

    See the Forest for the Trees - Trond Hjorteland

    When developing your software products, be it coding, testing, user experience, product management, or all the other elements required to solve a customer need, do you understand what the rest of the people do to make that happen? What about the other people in your organisation, maybe working on different products or even other legs of the customer journey like sales, customer service, billing, and operations? Do you see how you fit into the big picture, and what your contribution is to the company vision and strategy? I suspect most of us neither have the time nor the opportunity to get a wider view, focusing on our little part of the bigger system instead and making the best of that.We know that a system is supposed to be more than the sum of its parts, but how can we make sure that the sum is positive? That is hard when we cannot see the forest for the trees.Let us employ systems thinking to give us a holistic perspective, by adding synthesis to our analysis skills so that we can explore and understand emergence. We all know reductionism well, working on parts in isolation but holism is required to provide important insights and knowledge to handle the complexity in domains we normally work in – especially where people are involved. Only then can we build sustainable and adaptive software systems.This is an introduction to systems thinking and its importance when dealing with complexity.About TrondSenior IT Consultant and sociotechnical practitioner.Trond is an IT architect and open sociotechnical systems practitioner with extensive experience working with large, complex, and business-critical systems in industries such as telecom, media, TV, and the public sector. His main interests are service-orientation, domain-driven design, event-driven architectures, and open sociotechnical systems. His mantra: Great solutions emerge from collaborative sense-making and design.

  4. 58

    Slow down to speed up your decision-making - Gien Verschatse

    Software teams often reach for Kubernetes or similar prepackaged answers as default solutions to complex problems. But Kubernetes isn’t a strategy—it’s a tool. Using it prematurely can bury your team in unnecessary complexity and unwanted consequences. These ‘default’ answers reflect a deeper issue: we don’t understand the problem we're solving.Through real-world examples, we’ll discuss how to think critically about the way decisions are being made in your company. We’ll introduce concepts like participation theater—when people perform the rituals of decision-making without making real decisions—alongside problem restatement as a tool to uncover the real challenge at hand. We’ll also examine different types of decisions (reactive vs. proactive, reversible vs. irreversible) and why recognizing them early changes how you should approach them.This talk is a call to slow down to speed up your decision-making. Whether you're an engineer, architect, or tech lead, this session will challenge you to pause before reaching for Kubernetes (or other technologies) and instead ask: what problem am I really trying to solve?About GienGien Verschatse is an experienced consultant and software engineer that specialises in domain modelling and software architecture. She has experience in many domains such as the biotech industry, where shespecialised in DNA building. She's fluent in both object-oriented and functional programming, mostly in .NET. As a Domain-Driven Design practitioner, she always looks to bridge the gaps between experts, users, and engineers.Gien is studying Computer Science at the OU in the Netherlands. As a side interest, she's researching the science of decision-making strategies, to help teams improve how they make technical and organisational decisions. She shares her knowledge by speaking at international conferences.And when she is not doing all that, you'll find her on the sofa, reading a book and sipping coffee.

  5. 57

    The paradox or polarity between decentralised and centralised decision-making

    When it comes to giving software teams the autonomy to make their own decisions, trust can be a delicate thing. This is particularly true when those decisions can have a wider impact on other teams and the overall system. If organizations are shifting towards decentralized decision-making, how do they replace the safety net of authority with trust through practices that put accountability closer to where the work happens?In this session, we'll explore the paradox between centralized and decentralized decision-making. We'll discuss how a centralized approach aims to prevent mistakes but can also block teams from developing business-centric solutions, while a decentralized approach can lead to more sustainable decisions and empowered teams.This will be an interactive, 1-2-all session. Andrea and Kenny will each present for ten minutes on their practices and experiences, followed by a ten-minute dialogue. The session will then open up to everyone for a broader conversation. We'll use a Miro board for sense-making exercises to help us model and explore these ideas together.

  6. 56

    Escaping the Enshittification Trap: Systems Thinking for Sustainable Quality

    In this talk, we’ll explore quality as an emergent property of our teams, tools, and processes—not just something we test at the end. We’ll look at challenges like speed to market and enshittification(1), and how they impact our approach to quality.We’ll introduce practical ways to think about quality through attributes like testability, observability, and recoverability. Most importantly, we’ll explore why a quality strategy—not just a testing strategy—is key to building better products.(1) “Enshittification is a pattern in which two-sided online products and services decline in quality over time” by Cory Doctorow sourceAbout Anne-Marie CharrettI’m an electronic engineer by trade, but software testing found me while I was working on Layer 4 protocols—and I’ve been hooked ever since. In the past, I taught software testing as an adjunct professor at UTS. These days, I work in engineering leadership, consult with teams on quality I bring a systems thinking lens to building quality in products, shaped by years working across startups, enterprises, and tech companies. I also wrote The Quality Coach’s Handbook, which you can find on Amazon or Leanpub.

  7. 55

    How Autonomy Saved One of Spotify’s Most Loved Features From Being Killed

    "I would have killed that if it was just me, 100%,” said Spotify founder and CEO Daniel Ek about Discover Weekly, a feature that would become one of Spotify’s most loved product features, almost a brand in itself.Designers and senior engineers were equally skeptical, but the team was still able to ship the feature.In this talk, you’ll learn how Spotify’s organisational culture of Agile management and autonomous teams enables innovation, using the Discover Weekly feature as an example.The speakerJoakim Sundén is a founding partner of Better Product Work,where he helps visionary leaders challenge the conventional way ofbuilding products. From 2011 to 2017, he worked as a Senior Agile Coachat Spotify, where he was part of a team collaborating with the CTO todevelop the company’s approach to customer-focused product developmentat scale. This model would later become world-famous as ‘the SpotifyModel’ of Tribes, Squads, Chapters, and Guilds. He now assists leadersin transforming and improving their organizations into models whereemployees are empowered to create innovative solutions that not onlycustomers love but also drive business success.

  8. 54

    The Innovation of Cumulative Cultures and Developer Problem-Solving

    Did you know that crows are better than toddlers at generating novel solutions? It's true! In the earliest days of childhood, around the globe scientists have documented that human cognition struggles to generate novel solutions. But we are adept at imitation, transmitting and teaching the solutions that we see others put into practice. What does this have to do with software, and innovation, and the cultures we want to create for the communities we love? I'm a psychologist fascinated by cycles of innovation in developer communities, and I think a simple reframe lights the way forward for our industry: in this talk, rather than focusing on what drives individual developer productivity, together we’re going to focus on the science of what drives developers’ collaborative problem-solving. We'll dive into the cognitive architecture of problem-solving, as well as what I've learned from leading empirical research with thousands of developers.Dr Cat HicksCat Hicks is a psychologist for software teams and defender of the mismeasured. She is the author of the Developer Thriving framework, the AI Skill Threat framework, and the VP of Research at Pluralsight. Cat is the founder of the Developer Success Lab, an open science research lab that creates empirical evidence about how organisations and individuals can achieve sustainable, resilient innovation in technology and create more well-being for technologists. Cat is also the founder of Catharsis Consulting, a scientific consultancy that connects organisations to human-centred evidence strategies. Cat holds a Ph.D. in Quantitative Experimental Psychology from UC San Diego, serves on the Advisory Council of the University of San Diego Center for Digital Civil Society, and is the author of a forthcoming book on the psychology of software teams.

  9. 53

    Hazel Weakly - Abstractions as Bridges

    Have you ever wondered about what makes a good abstraction vs a bad one? Do you want to examine potential reasons why efforts to develop abstractions at a company or in a project take hold, and some don't? Or what it takes to develop an abstraction that reaches beyond the technical corner of your company or project and becomes something that helps actually shape how you think about the entire problem? Understanding the process of developing abstractions, especially as a leader, is really about understanding the process of grief. Even if you get to build the abstraction, it won't be the one you pictured, or envisioned. You're going to need to take the seeds you've born, carefully curated, and lovingly built up over time... And watch them die. To build an abstraction is to hold the heart of your humanity in your hands. Plant your soul into the ground, and be reborn. In this session, I'm going to introduce my thoughts on abstraction, how it works, why it sometimes works and why it sometimes doesn't, and how one can actually take an abstraction and flesh it out to the point where it takes on a life of its own. With that, you should be able to have a better grasp on how ideas can take root in a way that bridges people and domains together. Hazel Weakly Hazel spends her days working on building out teams of humans as well as the infrastructure, systems, automation, and tooling to make life better for others. She’s worked at a variety of companies, across a wide range of tech, and knows that the hardest problems to solve are the social ones. Hazel currently serves as a Director on the board of the Haskell Foundation, as a Fellow of the Nivenly Foundation, and is fondly known as the Infrastructure Witch of Hachyderm (a popular Mastodon instance). She also created the first official Haskell “setup” Github Action and helped turn it into an active community-maintained project. She enjoys traveling to speak at conferences, appearing on podcasts, mentoring others, and sharing what she’s learned with the world. One of her favorite things is watching someone light up when they understand something for the first time, and a life goal of hers is to help as many people as possible experience that joy. She also loves shooting pool and going swing dancing, both as a leader and a follower.

  10. 52

    Systems Thinking Intro with Lorraine Steyn

    Systems thinking is the macro behaviour that we must understand in analyzing our world. A system always produces what it is designed to do, even if that isn't at all what we meant it to do! Systems are self-maintaining, and contain balancing and/or reinforcing feedback loops. We'll look at how these work, and what happens when they fail. You'll see how to apply systems thinking to the systems that are all around us. This is an introductory talk to the world of Systems Thinking, condensed into 45 mins plus time for questions at the end.

  11. 51

    Managing Domain Knowledge with Chris Simon

    From example mapping, to BDD, to DDD practices like event storming and domain storytelling, we're fortunate to have a wide range of tools for collaboratively building domain knowledge and creating models of those domains in software. One gap that many organisations experience is the management of that domain knowledge over time. Domains evolve. Team members learn new aspects of the domain, or invent more useful models. Team members leave - taking knowledge with them, and new members join but never get the chance to participate in foundational collaborative modelling sessions. Living documentation is a set of practices to help ensure institutional knowledge is reliable, collaborative and low-effort. In this session, Chris will do some live domain modelling with volunteers from the audience to demonstrate a new approach to capturing domain knowledge as living documentation, and how to use open source tools like Contextive (https://contextive.tech) to help ensure the knowledge is absorbed, maintained, and relevant over time.

  12. 50

    Soft Skills for Technical Professionals by Jacqui Read

    The strongest tech skills don’t necessarily guarantee success. To get the best from those around you—and maximize your own influence—you need to boost your tech skills with soft skills. Luckily, small changes in the way you work can produce big results. In this free webinar, Jacqui Read, author of Communication Patterns: A Guide for Developers and Architects, takes you on a whistle-stop tour of patterns and techniques to improve your visual, verbal, nonverbal, written, knowledge, and remote communication skills. You’ll learn communication soft skills tuned specifically to a technical audience, which you can easily integrate into your existing workflows for quick and transformative results. You’ll learn how to:     Use soft skills to boost your technical skills     Explore visual, nonverbal, written, knowledge, and remote communication skills     Integrate communication soft skills into your everyday workflow for transformative results  

  13. 49

    [Fireside chat] orchestration and choreography with Laila Bougria & Udi Dahan

    When building event-driven architectures, one of the challenges we face is coordinating work across many services. How do we implement complex data flows or complex business transactions that consist of multiple asynchronously executed steps? Luckily, there are patterns that can help us manage this complexity: orchestration and choreography. Join us in this fireside chat with Udi Dahan and Laila Bougria as we discuss how each pattern works, the pros and cons of each, and the trade-offs involved when choosing one over the other in specific contexts. See you there!

  14. 48

    Exploring Integrative Leadership Keynote - Adaptive Leadership: Mobilizing the whole Ebenezer Ikonne

    As systemic complexity increases around us, many technologists are redefining “leadership.” What is technical leadership when good decision-making depends on collective, cross-functional thinking? How is collaborative modeling a form of leadership? What type of leadership does a systems architect provide? Eb Ikonne, author of “Becoming a Leader in Product Development: An Evidence-Based Guide to the Essentials”, opened our open space event with a keynote. Eb will create the context for our discussions, describing adaptive leadership as something we can practice and a skill we can cultivate. This is the extract of that keynote.

  15. 47

    (Architectural) Decision Making Gathering Keynote - architecture over architects

    As the relational complexity of software increases, we need, more than ever, smart architecture. Domain-aligned, team-decoupling, cohesiveness-driving, constantly evolving architecture has a massive positive impact. To design systems, we need to evolve the role of “architect” away from the dualistic most-experienced implementor vs ivory tower strategist.  Architecture is a technology-agnostic skillset. You practice it regardless of which tools or programming language you work with. Architecture practice is a solitary, intra-group, and inter-group activity. We practice it within the human system, when we collaboratively design patterns and relationships, empower decision making and construct cross-functional feedback loops. In this talk, we explore: * “What is an architectural decision?” (The answers might surprise you).  * How do we work effectively individually, intra-team, and inter-team to make them? * What is the “advice process” and what has it taught us?

  16. 46

    Sharing your (Systems) knowledge with Bytesize Architecture Sessions with Andrea

    Does your team suffer from: Inconsistent views of your systems? Producing incohesive solutions? Ineffective architecture practices and tools? Introducing Bytesize Architecture Sessions! Bytesize Sessions are a workshop format that enables collaborative and iterative knowledge sharing. This talk will enable you to run Bytesize Sessions resulting in the following benefits: Improved systems thinking. Enriching collaboration within the team. Understanding architecture practices and tools in a safe environment. A feedback loop controlled by the team produces better documentation across sessions. Revealing the Bermuda Triangles! About Andrea Magnorsky Andrea is a professional software developer with over 20 years of experience. These days she is a consultant / contractor focusing on strongly typed functional languages and software architecture . Andrea founded Kats Conf, Global GameCraft and many other communities. She also co-founded BatCat Games, a PC and Console game development company in Ireland.  

  17. 45

    Effective team collaboration and why we need it for modern product experiences?

    oday most software products are highly networked and distributed solutions used by 1000s if not -10000s of people spread across the globe. To produce an experience that is intuitive and delivers a quality service worldwide, multi-culturally, and 24/7 across all time zones, you need a multi-disciplinary and diverse set of individuals i.e. a tailored team. Join us in this panel with: Dawn Ahukanna Jessica Kerr Ruth Malan Rebecca Wirfs-Brock Mathias Verraes Trond Hjorteland

  18. 44

    [Panel] Long term impact of architectural design decision

    There is a quote made famous by Ruth Malan from Grady Booch: "Architecture represents the significant design decisions that shape a system." And shaping a system takes time, and seeing the impact of these significant design decisions can take years after the changes have been done. And most of us are usually not there to reak the benefit, or worse, feel its pain. So in collaboration with D-EDGE we will have a panel of people that did experience and will discuss how architecture decisions shaped the system years after the change.    

  19. 43

    Design & Reality with Mathias Verraes

    Our models should be driven by the domain, but not constrained by what domain experts tell us. After all, the domain language is messy, organic, ambiguous, social, incomplete, and if it has any intentional design to it at all, it's not designed to be turned into software. Modelling is more than capturing requirements, it's the opportunity to create novel concepts. This talk will use real-world stories to invite you to discuss.

  20. 42

    Domain-Drinking Dialogues 2nd edition - 2021 Lean coffee

    In the last week of this year, we are closing another full year of virtual Domain-driven design meetups with the last meetup. So grab your drinks (tea, lemonade or anything you want!) and come join with your DDD questions to this lean coffee! We all post topics we want to discuss and together we will get into dialogues, so bring us your knowledge and DDD questions and see you then! Miro https://miro.com/app/board/uXjVOY0dIIk=/

  21. 41

    Open Sociotechnical Systems Thinking with Trond Hjorteland

      The term “sociotechnical” seems to have gotten a bit or renaissance lately, which is a great thing given all the positive impact it has had on many organisations and their workers around the world over the years. It also seems to have gotten some traction outside the academic circles this time after being developed and pushed from there mostly using action research since its humble beginning in the post-war British coal mines. It is an entry into systems thinking for many, with its idea about joint optimisation of both the technical and social aspects of an organisation. A common example is setting up the team topology to match the service architecture in an attempt to cater for negative effects of Conway’s law. This is all well and good, but if we think about it, viewing the modern organisation as a sociotechnical system is a bit of a tautology; all organisations have social and technical elements that people deal with on a daily basis. As with systems thinking, the value of sociotechnical system design is more about perspective and understanding rather than any specific outcome. There is so much more to sociotechnical design than DevOps and team setup that we need in order to cope in our increasingly complex and hazardous “digital coal mines.”

  22. 40

    [Talk] Fifty Ways to Scale Your Agile with Grady Booch

    Some will say that you shouldn't even try to tackle a system bigger than what a typical agile team can absorb; others will say that agile just doesn’t scale beyond the simplest of systems. Experience suggests that reality lives somewhere between these two extremes, but where, exactly, is the clear and present question. In this talk, we’ll first consider the dimensions of scale - complexity, risk, and time - and then explore the ways that agility works (and sometimes doesn’t). Along, the way, we’ll study contemporary approaches to scaling agile, and conclude with an examination of work yet to be done.

  23. 39

    [Open Discussion] Do we need software architects?

    Do Software architects have a bad name? Why? What are your expectations, what anti-patterns you experience? What are you thankful for from your architects? Should you have a software architect in the team, or between the teams? Changing the world starts with thinking and sharing the reasons. This podcast is the recording of our open discussion with the community.

  24. 38

    [Fireside chat] How Epistemic injustice impacts Domain Crunching with Cat Swetel

    Cat Swetel gave a brilliant Technologist's Introduction to Epistemic Injustice explaining "epistemic injustice"—what we know, how we know, and who gets to decide and influence our reality. There are two kinds of epistemic injustice: Testimonial injustice; When someone is ignored, or not believed, because of their sex, sexuality, gender presentation, race, or, broadly, because of their identity. Hermeneutical injustice; injustice related to how people interpret their lives. Join us in this session where Cat will do a short introduction on the topic, and after, we will talk about how this impact domain crunching. For instance, if we don't include software developers in requirements engineering, what is the impact? What if the software teams only allowed to build user stories and aren't part of the narrative for their building? And what about the exchange of narratives across the ecosystem, i.e. across domains. Do we have the hermeneutic resources to describe emergent behaviour across the system?

  25. 37

    [Fireside chat] Udi Dahan - Ask me Anything

    Join us in this special fireside chat with Udi Dahan answering all your questions spanning from Domain-Driven Design, Software Architecture from SOA, event-driven, CQRS, Large-scale distributed systems, Saga Patterns, Event sourcing, microservices and anything in between. Ask your questions upfront or during the session! You can also already engage and see the questions that are already asked at this Twitter thread: https://twitter.com/UdiDahan/status/1349302917648568321

  26. 36

    [Panel] Fostering autonomous teams with proper leadership culture

    Domain-Driven Design is a lot about collaborative modelling, understanding the user's needs collaboratively to design and implement the best fitting model. We want the teams to do this as autonomous as possible, getting fast feedback and new insights into improving that model. At the same time, they need to stay aligned with the company goals and strategy and other teams. To ensure this alignment, companies hire managers and architects for that task. But what decisions should be made centralized, and what decentralized? What part of managing should be autocratic, and what should be participatory? Join us in a dialogue with Ellis de Haan, Marc Burgauer, Andrew Harmel-Law and Trond Hjorteland. We will discuss everything concerning the culture around autonomous teams. Patterns of anarchy, command and control decision making, architects as a job, the long going discussion of 'do we really need a manager' and can leaders be managers? And dive into the stratified systems theory or "levels of work" by Elliot Jaques.

  27. 35

    [Panel] Relationship(s) between problem and solution space

    People wonder how distilling the Core with the Core, supportive and generic subdomains fit and what space. What concepts are in the problem space, and what is the solution? And what is a precise definition of problem and solution space? Join us in this session are a diverse group of people spanning multiple disciplines to look at how they see the relationship(s) between problem and solution space in IT. And hopefully, in the end, we can have a useful, consistent model of those relationships between problem and solution space, core, supportive, generics (sub)domains for the #DDDesign community.

  28. 34

    [Panel] Splitting systems towards bounded contexts and microservices

    There are many reasons to split up large-scale systems towards more modular, smaller services with their own model and language. You can decouple teams and give full autonomy of that service to a team. By decoupling services and teams you can handle changes to the domain faster, having a faster time to market. You decrease the cognitive load of the teams, empowering teams to truly understand the complexity of their shared models with domain experts. But how do we split up large-scale systems? What are the characteristics we can dissect a bounded context? How do we split towards a microservices architecture? We do not only have to deal with shifting terminology here but also different rates of change in the business. Join us in this Panel where we will hunt for design heuristics to split systems towards bounded contexts and microservices.

  29. 33

    Domain-Drinking Dialogues - 2020 ending Ask us anything party

    Just before all the holidays start we are closing this year virtual Domain-driven design meetups with the last meetup. So grab your drinks (tea, lemonade or anything you want!) and come join with your DDD questions to this Ask us anything party! We have invited several people from the community who will join an online fishbowl in a zoom webinar. You post your questions and we will discuss them.

  30. 32

    [Panel] What makes you a DDD'er?

    From twitter: https://twitter.com/mathiasverraes/status/1298665213978447873?s=20 Using collaborative modelling to build a shared understanding of your domain and use it to guide your design _is_ the philosophy behind DDD though. The rest is the principles, patterns, and practices. But perhaps just doing EventStorming does not actually make you a DDD'er, but what is? In today's panel, we will discuss with several people from the community what makes you a DDD'er? Joining us are: Emanuela Damiani Krisztina Hirth Mathias Verraes Jessica White Nick Tune

  31. 31

    TDD as a design tool with Dave Farley

    There has been a lot of fuzz around the topic of test-driven development; some find it useful; some don't see any value in it. You also have different flavours like Detroit being inside-out, or London going from the outside-in. And then you have people saying TDD is about testing or is it a design tool? In this session, we will talk with Dave Farley about all these topics, and especially how to use TDD as a design tool. Dave Farley is well known in the software community, especially being the co-author of the continuous delivery book. He is also a firm believer that Test-driven development is one of the core principles to do proper continuous delivery.

  32. 30

    Psychologic safety in remote collaboration with Gitte Klitgaard

    The recent COVID-19 pandemic forced us DDD practitioners to move our collaborative modelling efforts to the remote world. Within collaborative modelling, we want to share all the information we have, all the different perceptions, even if they might look weird, quirky or invalid at the start. Only then can we design and create enriched models to build sustainable and valuable software. The problem here is, people will only share all their information if there is psychological safety, and that is already hard in a physical session, let alone remote.

  33. 29

    Remote facilitation with Kirsten Clacey, Jay-Allen Morris and Jo Perold

    Collaboration in remote meetings doesn’t have to be difficult, learn how to make it effective, enjoyable and valuable. Join us for a panel discussion and see how we as a DDD community can improve our remote collaborative modelling sessions from Kirsten Clacey and Jay-Allen Morris, authors of The Remote Facilitator’s Pocket Guide and Jo Perold Coach and Trainer at Agile42 & keynote speaker at conferences.

  34. 28

    [Panel] Design better products with real cross-functional teams - Jutta & Maryse

    Too many products have been developed that serve one kind of client only. The reason is that the composition of the teams leads (subconsciously) to the development of products that serve only people that resemble the people in the team. One “famous” example is the soap dispenser that only works if your skin is white. If teams are really cross-functional and are resembling the diversity of the market, the products they’re creating are also better. Thus, if the whole team has the full business expertise, knows the market, reflects the full diversity of the clients, then it can even disrupt the market and isn’t waiting for some person (e.g. the Product Owner) to decide on priorities. With this real cross-functionality, the team can fully understand the company’s business and has a holistic view of it, knowing its contribution to the company’s value stream. Join us in a Panel dialogue with Jutta Eckstein and Maryse Meinen about that real cross-functional teams are an essential building block for implementing company-wide agility and the organization benefits by creating better and in a way more real products and by having more options when entering the war of talent.

  35. 27

    [Panel] What can we learn from open-source with Matteo Collina

    Thanks to Krisztina we will have Matteo Collina as a special guest on our next panel. Matteo is a long time Nodejs contributor and TSC member. Open-source software is a success story, and undoubtedly one, we can learn from. In OSS the clocks tick differently, but it is software built for users, to solve problems - both relatively unknowns factors at the beginning. So what can DDD developers for businesses learn from that experience: how to handle these uncertainties, how is the Ubiquitous Language developed in the Open source world? How do you do design in OSS? And many more questions!

  36. 26

    [Panel] One user to bind them all? Products, teams and bounded contexts

    In the last meetup, Krisztina found something Jessica said interesting to dive into: "We are talking in DDD about Bounded Contexts and independent teams and applications, but then we all coupled by having the same user." That statement led to an exciting dialogue by inviting Dawn: "It is not so much coupling at the user as that sounds as if the user has to fit into what has built but starting with the user in the centre or intersection of the various "contexts". If your context no longer aligns with the user, who are you problem-solving/building the solution for?" Joining us with Krisztina, Jessica and Dawn will be Manuel from the Book team topologies, and together we will explore heuristics to organise teams, and their interaction and design bounded context for fast flow, which each serve the same customer.

  37. 25

    #DDDDD Panel: Natural Boundaries with Krisztina, Evelyn, Nick and Alberto

    Finding the right boundaries of contexts is hard - implementing them can be even harder if the organisation does not change. But how can one change the organisation, how can one be sure that it changes in the right direction? There are signs, mostly perceived as a blocker but I see them as an enabler, as a pointer to the right boundaries. This idea combined with observing and measuring the value stream could lead to the right boundaries for teams and for code.

  38. 24

    Speaking truth to power: a foundational skillset

    As complexity increases, are you (too often) shouting into the wind? Do you see icebergs ahead yet fail to convince others to avoid them? Are your architecture-focused discussions more exhausting than productive? Does the accountant understand the value of your work? The thinking and communication skills we've developed on the job often fail us when we face more-complex challenges. That is why we are learning DDD. Rather than double down on code-specific solutions, we are developing different, more effective conceptual approaches. Yet, there is an underlying skillset the nourishes and supports our ability to practice DDD or any approach that challenges traditional "power" structures. In this workshop, we'll focus on that skillset.

  39. 23

    Balancing upfront design versus iterative design

    We want early feedback to inform foundational or load-bearing decision making before committing to hard/expensive to change design decisions. But we don’t want to start building based on flawed design decisions, the consequences of which are hard/expensive to change when we discover it is faulty. The problem is, how do we balance these two polarities from an either-or to both-and thinking. In this session, we will explore contexts and tradeoffs in upfront design versus iterative design. Joining us to share their perspectives and experiences in a never-ending discussion are: *Dawn Ahukanna (Design Principal and Front-End Architect) *Rebecca Wirfs-Brock (Architecture, Design Heuristics, and Agile Practices) *Diana Montalion (Architecting content systems strategies for enterprise) *Vladik Khononov (Software Engineer and Cloud Architect) and *Trond Hjorteland (IT Architect and aspiring sociotechnical systems designer). We will facilitate using a polarity map from Barry Johnson to guide the conversation and find out the patterns and signs to observe to start managing these polarities for yourselves.

  40. 22

    Virtual Lean Coffee Fishbowl: UX, DDD and BDD - take 2

    It all started with a tweet by John Cutler "Wonder how many BBD / DDD enthusiasts are aware of the body of similar work in #ux research and vica versa". And it seemed that a lot of people from these communities learned a lot from each other. And we would love to learn more about different areas of overlap. It seems like goals and culture are aligned in both communities. Join us in our second Virtual Lean Coffee, where a panel of around 15 people from the UX, DDD and BDD community will exchange topics that overlap with each community. The great thing is, you can participate because we are making the Lean Coffee a fishbowl! Join zoom and join us live in the discussion, or just sit back and enjoy the stream from youtube and ask questions in the chat! Hope to see you there!

  41. 21

    #DDDDD: Bounded Contexts, Microservices, and Everything In Between

    “95% of the words are spent extolling the benefits of ‘modularity’ and that little, if anything, is said about how to achieve it” - Glenford J. Myers, 1978. This quote is 40 years old. Today, 4 decades later, nothing has changed except terminology. Time to change this. I want to talk about the various strategies of decomposing systems into modular components. You will learn what exactly Bounded Contexts and Microservices are, and what are the differences between the two notions. We will analyze what happens between services - how data flows, and how these flows can be optimized. Ultimately, we will explore different decomposition strategies and heuristics for designing modular systems - systems that aren’t driven by ever-changing fads, but by your business needs.

  42. 20

    [DDD London] DDD-Lite: Independent Service Heuristics with Matthew Skelton

    When designing organizations for fast flow of change, we need to find effective boundaries between different streams of change. Techniques like Domain-Driven Design (DDD) are very powerful for this but can be quite involved and difficult to learn. A lightweight intermediate approach is to ask "could this thing be run as a cloud-hosted (SaaS) service or product?". This session explores the Independent Service Heuristics, a kind of “DDD-Lite” approach based on some ideas in the book Team Topologies by Matthew Skelton and Manuel Pais. The Independent Service Heuristics help teams to find candidate services and domains for running as a separate value stream or separate service. The Independent Service Heuristics have proven useful for various organizations improving flow. In this session, we would really welcome feedback and critique of the approach. Where might the approach not work? What pitfalls might there be? Are there questions or material missing? See the Independent Service Heuristics on GitHub at https://github.com/TeamTopologies/Independent-Service-Heuristics - send a Pull Request! The material is Creative Commons CC BY-SA.

  43. 19

    How to improve modelling with Behaviour-driven development

    Behaviour Driven Development (BDD) is a term that was coined by Dan North in 2006. It came about as a response to a very specific problem – teaching developers how to think about testing their code. It incorporates the ubiquitous language idea from Eric Evan’s book Domain-Driven Design, and this evolved into a technique used by the whole team to collaboratively specify how the finished system should behave. While both approaches focus on collaboration, DDD focuses on a shared model for building software and BDD focusses on specifying the behaviour of the system. So what can we learn from both our techniques? Join us in this session were Seb Rose, Steve Tooke and Matt Wynne will discuss with us how we can improve modelling with BDD. We will bust popular BDD myths and talk about their favourite collaboration techniques.

  44. 18

    How cognitive biases and ranking kills your modelling sessions

    The power of collaborative modelling comes from having a diverse group of people who, together, have a lot of wisdom and knowledge. You would expect that all this knowledge will be put to use, co-creating, and to design a model. In reality, we don’t actually listen to all the available input and perspectives due to cognitive biases and ranking. Good modelling needs all the insights and perception to design the best one. If you are not aware, cognitive biases and ranking kills those insights and kills the effectiveness of your models! Join us in this session talking with Evelyn van Kelle, Romeu Moura and Vanessa Schwegler about how awareness of your own cognitive biases and your ranking in the group can create more effective models! We will discuss how to use biases and ranking in your favour, making sure people are not excluded, and every knowledge is rally heard and put to good use in your models!

  45. 17

    Secure by Domain-driven design with Jessica, Dan Bergh and Daniel

    Let's talk about the confluence between domain-driven design and security. Deep understanding of the domain lets us define what we DO want to happen, which helps us stop things that we DON'T want to happen. Jessica Kerr will start the meeting up with an exposition of her favorite parts of the book Secure By Design and together with Dan Bergh Johnsson and Daniel Deogun we will do a panel discussion and Q&A. Come add your perspective at the Virtual DDD meetup.

  46. 16

    Lost in bounded context translations with Julie, Indu, Michael and Nick

    Language is a big topic in the Domain-Driven Design community. We want to have small bounded contexts, each with there own ubiquitous language. Having many ubiquitous languages means having a lot of translation between the bounded context. And having many translations means we can get lost. So what is the nuance between internal and external bounded context or services translation? Join us in a conversation with Julie Lerman, Indu Alagarsamy, Michael Plod and Nick Tune to talk about these nuances. We will talk about all the concept of dealing with these translations. From Anti-corruption, interchange, gateway, upcasting events plus the relationship patterns like the conformist, partnership and newer patterns.

  47. 15

    Virtual Lean Coffee Fishbowl: UX, DDD and BDD

    It all started with a tweet by John Cutler . And it seemed that a lot of people from these communities learned a lot from each other. And we would love to learn more about different areas of overlap. It seems like goals and culture are aligned in both communities.

  48. 14

    How feature branching affects domain-driven design with Thierry de Pauw

    Feature branching is again gaining in popularity due to the rise of distributed version control systems. Although branch creation has become very easy, it comes with a specific cost. Long living branches break the flow of the software delivery process, impacting throughput and stability, but does it also affect the quality of our domain model? Join us with Thierry de Pauw in this Virtual DDD sessions to explore with us how feature branching can impact domain-driven design. Because one of the critical aspects of DDD is to keep gaining new insights together to create a rich and rigid domain model. For this, we need fast feedback which could be disabled by feature branching.

  49. 13

    Combatting the Near Enemies of Domain Driven Design at Scale

    For the past decade and a half, Domain-Driven Design has been giving teams the tools to successfully tackle the complexity at the heart of software. But lots of people fail when they try to put its techniques and patterns into practise, especially at scale. Why? It can't just be because the Bluebook is so thick? We're going to argue that the "near enemies" of DDD are to blame. Things which look like DDD, but which are in fact counterfeits that push us farther away from our goal. Join us with Gayathri and Andrew who will tell the story of a large-scale DDD implementation that got complicated. They'll talk about how took stock of the situation as they found it, how they identified where the root problems lay, how they set everyone off on a course of success, and the mistakes we made along the way. Regardless of whether you are working with serverless, microservices or a more monolithic architecture (nothing wrong there!) - this fun talk is for those who want to learn the lessons of implementing DDD at scale, with a healthy dose of pitfalls and hazards to watch out for too

  50. 12

    Does a Domain-driven design approach need an agile business?

    On twitter, a discussion started between Trond, Anton and Krisztina about working in agile product development without a clear business goal. Since twitter is a restricted medium to discuss these issues, we are taking it upon our VirtualDDD Meetup. Join us with Trond, Anton and Krisztina and let's have an honest discussion about what it means to work agile. What are the pros and cons? We dig into the underlying principles and philosophy of agile, diving into the practical instead of the theoretics of business agility. Do we need the business to be agile to do proper Domain-driven design, and what are the overlaps between agile and Domain-driven design?

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

No matches for "" in this podcast's transcripts.

Showing of matches

No topics indexed yet for this podcast.

Loading reviews...

ABOUT THIS SHOW

If you don't live near an active Domain Driven Design meetup, or just want to get more in-depth knowledge of DDD, please join this vast growing community! Anyone is invited here.We strive to create a community of like-minded people eager to dive more into Domain Driven Design. We are going to organise panel discussions, community talks and more.So feel free to join us!

HOSTED BY

Virtual Domain-driven design

CATEGORIES

URL copied to clipboard!