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: 
**Performance** (read that as latency if you wish).

Despite zillions of people shouting premature optimisation across the board, it is a simple functional requirement. Be different and defy with better quality (or design for performance, not premature-optimisation pickers). 

There are no other projects in the world requiring perf-retrofitting more than VM like solution in Java and CLR. It is a glaring artifact of their every product, technology, edition and of course bloat called: .NET 3.5 and say Oracle 200MB client (lol).

VMs just suck in every new feature perf-hit, edition and build apps on that and you honestly need a Cray.

Scalability is totally different story, but man, people just won't use high-latency apps and most CLR ones (apart from web stuff that is just plain simple and unapplicable 60% of the time say, like this site/app ) are just that. Load something serious them up and you'll be running to unmanaged office, unmanaged IDE, unmanaged database, unmanaged game, umanaged browser and so on and on.

Somebody should whack the GC lovers with a bat and tell them to wake up..
**Comments.** Implement an internal standard comment system (first, document it!) - an automated comment documentation system may be right, or just a set of standard program header comments and comment conventions. Let programmers know in advance how you expect the code to be commented. Have cross-programmer code reviews, checking readability/understandability with an eye to future modification: if you're the next person to work on this code, will it make sense to you?