Knock Down Your House: Refactoring and The Creative Process
How I learned that writing code is like any other creative process--sometimes refactoring means you have to kill your darlings. 
Tags: refactoring, oop