Calendar

This is my current calendar of speaking events. More details on the talks are listed below the calendar

2020-10-29T10:00:00

  days

  hours  minutes  seconds

until

{API: World}

O’Reilly – About the Software Architecture Superstream Series November 11, 2020 @ 12:00 pm PDT

 Modernizing an Existing System to Take a Domain-Driven Approach

Domain-driven design seems straightforward when looking at greenfield development. Implementing DDD in an existing enterprise system, however, is daunting. Here’s something to make the process easier. We will walk through a step-by-step refactoring of a non-DDD SOA-based system using DDD approaches, especially command-query responsibility segregation (CQRS) and event sourcing patterns.

{API: World} October 29, 2020 @ 10:00 am PDT

Software Refactoring Patterns for Moving to Microservices
Dependence on APIs and microservices will continue to grow as development teams gain experience in this approach. New development is pretty straightforward around this approach. Refactoring existing systems, however, is not. In this session, we will go over the primary refactor design patterns, look at how they can be implemented, and tell some stories (some funny, some scary) about their usage in real-life.

.NET Developer Days 2020 October 21, 2020 @ 05:45 am PDT

Modernizing an existing system to take a more domain-driven approach
Domain-driven design seems “straight-forward” when looking at green field development. Implementing that in an existing enterprise system, however, is daunting. In this session we will go over some of the refactoring patterns that support this change and we will demonstrate the steps necessary to refactor a non-DDD SOA-based system using DDD approaches. We will talk about the kinds of decisions that have to be made, when they need to be made, and what those decisions look like in the grand scheme of your refactor. You can download the deck here.

NDC Sydney October 14, 2020 @ 4:20 pm PDT

Modernizing an existing system to take a more domain-driven approach
Domain-driven design seems ‘straight-forward’ when looking at green field development. Implementing that in an existing enterprise system, however, is daunting. In this workshop we will demonstrate the steps necessary in refactoring a non-DDD SOA-based system using DDD approaches, especially Command-Query Responsibility Segregation (CQRS) and Event Sourcing patterns. We will talk about the kinds of decisions that have to be made, when they need to be made, and how to recover from bad decisions. The use of a service-oriented architecture is not new. There are thousands of existing enterprise systems that are built using SOA. This would typically look like a set of ‘client applications’ that talk to a set of ‘back-end services’ that were designed using a one-size-fits-all approach, where the representation of a persisted object is a union of all the business needs. The growth in domain-driven design shows how that may not be the best approach. You can download the deck from here.

TDevConf October 3, 2020 @ 11:40 am PDT

Modernizing an existing system to take a more domain-driven approach
Domain-driven design seems ‘straight-forward’ when looking at green field development. Implementing that in an existing enterprise system, however, is daunting. In this workshop we will demonstrate the steps necessary in refactoring a non-DDD SOA-based system using DDD approaches, especially Command-Query Responsibility Segregation (CQRS) and Event Sourcing patterns. We will talk about the kinds of decisions that have to be made, when they need to be made, and how to recover from bad decisions. The use of a service-oriented architecture is not new. There are thousands of existing enterprise systems that are built using SOA. This would typically look like a set of ‘client applications’ that talk to a set of ‘back-end services’ that were designed using a one-size-fits-all approach, where the representation of a persisted object is a union of all the business needs. The growth in domain-driven design shows how that may not be the best approach.

DeveloperWeek Global: Cloud September 30, 2020 @ 10:30 am PDT

Refactor or Replace: Evolving a Software System
Software systems age just like living entities; they have a period of robust life and then start to get slower and more fragile over time. At some point you have to take an objective look at your system and determine whether you can refactor it back into robustness, or whether your best option is to simply replace it. In this session we will go over the factors that play into this determination, including current architectural design and code smells, development team experience, SDLC processes, risk tolerance, and leadership. We will also work through several high-level approaches to managing both refactoring and replacement efforts. Download the deck from here.