Refactoring to Deeper Insight: Lessons Learned Applying Domain-Driven Design (DDD) - Paul Rayner and Dan Sharp
This presentation shows what we learned during a recent redesign of the video camera support in Nexia Home Intelligence (www.nexiahome.com). 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 pair programming, TDD, and Domain-Driven Design (DDD) techniques enabled us to make significant improvements to the performance and maintainability of the Nexia codebase, while continuing to deliver new customer features.
6:30pm - 7pm Food & drink (including alcohol) provided and conversation - a big thanks to Code Talent for sponsoring the catering!
7pm - Announcements
7:05pm - Main presentation - Dan & Paul
~8:30pm - Conversation
About the Presenters
Paul Rayner is one of the world’s leading BDD and DDD 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 and BDD. He lives in Denver with his wife, son, daughter, and Australian Kelpie.
Dan Sharp is a life-long geek, having been fascinated with computers since early childhood. He cut his teeth on Java and PHP, but found Ruby via Ruby on Rails in 2005. Dan is Senior Software Architect for the Nexia™ team at Ingersoll Rand, affording him the luxury of a startup environment backed by a multi-billion dollar company. He has spoken at multiple conferences on Agile and TDD-related topics. He resides in Erie, CO with his wife and two children.