Architecture and Implementation

Learn about implementation-level practices in the context of architecture.

Software code is an implementation of the architecture. Therefore, architectural guidance is necessary during the development process.

In this lesson, I want to briefly touch on important software architecture topics that affect coding and implementation.

Tactical Domain-Driven Design

While the strategic area of Domain-Driven Design affects the higher-level structure of the entire enterprise, the tactical part of DDD is a vital technique for implementation, helping manage codebase complexity and bridge the gap between developers and problem space SMEsSubject Matter Experts.

Tactical DDD is a complex and rare skill that requires the purposeful education of engineering teams. While acting as a software architect throughout my career, I always ensure that I set clear expectations with developers about learning and following DDD in code. It makes a big difference when an architect explicitly sets a high bar for engineering excellence with practices, such as Model-Driven Design and DDD.

You can learn more about tactical DDD in a famous big blue book: “Domain Driven Design” by Eric Evans.

When applying the above advice to real-life situations, initiate technical discussions with engineers, and use tactical DDD terms when explaining solutions. Listen to their responses, and try to align language around proper patterns and practices. A shifting mindset is the responsibility of those senior team members who know advanced topics, such as DDD and modeling.

Get hands-on with 1400+ tech skills courses.