Too busy to blog much at the moment, but if you want to read something thoughtful, I recommend that you read the Prefer Design Skills article by Martin Fowler. Fowler is one of the deep thinkers in software development. He wrote the book on refactoring. refactoring is nowadays one of the basic techniques of agile software development. Refactoring is also a cornerstone in design methods like Kent Beck's Test-Driven Design (TDD) and Behavior-Driven Design. Done correctly, refactoring can totally transform the economics of maintaining and developing code. In conjunction with a few other things, that is. Prefer Design Skills , is one of those things, and it is often overlooked. The reason, I believe, is that Prefer Design Skills is a management pattern. In many organizations there is an unfortunate disconnect between what software developers do, and what management does. For example, companies invest vast amounts of money in object oriented tools and languages every year. These tools