Question: I know that the default answer is "it depends", but I want to know the feature list you are working from in developing a good application.

I'm particularly interested in features that need to be cared about at design time because adding them late will cost us a lot.

**Please list one feature per answer so we can vote for the most important features.**

Any extra info, like your own war stories, will be appreciated.

I ask this question to enhance my application from day zero, and I think I'm not the only one with this target, so please write whatever feature YOU think should be exist in a good application.

Answer: 
**Automation** - if application does not require UI for operation, then enable ability to execute using command line or script. Found many good FTP tools (archive tools too) that fundamentally do not need a UI to do the intended job, but are not script-able or do not have command line capability.
**Modularity
- Productivity
- Extensibility**

That's are the overall design goals of - let's say - [Smart Client Software Factory](http://msdn.microsoft.com/en-us/library/cc540690.aspx). And it works.