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