I agree with most of what you’ve got in this article, except this part:
“Tests can be expensive to develop and maintain, especially when the product and code are in flux.”
This is only true in my experience for integration tests that overlap what should really be tested at the unit-test level. If you’re changing things frequently, you will go much faster if you can press a button and know if you broke something than if you have to manually refresh the app and run through the steps to exercise the code yourself.
“Because it’s human nature to over-estimate the risk and cost of possible problems,”
This misses the point that tests, if done correctly, can make you go faster (especially if the code has high churn), and therefore may be worth doing regardless of your perceived risk.