BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage Methodologies Content on InfoQ

  • Finding Bounded Contexts Using Domain Storytelling

    When working with Domain-Driven Design (DDD), bounded context is a core concept. Domain storytelling is a way of finding how people and systems work together within a domain which then can be used to identify the bounded contexts and how they are interconnected, Stefan Hofer and Henning Schwentner explained at the recent DDD Europe 2018 conference in Amsterdam.

  • Retroactive and Future Events in an Event Sourced System

    When Thomas Pierrain started a new project with an asset management company, one important requirement was the ability to go back in time to understand why they took decisions that today look strange. At the recent DDD Europe 2018 conference in Amsterdam, Pierrain discussed his experiences when building an event sourced system that included some temporal challenges.

  • Evolving CQRS and Event Sourced Systems

    After talking with people about upgrading of CQRS and event sourced systems, Michiel Overeem came to the conclusion that many working with event sourced systems lack an understanding and don’t know how to approach the problem. At the recent DDD Europe 2018 conference in Amsterdam he described how this was a trigger for him to do an exploratory research on how to evolve this kind of system.

  • Eric Evans: Practicing Domain-Driven Design

    For Eric Evans, who gave a keynote at the recent DDD Europe 2018 conference in Amsterdam, it’s important to explore and practice building software. He enjoys working with strategic patterns in Domain-Driven Design (DDD), but what he finds really interesting is taking a difficult domain and reason about it differently; breaking out of the mental box trying to find new concepts.

  • Firefox Quantum Commits to Cross-Browser Extension Architecture

    With the Firefox 57 “Quantum” release, Firefox now only supports extensions based on the WebExtensions API, joining Chrome and Edge in supporting extension development with pure HTML, CSS, and JavaScript based on a cross-browser shared extension architecture.

  • Selecting an Event Architecture

    When designing a distributed system, maybe based on microservices, and you are considering an event architecture, there are several models and technologies available. When choosing how to implement the architecture the non-functional requirements are a main factor, David Dawson claims when describing different styles of event architectures in a recent blog post.

  • First Annual Retrospective Report Published

    The First Annual Retrospective Report provides a deeper understanding of how retrospectives are used in the real world. The results indicate that retrospectives lead to improved team communication and productivity and help to create an environment of trust. Major challenges are that topics discussed cannot be solved by the team and people do not feel comfortable speaking up.

  • Process Managers in Event-Based Systems

    Publishing events to notify about changes in a domain keeps different domains decoupled from each other, but if there really is a logical flow of events it becomes implicit and hard to follow. A better solution is to use a Process Manager to keep track of the overall process, Bernd Rücker stated in his presentation at this year’s DDD eXchange conference.

  • Capture - Embed - Protect, Guidelines for Domain-Driven Design

    When using the core philosophy and the practices of DDD as guidelines for software design and development, they can be summarized in three principles: Capture – Embed – Protect, Steven A. Lowe claimed in his presentation at this year’s DDD eXchange conference. Capture the domain model. Embed the model in the code. Protect the domain model from corruption from other domains.

  • Strategy for Mobile and Web Test Coverage

    Teams need to match testing with the market usage patterns across geographies of their apps as consumers are expecting smooth apps functionality across all digital channels. Here's a methodology and index for considering device/OS combinations together with other characteristics like aging, screen parameters and other testing related guidelines for data driven test coverage of the mobile market.

  • The Importance of Patterns in DDD

    There are lots of patterns outside of Domain-Driven Design (DDD) that are important to know, and they will help you design better systems, Cyrille Martraire claimed in his presentation at the recent DDD Europe Conference in Amsterdam when discussing the importance of patterns.

  • Eric Evans: DDD is Not for Perfectionists

    A problem with Domain-Driven Design (DDD) since the beginning has been the too common hunt for perfect designs, but DDD is not for perfectionists. In order to stop that hunt you need to have some idea of how to create software that is well designed, yet not perfect, Eric Evans noted in his presentation at the recent DDD Europe Conference in Amsterdam.

  • The Dangers of If Statements in Domain Logic

    The if statement found in most programming languages has two major roles, validating input to protect the domain from erroneous data, and for dealing with business logic inside the domain. Unfortunately, we spend too little time managing the risks from a business or domain perspective, Udi Dahan claimed in his presentation at the recent DDD Europe Conference in Amsterdam.

  • Bringing the Domain Back to Software Development

    If you read the business press of today, you will find that the business side of the world sees IT as an impediment that holds them back. To overcome this, we need to shift focus from the machines to the domains and start reading and learning about the domains we are working in, David West noted in his presentation at the recent DDD Europe Conference in Amsterdam.

  • Start with Events and DDD When Building Microservices

    Domain-Driven Design (DDD) is a great technique bringing designs closer to the domains we are working in, but too often we make early decisions with a focus on structure, which is not the intention of DDD. Instead we should start with the events in a domain, Russ Miles claims when describing the advantages of going “events-first” when building microservices.

BT