deliver:Agile 2019 has ended
Back To Schedule
Monday, April 29 • 4:15pm - 5:00pm
Breaking the Monolith: Simplifying complex systems by working backwards to deliver results (Rick Garibay)

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.

If you’re a software developer, chances are you like to innovate. But how often do you really start with a greenfield project?
More often than not, innovation requires either deprecating and/or simplifying/improving existing software to deliver something better or different than what customers were satisfied with before.
Everyone's encountered that dreadful moment when your project requires you to make a change to an existing piece of code. If you’re lucky, you have unit tests that fire green before you make the change. But what do you do when you are not so lucky? Taking it one step further, imagine you've been asked to deprecate one or more components in a highly distributed system that's used by thousands/millions of customers? Maybe you're a domain expert in the system or have limited to no domain expertise. Where do you start? What replaces the existing component(s) and how do you ensure you don't break customers as you replace the old thing with the new?
In this talk, Rick G. Garibay, Principal Engineer @ Amazon will share patterns and techniques he's developed over the last 18 years for embracing change while reducing technical debt. You'll learn proven techniques for deprecating and simplifying existing software while working backwards from your customers to deliver results.

Learning Outcomes:
  • 1. Learn how to determine the complexity of the domain that you are operating and corresponding constraints to guide your architecture and detailed design and build the right feedback loops to learn quickly and fail fast.
  • 2. Learn techniques for identifying existing business capabilities and rationalizing how to factor, deprecate or redistribute concerns within your domain incrementally.
  • 3. Learn real-world patterns and techniques for working more effectively with legacy code including code reading and refactoring techniques, identifying and extracting functional seams for separating concerns and establishing release practices that allow you to test changes in isolation (and yes, sometimes even in production).



Monday April 29, 2019 4:15pm - 5:00pm CDT
Hermitage Ballroom C