The architecture should be the following
Simple
Security issues addressed
Documented
		 - the ables ;)
	
Reusable
Maintainable
Reliable
Extensible
Scalable
Readable
Portable
Microsoft Communities