Design for additional requirements, or not?

Do you need architecture when doing agile development? The philosophy of Agile is to do the least amount of something and no more for a given situation, but is this always a good approach? 

The question to be solved is how to write code that is extensible, and easy to modify, without refactoring to much and thus increasing technical dept. 

For example, you work for a company with business in several countries, and you are developing a new small system for one country. Should you prepare the code to handle several countries, several languages at once? Even is this is not a requirement from the sponsor, as he is not responsible for other countries.

You design a system for internal users only. Should you prepare so the system also could be used by partners and external customers? Even if there only will be internal users the next year and the stakeholders say fix it as quick k as possible.

The other systems is batch-oriented, and uses only ftp for file transfer. Should you prepare for use of web-services and more real-time integration even if the product owner is sure that the old interfaces are good enough.

As an experienced software developer and solution architect, you know that those requirements will arise in the future, even if your customer don’t want these features now.

Without an architecture, either written down or known by long experience how to develop flexible code, you even don’t know that these questions are to be asked.