First off, I apologize. I was in a horrible mood when I left this post, and you struck a nerve. I appreciate the discussion.
I don't understand this dichotomy between needing to ship, and creating quality software. It only exists because of the tools we choose to use. The techniques he discusses in this article I feel are founded in (pure) functional programming. These techniques have been around for quite some time. I have been using these techniques in languages from Haskell to C/C++ as much as possible, and they have vastly increased the quality of the software I write (measured in defects). I also do not feel they have slowed me down much at all. In fact, they really have forced me to think more about the problems I am solving and in the end creating better solutions faster (instead of constantly refactoring and unit testing).
I don't understand this dichotomy between needing to ship, and creating quality software. It only exists because of the tools we choose to use. The techniques he discusses in this article I feel are founded in (pure) functional programming. These techniques have been around for quite some time. I have been using these techniques in languages from Haskell to C/C++ as much as possible, and they have vastly increased the quality of the software I write (measured in defects). I also do not feel they have slowed me down much at all. In fact, they really have forced me to think more about the problems I am solving and in the end creating better solutions faster (instead of constantly refactoring and unit testing).