SATURN 2018 has ended
Welcome to the SATURN 2018 program! Be sure to create a login for Sched.com and start building your program online.
Wednesday, May 9 • 1:30pm - 2:00pm
Architectural Hoisting: Or How I Learned to Stop Writing Breaking Code and Love the Architecture

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.
Documentation is an essential analysis and education tool—but documentation alone will not keep your design intent in sync with the emerging software system. Even the most disciplined and dedicated developers will make mistakes, whether by accident or ignorance. The only way to enforce the architecture is to hoist design constraints into the code itself.

Architectural hoisting is a design technique proposed by George Fairbanks in which the responsibilities for enforcing a design decision are implemented in the code instead of relying only on disciplined developers. Architectural hoisting has many benefits beyond enforcement. Hoisting key design decisions helps promote maintainability and readability via architecturally evident code. Hoisted systems are easier to learn and navigate and provide great peace of mind that the quality attributes designed for will actually appear in the built and deployed system.

This talk shares experiences with architectural hoisting in microservices built for IBM Watson. By the end of the talk attendees will know what architectural hoisting is, how it can help you write better software, and see concrete examples in Go and Java.

See the slides.
Watch the video.

avatar for Charles Gala

Charles Gala

Charles Gala is a software engineer at IBM Watson, working on machine learning powered information retrieval for Watson Discovery Service. He has a research background in machine learning and pattern recognition techniques using live video. Charles has a master's degree in computer... Read More →
avatar for Michael Keeling

Michael Keeling

IBM Watson
Michael Keeling is a software engineer at IBM, where he helps build Watson and has worked in the software industry for more than a decade. He is author of the book Design It! From Programmer to Software Architect. Keeling has a master’s degree in software engineering from Carnegie Mellon University and a bachelor’s degree in computer science from the College of William and Mary... Read More →
avatar for Joe Runde

Joe Runde

IBM Watson
Joe Runde is a software engineer who recently started his career at IBM. There he works on Watson while teaching about machine learning methods and learning about software design from many smarter folks. Runde studied computer science at Oregon State University and machine learning... Read More →

Wednesday May 9, 2018 1:30pm - 2:00pm CDT
Prairie C Hilton Dallas/Plano Granite Park