Just delete it!

Are we creating big balls of mud within our applications?

Is an abstraction necessary or is it going to couple the code to the implementation?

Can I achieve code isolation without overcomplicating?

The challenge is to reach the nirvana of simple code isolation verse complex code abstraction. But is it realistically obtainable? The challenge is set: implement patterns that will allow us to just delete & rewrite code in days instead of weeks, weeks instead of months, and months instead of ... version 2.


  • Cover abstraction patterns that over-complicate code
  • Apply isolation patterns that will isolate code and functionality
  • Demonstrate how we can consistently find "red flags" and stop the complexity before it starts


This talk will appeal to all levels.

The "ball of mud" issues seem to appear at every level.

Johnny recently said that "all code is perfect at the first commit." The trick is how to prevent major rewrites with the subsequent commits.