I disagree with this article. The main driver of agile in my opinion is admitting you really don’t know exactly what you want to build, and you will keep your refactoring costs low in order to iterate. Efficiency misses the point entirely.