Yes, article is good, but the first thing I noticed: with every new concept source becomes bigger and bigger and bigger even for such small example. The bigger source the more bugs. The bigger source the more time one needs to write it. Yes, testability is good but when usual development time is about 6 mnth and life span of the app 1..2 years, time spent on development and fixing bugs becomes essential. Of course, we are not talking about Facebook, Gmail, and such.