I came across a simple document which outlining the basic principles on designing good software. I think it is pretty good.

In case you want to check it out, you can find it in http://www.w3.org/DesignIssues/Principles.html