Paul Rayner is one of the world’s leading DDD and BDD practitioners. He is a programmer, coach, mentor, trainer, and popular international conference speaker. With over 25 years of hands-on software development experience in a variety of industries, Paul is a seasoned agile design coach and leadership mentor, helping teams ignite their design skills via DDD, BDD and UXD.
His company Virtual Genius LLC, provides training and coaching in collaborative design for agile teams. Paul is from Perth, Australia, but chooses to live, work and play with his wife and two children, in Denver, Colorado. He tweets with an Australian accent at @ThePaulRayner and blogs at thepaulrayner.com.
This presentation shows what we learned during a redesign of the video camera support in Nexia Home Intelligence. Nexia is a large-scale Ruby on Rails application with a customer base using tens of thousands of video cameras. We’ll walk through examples of key design decisions and show code samples to illustrate refactoring the video camera code towards ubiquitous language, a rich domain model, better performance and scalability, and cleaner module boundaries. Learn how applying Domain-Driven Design (DDD), pair-programming, and TDD enabled us to make significant improvements to the performance and maintainability of the Nexia codebase, while continuing to deliver new customer features.
Are you new to DDD? Struggling to understand what exactly DDD is? Feeling overwhelmed by the vast amount of DDD material/advice available? Or maybe you're unsure how to apply DDD on your project work? If you fit into one of these categories, then this workshop is for you. It's easy to get lost in the patterns and acronyms and miss the essence of DDD.
This workshop will provide you with a solid grounding in the foundational ideas, techniques and skills for doing DDD well in your own project context.
Learning Objectives This workshop will cover the following: