Pluggable systems (loose coupling) are the easiest way to create a system that is cheap and easy to maintain. I've found that a lot of Rails developers in particular don't see the benefits of this and they really, really like tightly coupled systems because of the convenience of it all. Benefits like fast, easy testing, easier maintenance, swappable external things like databases, queues, external api's are apparentl…
* http://www.infoq.com/news/2012/02/programmer-anarchy
* http://www.youtube.com/watch?v=uk-CF7klLdA
Edit: would help if I actually added some links